[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fC5heTI1mPaqB3nDsz2XfsFd0dZiFxQhDx6Y4C4zJa1k":3},{"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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":133,"fingerprints":189},"widget-alias","Widget Alias","1.7.3","MIGHTYminnow","https:\u002F\u002Fprofiles.wordpress.org\u002Fmightyminnow\u002F","\u003Cp>\u003Cstrong>Compatible with PHP 8.2\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Widget Alias allows you to create an “alias” of any existing widget, effectively reproducing \u002F duplicating it. This can be especially handy when you want the same widget to appear in multiple sidebars. Normally you would have to edit each widget independently, but Widget Alias means you’ll only have to edit one.\u003C\u002Fp>\n\u003Cp>A \u003Ca href=\"http:\u002F\u002Fmightyminnow.com\" rel=\"nofollow ugc\">\u003Cstrong>MIGHTYminnow\u003C\u002Fstrong>\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>This plugin is similar to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fduplicate-widget\" rel=\"ugc\">Duplicate Widget\u003C\u002Fa>, with a few key differences:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widget Alias gives you the option to override the aliased widget’s title.\u003C\u002Fli>\n\u003Cli>Widget Alias uses AJAX to update the drop-down \u003Ccode>\u003Cselect>\u003C\u002Fcode> menus on the fly, which means you see widget changes (adding widgets, deleting widgets, re-ordering widgets, etc) in real time.\u003C\u002Fli>\n\u003Cli>If you delete a widget that is being aliased, the aliased copies simply revert to “None”, instead of being deleted. This allows you to keep track of where you’ve used Widget Alias widgets, if need be.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Widget Alias can be used in one of two ways:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Widget\u003C\u002Fstrong>\u003Cbr \u002F>\nIn \u003Cem>Appearances > Widgets\u003C\u002Fem> you’ll see a new widget called “Widget Alias”, in which you can specify an override title if desired, and use the drop-down \u003Ccode>\u003Cselect>\u003C\u002Fcode> menu to choose the ID of the widget you would like to alias.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Shortcode\u003C\u002Fstrong>\u003Cbr \u002F>\nWidget Alias also comes packaged with a shortcode that looks like this:\u003Cbr \u002F>\n    [widget_alias id=”target-widget-id” title=”Override Title”]\u003C\u002Fp>\n\u003Cp>To use the shortcode simply enter the ID of the widget you would like to alias (\u003Ccode>id\u003C\u002Fcode> parameter), and an override title (\u003Ccode>title\u003C\u002Fcode> parameter) if you would like to change the aliased widget’s title.\u003C\u002Fp>\n\u003Ch4>Widget IDs\u003C\u002Fh4>\n\u003Cp>Widget Alias makes it super-easy for you to find the ID of any widget you would like to alias. In \u003Cem>Appearance > Widgets\u003C\u002Fem>, all active widgets now have their ID appended below the widget title. Note: these IDs are added using jQuery, and will not appear if JavaScript is disabled.\u003C\u002Fp>\n\u003Ch4>Removing \u002F Deleting Aliased Widgets\u003C\u002Fh4>\n\u003Cp>Widget Alias makes it easy to tell which widgets are being aliased – each aliased widget has a note below its widget controls letting you know how many times it is aliased. If you delete an aliased widget, the Widget Alias widgets that previously pointed to it will revert to the default alias value of “None.”\u003C\u002Fp>\n\u003Cp>Banner photo by \u003Ca href=\"http:\u002F\u002Fsusannahkay.com\" rel=\"nofollow ugc\">Susannah Kay\u003C\u002Fa>.\u003C\u002Fp>\n","Duplicate any existing widget using the Widget Alias widget and shortcode.",200,12885,86,8,"2026-03-10T08:13:00.000Z","6.9.4","3.0","",[20,21,22,23,24],"alias","duplicate","reproduce","synchronize","widget","http:\u002F\u002Fmightyminnow.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-alias.1.7.3.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"mightyminnow",4,11700,30,94,"2026-04-04T07:11:08.849Z",[40,63,83,100,117],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":18,"tags":55,"homepage":60,"download_link":61,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"duplicate-widgets","Duplicate Widgets","1.2","aleksandargubecka","https:\u002F\u002Fprofiles.wordpress.org\u002Faleksandargubecka\u002F","\u003Cp>Simple plugin that lets you duplicate your existing widgets in just one click. It’s made for easier management of widgets, especially if you have a lot of widgets with similar configurations.\u003C\u002Fp>\n","Simple plugin that lets you duplicate your existing widgets in just one click.",3000,20633,92,9,"2018-06-24T23:56:00.000Z","4.9.29","3.7",[56,57,41,58,59],"clone","duplicate-widget-plugin","widget-clone","widget-duplicator","https:\u002F\u002Fgithub.com\u002Faleksandargubecka","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduplicate-widgets.zip",85,{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":13,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":76,"requires_php":18,"tags":77,"homepage":81,"download_link":82,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"duplicate-widget","Duplicate Widget","1.0.2","Scott Reilly","https:\u002F\u002Fprofiles.wordpress.org\u002Fcoffee2code\u002F","\u003Cp>A widget that can act as a duplicate of another widget (for synchronized use in another sidebar)\u003C\u002Fp>\n\u003Cp>Define a widget once, use it in multiple sidebars.  This saves you from having to manually configure each copy of the widget and later having to worry about keeping them in sync should you ever need to make any changes.  Particularly useful for those who define logic in their themes to conditionally include different versions of a sidebar depending on what template is being shown. Depending on use, it is an alternative to plugins that introduce in-widget logic to determine when widgets should be visible (Widget Logic, Section Widget, Conditional Widgets, etc).\u003C\u002Fp>\n\u003Cp>Quick overview of what this plugin does:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adds a widget called “Duplicate”. The widget’s only setting is a dropdown listing all active widgets.  The selected widget will be the widget duplicated by the duplicate widget.\u003C\u002Fli>\n\u003Cli>A duplicate widget shows the same title and content as its source widget, even if those values later get changed in the source widget.\u003C\u002Fli>\n\u003Cli>A widget can be duplicated any number of times and can appear multiple times within the same page. (Yes, even within the same sidebar, though why would you do that?)\u003C\u002Fli>\n\u003Cli>A duplicate widget will abide by the configuration of the sidebar it is placed in, not the configuration of the sidebar containing the source widget.  So it uses ‘before_widget’, ‘after_widget’, ‘before_title’, ‘after_title’ values of its own sidebar.\u003C\u002Fli>\n\u003Cli>Widgets that are duplicated will have “[D]” prepended to their name in the widget titlebar in the admin to denote they have duplicates.  Also, at the bottom of the widget’s configuration form (when the widget is expanded), a short blurb also explains that the widget has duplicate(s) and a count of how many duplicates it has.\u003C\u002Fli>\n\u003Cli>If a widget is deactivated or deleted, if it has any duplicates, they get deleted as well.\u003C\u002Fli>\n\u003Cli>The widget id and widget type of the source widget are included as HTML classes in the duplicate widget’s markup.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Links: \u003Ca href=\"http:\u002F\u002Fcoffee2code.com\u002Fwp-plugins\u002Fduplicate-widget\u002F\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fduplicate-widget\u002F\" rel=\"ugc\">Plugin Directory Page\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fcoffee2code.com\" rel=\"nofollow ugc\">Author Homepage\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Filters\u003C\u002Fh3>\n\u003Cp>The plugin exposes four actions for hooking.  Typically, customizations utilizing these hooks would be put into your active theme’s functions.php file, or used by another plugin.\u003C\u002Fp>\n\u003Ch4>c2c_before_duplicate_widget (action)\u003C\u002Fh4>\n\u003Cp>The ‘c2c_before_duplicate_widget’ hook allows you to output text, or perform some sort of action, just before the output of the duplicate widget.\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>$instance (array) : The settings for the widget instance (namely: title and widget_to_duplicate)\u003C\u002Fli>\n\u003Cli>$args (array) : The configuration for the widget and sidebar\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F Output an opening \u003Cdiv> before duplicate widget content\nadd_action( 'c2c_before_duplicate_widget', 'my_c2c_before_duplicate_widget', 10, 2 );\nfunction my_c2c_before_duplicate_widget( $instance, $args ) {\n    echo '\u003Cdiv class=\"a_duplicate_widget\">;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>c2c_after_duplicate_widget (action)\u003C\u002Fh4>\n\u003Cp>The ‘c2c_after_duplicate_widget’ hook allows you to output text, or perform some sort of action, just after the output of the duplicate widget.\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>$instance (array) : The settings for the widget instance (namely: title and widget_to_duplicate)\u003C\u002Fli>\n\u003Cli>$args (array) : The configuration for the widget and sidebar\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F Output an closing \u003C\u002Fdiv> after duplicate widget content\nadd_action( 'c2c_after_duplicate_widget', 'my_c2c_after_duplicate_widget', 10, 2 );\nfunction my_c2c_after_duplicate_widget( $instance, $args ) {\n    echo '\u003C\u002Fdiv>;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>c2c_before_duplicate_widget_form (action)\u003C\u002Fh4>\n\u003Cp>The ‘c2c_before_duplicate_widget_form’ hook allows you to output text, or perform some sort of action, just before the output of the duplicate widget’s configuration form (in the WP admin).\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>$instance (array) : The settings for the widget instance (namely: title and widget_to_duplicate)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F Display a message just before the duplicate widget settings form\nadd_action( 'c2c_before_duplicate_widget_form', 'my_c2c_before_duplicate_widget_form' );\nfunction my_c2c_before_duplicate_widget_form( $instance ) {\n    echo '\u003Cp>Note: this is a note above the widget settings form.\u003C\u002Fp>';\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>c2c_after_duplicate_widget_form (action)\u003C\u002Fh4>\n\u003Cp>The ‘c2c_after_duplicate_widget_form’ hook allows you to output text, or perform some sort of action, just after the output of the duplicate widget’s configuration form (in the WP admin).\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>$instance (array) : The settings for the widget instance (namely: title and widget_to_duplicate)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F Display a message just after the duplicate widget settings form\nadd_action( 'c2c_after_duplicate_widget_form', 'my_c2c_after_duplicate_widget_form' );\nfunction my_c2c_after_duplicate_widget_form( $instance ) {\n    echo '\u003Cp>Note: this is a note below the widget settings form.\u003C\u002Fp>';\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n","A widget that can act as a duplicate of another widget (for synchronized use in another sidebar)",1000,27952,12,"2017-11-28T19:51:00.000Z","3.4.2","3.1",[78,21,79,24,80],"coffee2code","sidebar","widgets","http:\u002F\u002Fcoffee2code.com\u002Fwp-plugins\u002Fduplicate-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduplicate-widget.1.0.2.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":27,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":18,"tags":97,"homepage":18,"download_link":99,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-widget-clipboard","WP Widget Clipboard – Duplicate widgets intuitively","1.2.15","owlwpplugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fowlwpplugins\u002F","\u003Cp>Duplicate multiple widgets by drag & drop. so you can intuitively copy and paste widgets.\u003C\u002Fp>\n\u003Cp>It is hard to copy widgets one by one manually. Using this plugin makes duplicating widgets very easy.\u003C\u002Fp>\n\u003Cp>Widgets duplication procedure is the following :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Select multiple widgets you want to copy.\u003C\u002Fli>\n\u003Cli>Then drag and drop “Coied Widget” which in clipboard to any position.\u003C\u002Fli>\n\u003Cli>Selected widgets is duplicated at that location.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Or, you can duplicate widgets individually.\u003C\u002Fp>\n\u003Cp>For more detailed usage, install this plugin and read usage manual by opening “Settings” -> “WP Widget Clipboard” from the menu.\u003C\u002Fp>\n","Duplicate multiple widgets by drag & drop.",800,8744,5,"2019-11-28T04:42:00.000Z","5.3.21","3.3",[56,98,57,41,59],"copy-widgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-widget-clipboard.zip",{"slug":101,"name":102,"version":43,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":36,"num_ratings":34,"last_updated":109,"tested_up_to":16,"requires_at_least":110,"requires_php":18,"tags":111,"homepage":115,"download_link":116,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"sidebar-content-clone","Sidebar Content Clone","Gaurang Sondagar","https:\u002F\u002Fprofiles.wordpress.org\u002Fgaurangsondagar\u002F","\u003Cp>Sidebar Content Clone is good handy and free solution for clone all widgets from one sidebar area to another area sidebar by one click.\u003C\u002Fp>\n\u003Cp>You have to select source sidebar and destination sidebar that you want to clone and then click “Clone Widgets” button.\u003C\u002Fp>\n\u003Cp>Sidebar Content Clone Plugin Features\u003C\u002Fp>\n\u003Col>\n\u003Cli>Clone All Widgets from one sidebar to another sidebar\u003C\u002Fli>\n\u003Cli>Translation Ready\u003C\u002Fli>\n\u003Cli>Cross Browsers Support ( Firefox, Chrome, Safari, Opera, etc. )\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Technical Support\u003C\u002Fh4>\n\u003Cp>We are ready for any support issues and feature suggestions. Please contact us on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsidebar-content-clone\" rel=\"ugc\">support forum\u003C\u002Fa>\u003C\u002Fp>\n","Sidebar Content Clone is a WordPress plugin that allows you to clone all widgets from one sidebar area to another sidebar area by one click.",400,8926,"2026-03-01T10:15:00.000Z","5.0",[112,101,113,58,114],"sidebar-clone","sidebar-duplicate","widget-duplicate","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsidebar-content-clone","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsidebar-content-clone.1.2.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":36,"downloaded":125,"rating":126,"num_ratings":127,"last_updated":128,"tested_up_to":53,"requires_at_least":129,"requires_php":18,"tags":130,"homepage":131,"download_link":132,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"simple-clone-widget","Simple clone widget","1.0","Yaroslava","https:\u002F\u002Fprofiles.wordpress.org\u002Froboyaroslava\u002F","\u003Cp>Simple clone widget plugin add a ‘Clone this!” link of every widget. Simply click ‘Clone it!’ to make a copy of the widget.\u003C\u002Fp>\n\u003Cp>Attention! This plugin work with main woocommerce plugin, but I don’t tested work with all woocommerce plugins. If you have problem with other plugins, please write me in plugin’s forum or my email. And I will fix this problem.\u003C\u002Fp>\n","Simple clone widget plugin add a 'Clone this!'' link of every widget. Simply click 'Clone it!' to make a copy of the widget.",2258,60,2,"2018-03-12T08:22:00.000Z","4.1",[56,64,57,58,59],"http:\u002F\u002Fyaroslava.me\u002Fsimple-clone-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-clone-widget.1.0.zip",{"attackSurface":134,"codeSignals":162,"taintFlows":179,"riskAssessment":180,"analyzedAt":188},{"hooks":135,"ajaxHandlers":152,"restRoutes":153,"shortcodes":154,"cronEvents":161,"entryPointCount":127,"unprotectedCount":28},[136,142,146],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","admin_enqueue_scripts","wa_enqueue_admin_scripts","widget-alias.php",51,{"type":137,"name":143,"callback":144,"file":140,"line":145},"widgets_init","wa_alias_init",65,{"type":147,"name":148,"callback":149,"priority":150,"file":140,"line":151},"filter","widget_display_callback","output_override_title",99,279,[],[],[155,158],{"tag":156,"callback":157,"file":140,"line":37},"wa","wa_shortcode",{"tag":159,"callback":157,"file":140,"line":160},"widget_alias",95,[],{"dangerousFunctions":163,"sqlUsage":164,"outputEscaping":166,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":178},[],{"prepared":28,"raw":28,"locations":165},[],{"escaped":28,"rawEcho":93,"locations":167},[168,171,173,174,176],{"file":140,"line":169,"context":170},157,"raw output",{"file":140,"line":172,"context":170},158,{"file":140,"line":172,"context":170},{"file":140,"line":175,"context":170},164,{"file":140,"line":177,"context":170},165,[],[],{"summary":181,"deductions":182},"The \"widget-alias\" plugin v1.7.3 exhibits a mixed security posture. On the positive side, there are no known vulnerabilities in its history and the static analysis reveals no dangerous functions, file operations, external HTTP requests, or SQL queries that are not properly prepared. The attack surface, while consisting of two shortcodes, is entirely unprotected by authentication or capability checks, which is a significant concern. The most critical finding is that 100% of output escaping is missing, meaning all dynamic content rendered by the plugin is potentially vulnerable to cross-site scripting (XSS) attacks. Taint analysis also yielded no flows, which is good, but this is likely overshadowed by the lack of output escaping, as any unsanitized input could easily lead to a dangerous flow that wasn't detected due to the absence of proper sanitization and escaping.\n\nDespite the absence of historical vulnerabilities and the use of prepared statements for SQL, the complete lack of output escaping on all outputs presents a high risk. The two shortcodes, while not directly exploitable through unauthenticated AJAX or REST API routes, can still be triggered by users with the ability to edit posts or pages. If any user-supplied data is incorporated into the output of these shortcodes without proper sanitization, it can lead to XSS vulnerabilities. The vulnerability history being clean is a positive sign of past security efforts, but it does not mitigate the immediate risks identified in the current code analysis, particularly the lack of output escaping.",[183,185],{"reason":184,"points":14},"All outputs are unescaped",{"reason":186,"points":187},"Shortcodes lack authentication\u002Fcapability checks",7,"2026-03-16T20:15:19.963Z",{"wat":190,"direct":199},{"assetPaths":191,"generatorPatterns":194,"scriptPaths":195,"versionParams":196},[192,193],"\u002Fwp-content\u002Fplugins\u002Fwidget-alias\u002Flib\u002Fcss\u002Fwidget-alias.css","\u002Fwp-content\u002Fplugins\u002Fwidget-alias\u002Flib\u002Fjs\u002Fwidget-alias.js",[],[193],[197,198],"widget-alias\u002Fstyle.css?ver=","widget-alias.js?ver=",{"cssClasses":200,"htmlComments":201,"htmlAttributes":202,"restEndpoints":207,"jsGlobals":208,"shortcodeOutput":210},[4],[],[203,204,205,206],"id=\"widget-alias-alias-widget-id\"","name=\"widget-alias-alias-widget-id\"","id=\"widget-alias-title\"","name=\"widget-alias-title\"",[],[209],"translations",[211,212],"[wa ","[widget_alias "]