[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f0I-7Oo_w69BMzRiPLlef9GXc63kKt4TcqNhtQ_jZf2U":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":119,"fingerprints":285},"sp-display-widgets","Hide Widgets (SP Display Widgets)","1.0.0","Alex Kuimov","https:\u002F\u002Fprofiles.wordpress.org\u002Fspoot1986\u002F","\u003Cp>This plugin hide widgets on specified pages. Adds checkboxes to each widget to either show or hide it on every site page.\u003C\u002Fp>\n","This plugin hide widgets on specified pages. Adds checkboxes to each widget to either show or hide it on every site page.",80,1996,100,1,"2019-03-08T19:38:00.000Z","4.9.29","4.5.3","",[20,21,22,23,24],"widget-content","widget-context","widget-hide","widget-logic","widget-show","https:\u002F\u002Fcms3.ru\u002Fkak-skryt-vidzhet-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsp-display-widgets.zip",85,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":36,"avg_patch_time_days":37,"trust_score":27,"computed_at":38},"spoot1986",9,2490,87,30,"2026-04-04T02:42:35.739Z",[40,63,83,100],{"slug":21,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":60,"download_link":61,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"Widget Context","1.3.3","Kaspars","https:\u002F\u002Fprofiles.wordpress.org\u002Fkasparsd\u002F","\u003Cp>Use \u003Ca href=\"https:\u002F\u002Fwidgetcontext.com\" rel=\"nofollow ugc\">Widget Context\u003C\u002Fa> to show and hide widgets on certain sections of your site — front page, posts, pages, archives, search, etc. Use targeting by URLs (with wildcard support) for maximum flexibility.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FrEHvqsWoXAE?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>Premium Support\u003C\u002Fh4>\n\u003Cp>Subscribe to our \u003Ca href=\"https:\u002F\u002Fwidgetcontext.com\u002Fpro\" rel=\"nofollow ugc\">Premium Support service\u003C\u002Fa> and get the PRO 🚀 version of the plugin for free when it’s launched! Your support enables consistent maintenance and new feature development, and is greatly appreciated.\u003C\u002Fp>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Suggest code improvements \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkasparsd\u002Fwidget-context-wporg\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Report bugs and suggestions on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwidget-context\" rel=\"ugc\">WordPress.org forums\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fwidget-context\" rel=\"nofollow ugc\">Help translate\u003C\u002Fa> to your language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>Widget visibility can be configured under individual widget settings under “Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Widgets” in your WordPress administration area or through the widget editing interface in the Customizer.\u003C\u002Fp>\n\u003Ch4>Target by URL\u003C\u002Fh4>\n\u003Cp>The “Target by URL” is a powerful feature for targeting sections of your website based on the request URLs. It was inspired by a similar feature in the \u003Ca href=\"https:\u002F\u002Fwww.drupal.org\" rel=\"nofollow ugc\">Drupal CMS\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Use relative URLs such as \u003Ccode>page\u002Fsub-page\u003C\u002Fcode> instead of absolute URLs \u003Ccode>https:\u002F\u002Fexample.com\u002Fpage\u002Fsub-page\u003C\u002Fcode> because relative URLs are more flexible and make the logic portable between different domains and server environments.\u003C\u002Fp>\n\u003Ch4>Wildcards\u003C\u002Fh4>\n\u003Cp>Use the wildcard symbol \u003Ccode>*\u003C\u002Fcode> for matching dynamic parts of the URL. For example:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>topic\u002Fwidgets\u002F*\u003C\u002Fcode> to match all posts in the widgets category, if your permalink structure is set to \u003Ccode>\u002Ftopic\u002F%category%\u002F%postname%\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>page-slug\u002F*\u003C\u002Fcode> to match all child pages of the page-slug parent page.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Use a trailing \u003Ccode>?*\u003C\u002Fcode> to capture URL with all query arguments such as \u003Ccode>utm_source\u003C\u002Fcode>, etc. For example, for every \u003Ccode>blog\u002Fpost-slug\u003C\u002Fcode> also include \u003Ccode>blog\u002Fpost-slug?*\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Exclude by URL\u003C\u002Fh4>\n\u003Cp>Specify URLs to ignore even if they’re matched by any of the other context rules. For example, enter \u003Ccode>example\u002Fsub-page\u003C\u002Fcode> to hide a widget on this page even when “All Posts” is selected under “Global Sections”.\u003C\u002Fp>\n","Show and hide widgets on specific posts, pages and sections of your site.",40000,966699,90,96,"2024-08-31T11:02:00.000Z","6.6.5","3.0","5.6",[56,57,58,21,59],"context","logic","widget","widgets","https:\u002F\u002Fwidgetcontext.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-context.1.3.3.zip",92,{"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":14,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":54,"tags":76,"homepage":81,"download_link":82,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"themezee-toolkit","ThemeZee Toolkit","1.3","ThemeZee","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemezee\u002F","\u003Cp>The \u003Cem>ThemeZee Toolkit\u003C\u002Fem> is a collection of useful small modules and features, neatly bundled into a single plugin. This plugin has been designed specifically for ThemeZee WordPress themes but will also work with any theme.\u003C\u002Fp>\n\u003Ch4>Included Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Widget Visibility – Hide or show widgets conditionally\u003C\u002Fli>\n\u003Cli>Infinite Scroll – Add support for infinite scrolling on the blog homepage\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>For detailed setup instructions, visit the official \u003Ca href=\"https:\u002F\u002Fthemezee.com\u002Fdocs\u002Ftoolkit-documentation\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> page\u003C\u002Fp>\n","A collection of useful small plugins and features, neatly bundled into a single plugin.",6000,148239,"2021-06-06T17:13:00.000Z","5.8.13","4.7",[77,78,79,23,80],"infinite-scroll","themezee","toolkit","widget-visibility","https:\u002F\u002Fthemezee.com\u002Fplugins\u002Ftoolkit\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthemezee-toolkit.1.3.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":28,"num_ratings":28,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":54,"tags":96,"homepage":98,"download_link":99,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"warm-welcome","Warm Welcome","1.0.3","davidjayww","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavidjayww\u002F","\u003Ch4>CREATE A VIDEO MESSAGE FOR YOUR WEBSITE IN MINUTES\u003C\u002Fh4>\n\u003Cp>You can create personalized video recordings to engage users, or a page bubble that’s displayed in the corner of the page.\u003Cbr \u002F>\nLearn more at https:\u002F\u002Fwarmwelcome.com\u003Cbr \u002F>\nAvailable Widget types are:\u003Cbr \u002F>\n* Video Page\u003Cbr \u002F>\n* Business Card\u003Cbr \u002F>\n* Video Bubble\u003Cbr \u002F>\n* Signature — this one is still not part of the plugin, but is a great feature and can be used as custom interactive signature in your emails.\u003C\u002Fp>\n","Add Warm Welcome bubble, signature, business card and page widgets to your pages.",40,2259,"2021-06-23T13:59:00.000Z","5.6.17","5.0.0",[97,23,59],"display-widgets","https:\u002F\u002Fwww.warmwelcome.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwarm-welcome.1.0.3.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":13,"num_ratings":110,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":18,"tags":114,"homepage":18,"download_link":118,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"context-manager","Context Manager","1.2.0","Phill Brown","https:\u002F\u002Fprofiles.wordpress.org\u002Fphill_brown\u002F","\u003Cp>Context Manager makes your site behave differently depending on the current user’s context. Using the simple point-and-click admin pages, there are four different ways your site can react:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Include and exclude CSS and JavaScript files\u003C\u002Fli>\n\u003Cli>Changing the behaviour of menu items\u003C\u002Fli>\n\u003Cli>Hiding widgets in sidebars\u003C\u002Fli>\n\u003Cli>Adding extra classes to the \u003Ccode>\u003Cbody>\u003C\u002Fcode> tag.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The plugin supersedes \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fmenu-rules\u002F\" rel=\"ugc\">Menu Rules\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Example usage\u003C\u002Fh4>\n\u003Cp>A website has e-commerce shopping functionality driven by a custom post type called ‘products’. There’s an archive page called ‘shop’ that lists products and is linked to in the main navigation menu.\u003C\u002Fp>\n\u003Cp>A user visits ‘shop’ and the menu item becomes ‘active’, but when they click through to an individual product, the menu item loses its state. The user becomes lost.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcontext-manager\u002Finstallation\u002F\" rel=\"ugc\">Install\u003C\u002Fa> the Context Manager plugin\u003C\u002Fli>\n\u003Cli>Add a new context rule\u003C\u002Fli>\n\u003Cli>Give it a meaningful name in the title field. This is just for administration purposes\u003C\u002Fli>\n\u003Cli>In the \u003Cem>conditions\u003C\u002Fem> field enter \u003Ccode>is_singular( 'product' )\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Choose \u003Cem>Emulate current page as a child but do not create a menu item.\u003C\u002Fem> as the menu rule\u003C\u002Fli>\n\u003Cli>Find your products page in the menu dropdown\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>On the product page, there are irrelevant widgets that distract the user from making a purchase.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Hide irrelevant widgets under the \u003Cem>widgets\u003C\u002Fem> reaction\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The whole shop section requires its own colour scheme, but there’s no common class that ties all the pages together.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enter \u003Ccode>shop-section\u003C\u002Fcode> class name in the \u003Cem>body class\u003C\u002Fem> reaction. Or alternatively, register another stylesheet using \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwp_register_style\" rel=\"nofollow ugc\">\u003Ccode>wp_register_style()\u003C\u002Fcode>\u003C\u002Fa> in you theme’s \u003Ccode>functions.php\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Create \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Remember to click publish when you’re ready to save.\u003C\u002Fp>\n\u003Cp>Have a look at \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcontext-manager\u002Fscreenshots\u002F\" rel=\"ugc\">screenshots\u003C\u002Fa> to see the above setup in action.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>If you’re stuck, ask me for help on \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002Fphill_brown\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>.\u003C\u002Fp>\n","Make your site react to users' context by changing your theme's CSS and JavaScript files, navigation menus, sidebars and the HTML body tag.",20,4624,5,"2013-11-13T16:21:00.000Z","3.7.41","3.2",[56,115,23,116,117],"rules","wp_enqueue_scripts","wp_enqueue_styles","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontext-manager.1.2.0.zip",{"attackSurface":120,"codeSignals":164,"taintFlows":253,"riskAssessment":272,"analyzedAt":284},{"hooks":121,"ajaxHandlers":155,"restRoutes":161,"shortcodes":162,"cronEvents":163,"entryPointCount":14,"unprotectedCount":14},[122,129,134,138,142,145,148,152],{"type":123,"name":124,"callback":125,"priority":126,"file":127,"line":128},"action","in_widget_form","hidden_widget_options",10,"sp-display-widgets.php",44,{"type":130,"name":131,"callback":132,"priority":126,"file":127,"line":133},"filter","widget_update_callback","update_widget_options",45,{"type":123,"name":135,"callback":136,"file":127,"line":137},"admin_footer","load_js",47,{"type":123,"name":139,"callback":140,"file":127,"line":141},"save_post_page","delete_transient",50,{"type":123,"name":143,"callback":140,"file":127,"line":144},"created_term",53,{"type":123,"name":146,"callback":140,"file":127,"line":147},"update_option_rewrite_rules",56,{"type":123,"name":149,"callback":150,"file":127,"line":151},"plugins_loaded","load_lang",61,{"type":130,"name":153,"callback":153,"file":127,"line":154},"sidebars_widgets",65,[156],{"action":157,"nopriv":158,"callback":159,"hasNonce":158,"hasCapCheck":158,"file":127,"line":160},"sp_show_widget",false,"show_widget_options",46,[],[],[],{"dangerousFunctions":165,"sqlUsage":166,"outputEscaping":168,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":252},[],{"prepared":28,"raw":28,"locations":167},[],{"escaped":169,"rawEcho":170,"locations":171},2,52,[172,175,176,177,179,180,181,183,184,185,187,188,190,192,193,195,197,199,200,202,204,205,207,208,210,211,213,214,216,217,219,220,222,223,225,226,228,229,231,232,234,235,237,238,240,241,243,244,246,248,249,250],{"file":127,"line":173,"context":174},243,"raw output",{"file":127,"line":173,"context":174},{"file":127,"line":173,"context":174},{"file":127,"line":178,"context":174},244,{"file":127,"line":178,"context":174},{"file":127,"line":178,"context":174},{"file":127,"line":182,"context":174},254,{"file":127,"line":182,"context":174},{"file":127,"line":182,"context":174},{"file":127,"line":186,"context":174},258,{"file":127,"line":186,"context":174},{"file":127,"line":189,"context":174},290,{"file":127,"line":191,"context":174},291,{"file":127,"line":191,"context":174},{"file":127,"line":194,"context":174},293,{"file":127,"line":196,"context":174},294,{"file":127,"line":198,"context":174},299,{"file":127,"line":198,"context":174},{"file":127,"line":201,"context":174},301,{"file":127,"line":203,"context":174},311,{"file":127,"line":203,"context":174},{"file":127,"line":206,"context":174},312,{"file":127,"line":206,"context":174},{"file":127,"line":209,"context":174},334,{"file":127,"line":209,"context":174},{"file":127,"line":212,"context":174},335,{"file":127,"line":212,"context":174},{"file":127,"line":215,"context":174},346,{"file":127,"line":215,"context":174},{"file":127,"line":218,"context":174},347,{"file":127,"line":218,"context":174},{"file":127,"line":221,"context":174},363,{"file":127,"line":221,"context":174},{"file":127,"line":224,"context":174},364,{"file":127,"line":224,"context":174},{"file":127,"line":227,"context":174},374,{"file":127,"line":227,"context":174},{"file":127,"line":230,"context":174},375,{"file":127,"line":230,"context":174},{"file":127,"line":233,"context":174},388,{"file":127,"line":233,"context":174},{"file":127,"line":236,"context":174},389,{"file":127,"line":236,"context":174},{"file":127,"line":239,"context":174},404,{"file":127,"line":239,"context":174},{"file":127,"line":242,"context":174},405,{"file":127,"line":242,"context":174},{"file":127,"line":245,"context":174},415,{"file":127,"line":247,"context":174},416,{"file":127,"line":247,"context":174},{"file":127,"line":247,"context":174},{"file":127,"line":251,"context":174},536,[],[254],{"entryPoint":255,"graph":256,"unsanitizedCount":270,"severity":271},"\u003Csp-display-widgets> (sp-display-widgets.php:0)",{"nodes":257,"edges":268},[258,263],{"id":259,"type":260,"label":261,"file":127,"line":262},"n0","source","$_POST (x4)",264,{"id":264,"type":265,"label":266,"file":127,"line":194,"wp_function":267},"n1","sink","echo() [XSS]","echo",[269],{"from":259,"to":264,"sanitized":158},4,"low",{"summary":273,"deductions":274},"The sp-display-widgets plugin version 1.0.0 exhibits several security concerns despite a clean vulnerability history. The plugin has a small attack surface, with only one entry point identified. However, this single AJAX handler lacks any authentication or capability checks, making it a significant risk. While the plugin demonstrates good practices by using prepared statements for all SQL queries and having no file operations or external HTTP requests, these strengths are overshadowed by the unprotected AJAX handler and poor output escaping. A staggering 96% of output operations are not properly escaped, opening the door to potential Cross-Site Scripting (XSS) vulnerabilities. The taint analysis reveals one flow with unsanitized paths, which, though not rated as critical or high, warrants attention given the lack of output escaping.",[275,278,281],{"reason":276,"points":277},"Unprotected AJAX handler",8,{"reason":279,"points":280},"Low percentage of properly escaped output",6,{"reason":282,"points":283},"Flow with unsanitized paths",7,"2026-03-16T21:30:50.037Z",{"wat":286,"direct":295},{"assetPaths":287,"generatorPatterns":290,"scriptPaths":291,"versionParams":292},[288,289],"\u002Fwp-content\u002Fplugins\u002Fsp-display-widgets\u002Fjs\u002Fsp-display-widgets.js","\u002Fwp-content\u002Fplugins\u002Fsp-display-widgets\u002Fcss\u002Fsp-display-widgets.css",[],[288],[293,294],"sp-display-widgets\u002Fjs\u002Fsp-display-widgets.js?ver=","sp-display-widgets\u002Fcss\u002Fsp-display-widgets.css?ver=",{"cssClasses":296,"htmlComments":297,"htmlAttributes":298,"restEndpoints":299,"jsGlobals":300,"shortcodeOutput":302},[],[],[],[],[301],"sp_display_widgets_ajaxurl",[]]