[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fi_njEXPntbrSsklI6Cg2oaPole4JlCCt85aY802niTU":3,"$fP4Bs2ETLedN4e8rJqLwz6r7qLo7VPW36daUC_AJKVKs":225,"$fbCAolDen_tKKevFQ2vrBjVGwvdolPf-NtvRdKEyfjOI":229},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":36,"analysis":130,"fingerprints":201},"duplicate-attribute","Duplicate Attribute","1.0","ALEX ARCIGA","https:\u002F\u002Fprofiles.wordpress.org\u002Fxpressionsd\u002F","\u003Cp>This plugin adds a “Duplicate Attribute” page under \u003Cstrong>Products\u003C\u002Fstrong> in the WordPress admin, allowing you to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Duplicate WooCommerce global product attributes\u003C\u002Fli>\n\u003Cli>Copy all attribute settings (name, slug, type, order by, visibility)\u003C\u002Fli>\n\u003Cli>Copy all attribute terms in the same order\u003C\u002Fli>\n\u003Cli>Copy all term meta (e.g. color preview codes, custom fields)\u003C\u002Fli>\n\u003Cli>Preserve parent\u002Fchild hierarchy for terms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Perfect if you need to quickly replicate existing attribute taxonomies for new products or stores.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPL v2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it.\u003C\u002Fp>\n","Duplicate WooCommerce global product attributes including all terms, term order, and term meta (like color previews).",100,581,0,"2025-09-24T05:04:00.000Z","6.8.6","5.6","7.4",[19,20,21,22,23],"attributes","duplicate","products","taxonomy","woocommerce","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduplicate-attribute.1.0.zip",null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":11,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"xpressionsd",1,30,94,"2026-08-29T01:40:57.830Z",[37,61,79,97,114],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":15,"requires_at_least":50,"requires_php":17,"tags":51,"homepage":57,"download_link":58,"security_score":59,"vuln_count":32,"unpatched_count":13,"last_vuln_date":60,"fetched_at":27},"linked-variation-for-woocommerce","Linked Variation for WooCommerce","2.0.3","Razon Komar Pal","https:\u002F\u002Fprofiles.wordpress.org\u002Fraazon\u002F","\u003Cp>Linked products by selected woocommerce attributes, a simple way to handle complex product variation.\u003C\u002Fp>\n\u003Cp>If you wish to take a look at this plugin how it works then \u003Ca href=\"https:\u002F\u002Fdemos.devsace.com\u002Fplugins\u002Flinked-variation-for-woocommerce\u002Fproduct\u002Fiphone-12-black-64gb\" rel=\"nofollow ugc\">see demo\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Core Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create swap links between separate products in your store.\u003C\u002Fli>\n\u003Cli>Link different versions of a product together without using variations.\u003C\u002Fli>\n\u003Cli>Shorting variations and able to on\u002Foff product image.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To know how to use, visit the website for \u003Ca href=\"https:\u002F\u002Fdemos.devsace.com\u002Fplugins\u002Flinked-variation-for-woocommerce\u002Fvideo-documentation\u002F\" rel=\"nofollow ugc\">video documentation\u003C\u002Fa>.\u003C\u002Fp>\n","Linked separate products together by product attributes and More. Needs WooCommerce to work.",400,9261,92,10,"2025-05-24T15:35:00.000Z","6.0",[52,53,54,55,56],"linked-variation","variation","woocommerce-attributes","woocommerce-products","woocommerce-variation","https:\u002F\u002Fraazon.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flinked-variation-for-woocommerce.2.0.3.zip",91,"2024-10-14 00:00:00",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":11,"num_ratings":32,"last_updated":71,"tested_up_to":15,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":77,"download_link":78,"security_score":47,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"duplicate-products-report","Duplicate Products Report for WooCommerce","1.0.2","KosTeams","https:\u002F\u002Fprofiles.wordpress.org\u002Fpro100kostia\u002F","\u003Cp>Duplicate Products Report for WooCommerce is a WordPress plugin that helps you identify duplicate products in your WooCommerce store. It generates a report based on product names and SKUs, making it easier for you to manage your inventory and ensure data accuracy.\u003C\u002Fp>\n\u003Cp>Key features:\u003Cbr \u002F>\n– Generate a report on duplicate products by name and article (SKU).\u003Cbr \u002F>\n– View duplicates by name or by SKU.\u003Cbr \u002F>\n– Easily navigate to edit product pages from the report.\u003Cbr \u002F>\n– Ensure data accuracy and manage your inventory effectively.\u003C\u002Fp>\n\u003Ch3>Tested with\u003C\u002Fh3>\n\u003Cp>This plugin has been tested with:\u003Cbr \u002F>\n* WordPress 6.4.3\u003Cbr \u002F>\n* PHP 8.1\u003C\u002Fp>\n","Generates a report on duplicate products by name and article in WooCommerce.",200,69112,"2025-05-27T02:52:00.000Z","5.4","7.0",[75,21,76,23],"duplicates","report","https:\u002F\u002Fgithub.com\u002Fpro-ks\u002Fduplicate-products-report","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduplicate-products-report.1.0.2.zip",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":11,"downloaded":87,"rating":13,"num_ratings":13,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":17,"tags":91,"homepage":24,"download_link":96,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"rt-delete-duplicate-products-for-woocommerce","RT Delete Duplicate Products for WooCommerce","3.3.0","raintech357","https:\u002F\u002Fprofiles.wordpress.org\u002Fraintech357\u002F","\u003Cp>\u003Cstrong>RT Delete Duplicate Products for WooCommerce\u003C\u002Fstrong> is a fast, safe, and easy-to-use store cleanup tool that scans your WooCommerce catalogue for duplicate products and lets you permanently remove them in bulk — all from a modern React-powered admin interface inside your WooCommerce dashboard.\u003C\u002Fp>\n\u003Cp>Duplicate products accumulate through CSV imports, API syncs, migration scripts, and copy-paste mistakes. Left uncleaned, they damage your store’s SEO rankings, confuse customers, and inflate your database. This plugin makes the cleanup process visual, controlled, and irreversible only when you say so.\u003C\u002Fp>\n\u003Ch4>Why Duplicate Products Hurt Your Store\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Duplicate product URLs compete against each other in search engines, splitting ranking authority and suppressing both listings.\u003C\u002Fli>\n\u003Cli>Customers landing on duplicated product pages see inconsistent pricing, stock levels, or descriptions — eroding trust.\u003C\u002Fli>\n\u003Cli>Orphaned product meta, variation records, and postmeta rows from duplicates bloat your database and slow down admin queries.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Three Detection Methods\u003C\u002Fstrong>\u003Cbr \u002F>\nScan your entire product catalogue for duplicates using the method that fits your situation:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>By Title\u003C\u002Fstrong> — finds all published products and product variations sharing an identical name.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>By SKU\u003C\u002Fstrong> — queries the \u003Ccode>_sku\u003C\u002Fcode> postmeta field and surfaces every product or variation sharing the same SKU. Empty SKUs are excluded automatically.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>By Both (Title + SKU)\u003C\u002Fstrong> — runs both scans simultaneously, merges results into a single deduplicated list, so you see every duplicate regardless of how it was created.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Grouped Duplicate View\u003C\u002Fstrong>\u003Cbr \u002F>\nResults are displayed as grouped sets — every duplicate group shows all products that share the same title or SKU together. For each product in a group you can see: product name, SKU, price, stock status, creation date, a direct edit link, and a frontend permalink. All the information you need to decide what to keep and what to delete — without leaving the page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Bulk Selection and Deletion\u003C\u002Fstrong>\u003Cbr \u002F>\nSelect individual products or an entire duplicate group in one click. Delete across multiple groups at once. The plugin reports exactly how many products were deleted and how many (if any) failed, so you always know the outcome.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Keep One, Delete the Rest\u003C\u002Fstrong>\u003Cbr \u002F>\nFor any duplicate group, nominate one product to keep and automatically queue the rest for deletion — the safest and fastest way to resolve each group without manual cherry-picking.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Safe Deletion with Confirmation Guard\u003C\u002Fstrong>\u003Cbr \u002F>\nEvery delete action requires an explicit confirmation step. A modal dialog asks you to confirm before anything is permanently removed — protecting you from accidental bulk deletions.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Permanent Deletion — Bypasses Trash\u003C\u002Fstrong>\u003Cbr \u002F>\nProducts are force-deleted using WooCommerce’s own \u003Ccode>$product->delete( true )\u003C\u002Fcode> — they are not moved to trash. All associated postmeta is removed at the same time. This keeps the database clean and the operation final.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Full Variable Product and Variation Support\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen a variable product is deleted, the plugin first loops through and removes every child variation before deleting the parent. Variation products that are themselves duplicates can also be detected and deleted independently. No orphaned variation rows are left behind.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>React-Powered Admin Interface\u003C\u002Fstrong>\u003Cbr \u002F>\nBuilt with \u003Ccode>@wordpress\u002Fscripts\u003C\u002Fcode> and WordPress’s own component library, the interface looks and feels native to WordPress 6.x. All scanning and deletion happens over a secure internal REST API — no page reloads. RTL layout is fully supported.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Secure REST API\u003C\u002Fstrong>\u003Cbr \u002F>\nAll API endpoints under \u003Ccode>\u002Fwp-json\u002Frtddpw\u002Fv1\u002F\u003C\u002Fcode> require the \u003Ccode>manage_woocommerce\u003C\u002Fcode> capability. The scan endpoint validates the method parameter against an allowlist. The delete endpoint validates and sanitises every product ID before acting. Nonce verification is enforced throughout.\u003C\u002Fp>\n\u003Ch4>Who Is This Plugin For?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Store managers\u003C\u002Fstrong> who have run product imports multiple times and ended up with hundreds of duplicate listings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developers and agencies\u003C\u002Fstrong> migrating a store from another platform and needing to clean up the imported catalogue quickly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Store owners\u003C\u002Fstrong> whose WooCommerce admin is slow and suspect a bloated products table is the cause.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO-focused merchants\u003C\u002Fstrong> who need a clean catalogue with no duplicate URLs competing against each other in search results.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Delete Duplicates\u003C\u002Fstrong> in your WordPress admin.\u003C\u002Fli>\n\u003Cli>Choose your detection method: \u003Cstrong>Title\u003C\u002Fstrong>, \u003Cstrong>SKU\u003C\u002Fstrong>, or \u003Cstrong>Both\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Scan for Duplicates\u003C\u002Fstrong> — the plugin queries your database and returns grouped results instantly.\u003C\u002Fli>\n\u003Cli>Review each group. View the name, SKU, price, stock status, creation date, and links for every product in the group.\u003C\u002Fli>\n\u003Cli>Select the products you want to remove — individually, by group, or across all groups at once.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Delete Selected\u003C\u002Fstrong> and confirm in the dialog.\u003C\u002Fli>\n\u003Cli>The plugin permanently deletes selected products (and their variations if applicable) and shows a deletion summary.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Technical Details\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Detection queries run directly against \u003Ccode>{prefix}_posts\u003C\u002Fcode> and \u003Ccode>{prefix}_postmeta\u003C\u002Fcode> using \u003Ccode>GROUP BY\u003C\u002Fcode> and \u003Ccode>HAVING COUNT(*) > 1\u003C\u002Fcode> — no full table scans.\u003C\u002Fli>\n\u003Cli>Scans cover \u003Ccode>post_type IN ('product', 'product_variation')\u003C\u002Fcode> and \u003Ccode>post_status = 'publish'\u003C\u002Fcode> only. Drafts, pending, private, and trashed products are excluded.\u003C\u002Fli>\n\u003Cli>Admin page is mounted under \u003Cstrong>WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Delete Duplicates\u003C\u002Fstrong> and gated by the \u003Ccode>manage_woocommerce\u003C\u002Fcode> capability.\u003C\u002Fli>\n\u003Cli>REST API namespace: \u003Ccode>rtddpw\u002Fv1\u003C\u002Fcode>. Endpoints: \u003Ccode>GET \u002Fduplicates?method=title|sku|both\u003C\u002Fcode> and \u003Ccode>POST \u002Fdelete\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Built with the \u003Ccode>@wordpress\u002Fscripts\u003C\u002Fcode> build toolchain; dependencies resolved via \u003Ccode>index.asset.php\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Singleton pattern ensures a single plugin instance throughout the request lifecycle.\u003C\u002Fli>\n\u003Cli>Internationalisation-ready — all user-facing strings use \u003Ccode>__()\u003C\u002Fcode> and \u003Ccode>_n()\u003C\u002Fcode> with text domain \u003Ccode>rt-delete-duplicate-products-for-woocommerce\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>RTL stylesheet (\u003Ccode>index-rtl.css\u003C\u002Fcode>) included and loaded automatically for right-to-left languages.\u003C\u002Fli>\n\u003C\u002Ful>\n","Find and permanently delete duplicate WooCommerce products by title, SKU, or both — with bulk selection, group controls, and a built-in confirmation g &hellip;",699,"2026-06-17T16:30:00.000Z","6.9.5","5.8",[92,93,94,23,95],"clean-up-products","delete-duplicates","duplicate-products","woocommerce-cleanup","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frt-delete-duplicate-products-for-woocommerce.zip",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":48,"downloaded":105,"rating":13,"num_ratings":13,"last_updated":106,"tested_up_to":107,"requires_at_least":108,"requires_php":17,"tags":109,"homepage":112,"download_link":113,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"aaweb-bulk-product-attributes-for-woocommerce","AAWEB Bulk Product Attributes for WooCommerce","1.0.0","antoapweb","https:\u002F\u002Fprofiles.wordpress.org\u002Fantoapweb\u002F","\u003Cp>AAWEB Bulk Product Attributes for WooCommerce adds a modern admin screen for assigning WooCommerce global product attributes to multiple products at once.\u003C\u002Fp>\n\u003Cp>The plugin is designed for WooCommerce stores that need faster attribute management without opening each product individually. It provides product filters, checkbox selection, global attribute term selection, append or replace mode and a clearer product table with existing attribute badges.\u003C\u002Fp>\n\u003Ch4>Main Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Bulk assign WooCommerce global attributes to multiple products.\u003C\u002Fli>\n\u003Cli>Supports all WooCommerce global product attributes dynamically.\u003C\u002Fli>\n\u003Cli>Automatically detects newly created WooCommerce attributes after refresh.\u003C\u002Fli>\n\u003Cli>Product filters by title, keyword\u002FSKU\u002Fcontent, category and stock status.\u003C\u002Fli>\n\u003Cli>Append mode to add selected terms without removing existing terms.\u003C\u002Fli>\n\u003Cli>Replace mode to replace existing terms for selected attributes.\u003C\u002Fli>\n\u003Cli>Modern WooCommerce-style admin interface.\u003C\u002Fli>\n\u003Cli>Attribute panels with searchable term lists.\u003C\u002Fli>\n\u003Cli>Select visible terms and clear terms inside each attribute panel.\u003C\u002Fli>\n\u003Cli>Live selected product counter.\u003C\u002Fli>\n\u003Cli>Sticky bulk action bar.\u003C\u002Fli>\n\u003Cli>Product table with image, title, SKU, price, stock, categories and attribute badges.\u003C\u002Fli>\n\u003Cli>Works only inside the WordPress admin area.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Important\u003C\u002Fh4>\n\u003Cp>This plugin works with WooCommerce global attributes created under Products > Attributes. It does not create custom per-product attributes.\u003C\u002Fp>\n","Bulk assign WooCommerce global product attributes to multiple products using filters, bulk actions and a modern admin interface.",124,"2026-06-22T08:49:00.000Z","7.0.2","6.8",[19,110,111,21,23],"bulk-edit","product-attributes","https:\u002F\u002Fantoapweb.gr\u002Faaweb-bulk-product-attributes-for-woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faaweb-bulk-product-attributes-for-woocommerce.1.0.0.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":13,"downloaded":122,"rating":13,"num_ratings":13,"last_updated":123,"tested_up_to":124,"requires_at_least":125,"requires_php":17,"tags":126,"homepage":127,"download_link":128,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":129},"abovewp-bulk-attribute-change","AboveWP Bulk Attribute Change","1.1.0","AboveWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpabove\u002F","\u003Cp>This WordPress plugin allows you to find products with specific attribute terms, remove them, and add a different attribute term instead. It’s designed to be reusable for different attributes and terms.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: This is a developer-oriented tool that requires knowledge of WooCommerce attribute term IDs. It’s intended for technical users who need to perform bulk attribute modifications.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Find products with specific attribute terms\u003C\u002Fli>\n\u003Cli>Remove selected attribute terms\u003C\u002Fli>\n\u003Cli>Add new attribute terms\u003C\u002Fli>\n\u003Cli>Batch processing with configurable size\u003C\u002Fli>\n\u003Cli>Server-driven progress tracking\u003C\u002Fli>\n\u003Cli>Resume functionality\u003C\u002Fli>\n\u003Cli>Automatic retry for failed batches\u003C\u002Fli>\n\u003Cli>Detailed logging\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Reliability Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Server-Driven Progress: Progress calculation is handled entirely by the server for perfect accuracy\u003C\u002Fli>\n\u003Cli>Complete Client-Server Synchronization: Client and server stay perfectly in sync throughout the process\u003C\u002Fli>\n\u003Cli>Product ID Caching: All product IDs are cached at the start to ensure consistent processing\u003C\u002Fli>\n\u003Cli>Resume Functionality: If the process is interrupted, you can resume from where it left off\u003C\u002Fli>\n\u003Cli>Configurable Batch Size: Process up to 100 products per batch for faster operation\u003C\u002Fli>\n\u003Cli>Automatic Retry: Failed batches are automatically retried up to 3 times\u003C\u002Fli>\n\u003Cli>Detailed Logging: Server-side logging helps identify issues\u003C\u002Fli>\n\u003Cli>Extended Timeouts: Longer timeouts to prevent connection issues during processing\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>After activation, go to Tools > Bulk Attribute Change in the WordPress admin menu\u003C\u002Fli>\n\u003Cli>Configure the settings:\n\u003Cul>\n\u003Cli>\u003Cstrong>Attribute\u003C\u002Fstrong>: Select the product attribute to modify (e.g., “Proizvoditel”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Source Term IDs\u003C\u002Fstrong>: Enter the term IDs to remove, separated by commas (e.g., “374,373”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Target Term ID\u003C\u002Fstrong>: Enter the term ID to add (e.g., “371”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Batch Size\u003C\u002Fstrong>: Set the number of products to process in each batch (1-100)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Click “Save Settings” to store your configuration\u003C\u002Fli>\n\u003Cli>Click the “Start Process” button to begin processing products\u003C\u002Fli>\n\u003Cli>The plugin will:\n\u003Cul>\n\u003Cli>Find all products with the specified attribute terms\u003C\u002Fli>\n\u003Cli>Remove those attribute terms\u003C\u002Fli>\n\u003Cli>Add the target attribute term instead\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>A progress bar will show the status of the operation\u003C\u002Fli>\n\u003Cli>When completed, a summary will be displayed showing how many products were updated\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Technical Details\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>The plugin directly queries products with the specific attribute terms for optimal performance\u003C\u002Fli>\n\u003Cli>Products are processed in batches with configurable size (default: 5, max: 100)\u003C\u002Fli>\n\u003Cli>All product IDs are cached in a WordPress transient for consistent processing\u003C\u002Fli>\n\u003Cli>Only published products are processed\u003C\u002Fli>\n\u003Cli>Only users with ‘manage_options’ capability can run the process\u003C\u002Fli>\n\u003Cli>The plugin uses AJAX to process products asynchronously\u003C\u002Fli>\n\u003Cli>Settings and progress are saved in the WordPress options table\u003C\u002Fli>\n\u003Cli>Server calculates and reports progress to ensure accuracy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>WooCommerce 3.0 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n","Find products with specific attribute terms, remove them, and add a different attribute term instead.",466,"2026-02-27T20:51:00.000Z","6.9.4","5.0",[19,110,21,23],"https:\u002F\u002Fabovewp.com\u002Fplugins\u002Fbulk-attribute-change","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fabovewp-bulk-attribute-change.1.1.0.zip","2026-04-16T10:56:18.058Z",{"attackSurface":131,"codeSignals":143,"taintFlows":151,"riskAssessment":194,"analyzedAt":200},{"hooks":132,"ajaxHandlers":139,"restRoutes":140,"shortcodes":141,"cronEvents":142,"entryPointCount":13,"unprotectedCount":13},[133],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","admin_menu","closure","duplicate-attribute.php",21,[],[],[],[],{"dangerousFunctions":144,"sqlUsage":145,"outputEscaping":148,"fileOperations":13,"externalRequests":13,"nonceChecks":32,"capabilityChecks":32,"bundledLibraries":150},[],{"prepared":146,"raw":13,"locations":147},4,[],{"escaped":48,"rawEcho":13,"locations":149},[],[],[152,177],{"entryPoint":153,"graph":154,"unsanitizedCount":175,"severity":176},"wcda_duplicate_page (duplicate-attribute.php:35)",{"nodes":155,"edges":171},[156,161,165],{"id":157,"type":158,"label":159,"file":137,"line":160},"n0","source","$_POST (x2)",44,{"id":162,"type":163,"label":164,"file":137,"line":160},"n1","transform","→ wcda_duplicate_terms()",{"id":166,"type":167,"label":168,"file":137,"line":169,"wp_function":170},"n2","sink","get_row() [SQLi]",108,"get_row",[172,174],{"from":157,"to":162,"sanitized":173},false,{"from":162,"to":166,"sanitized":173},2,"high",{"entryPoint":178,"graph":179,"unsanitizedCount":175,"severity":176},"\u003Cduplicate-attribute> (duplicate-attribute.php:0)",{"nodes":180,"edges":189},[181,183,184,185,187],{"id":157,"type":158,"label":159,"file":137,"line":182},42,{"id":162,"type":167,"label":168,"file":137,"line":169,"wp_function":170},{"id":166,"type":158,"label":159,"file":137,"line":160},{"id":186,"type":163,"label":164,"file":137,"line":160},"n3",{"id":188,"type":167,"label":168,"file":137,"line":169,"wp_function":170},"n4",[190,192,193],{"from":157,"to":162,"sanitized":191},true,{"from":166,"to":186,"sanitized":173},{"from":186,"to":188,"sanitized":173},{"summary":195,"deductions":196},"The 'duplicate-attribute' plugin version 1.0 exhibits a generally strong security posture based on the provided static analysis. The plugin demonstrates excellent adherence to security best practices by not exposing any direct entry points like AJAX handlers, REST API routes, or shortcodes without proper authentication checks.  Furthermore, all identified SQL queries utilize prepared statements, and output is consistently escaped, indicating a low risk of common injection and cross-site scripting vulnerabilities. The presence of nonce and capability checks, albeit only one each, is a positive sign. However, the taint analysis reveals two flows with unsanitized paths, both classified as high severity. While these do not appear to stem from direct attack surface vectors, they represent potential pathways for malicious data to be processed in an unsafe manner, which is a notable concern that warrants further investigation. The plugin's vulnerability history is clean, with no recorded CVEs, which suggests a history of stable and secure development. Despite the clean history, the identified high-severity taint flows are the primary area of risk, suggesting that while the plugin may not have been historically exploited, there are latent code weaknesses that could be exploited under specific conditions.",[197],{"reason":198,"points":199},"High severity taint flows with unsanitized paths",15,"2026-03-16T21:41:17.604Z",{"wat":202,"direct":207},{"assetPaths":203,"generatorPatterns":204,"scriptPaths":205,"versionParams":206},[],[],[],[],{"cssClasses":208,"htmlComments":211,"htmlAttributes":212,"restEndpoints":218,"jsGlobals":219,"shortcodeOutput":220},[209,210],"wrap","form-table",[],[213,214,215,216,217],"name=\"wcda_source\"","id=\"wcda_source\"","name=\"wcda_target\"","id=\"wcda_target\"","onsubmit=\"return confirm('Heads up! Existing terms in the target attribute will be replaced. Proceed?');\"",[],[],[221,222,223,224],"\u003Ch1>Duplicate Attribute\u003C\u002Fh1>","\u003Clabel for=\"wcda_source\">Source Attribute\u003C\u002Flabel>","\u003Clabel for=\"wcda_target\">Target Attribute\u003C\u002Flabel>","\u003Coption value=\"pa_",{"error":191,"url":226,"statusCode":227,"statusMessage":228,"message":228},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fduplicate-attribute\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":32,"versions":230},[231],{"version":6,"download_url":25,"svn_tag_url":232,"released_at":26,"has_diff":173,"diff_files_changed":233,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":234,"is_current":191},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fduplicate-attribute\u002Ftags\u002F1.0\u002F",[],[]]