[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fDZVEYWLlGkH9Tt9H81H3tnOY0_PVS_HXINSBXIHy0HA":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":139,"fingerprints":224},"widget-context","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",[20,21,22,4,23],"context","logic","widget","widgets","https:\u002F\u002Fwidgetcontext.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-context.1.3.3.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"kasparsd",5,50280,88,30,86,"2026-04-04T05:50:00.969Z",[40,64,87,104,122],{"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":55,"tags":56,"homepage":61,"download_link":62,"security_score":63,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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","",[57,4,58,59,60],"widget-content","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,{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":74,"num_ratings":75,"last_updated":76,"tested_up_to":77,"requires_at_least":17,"requires_php":55,"tags":78,"homepage":83,"download_link":84,"security_score":85,"vuln_count":51,"unpatched_count":51,"last_vuln_date":86,"fetched_at":29},"widget-manager-light","Widget Manager Light","1.18","OTWthemes","https:\u002F\u002Fprofiles.wordpress.org\u002Fotwthemes\u002F","\u003Cp>Widget Manager gives you full control over widget visibility via nice and easy interface.\u003C\u002Fp>\n\u003Cp>Every widget can now be displayed on or hidden from one or few pages. Display relevent content on your pages, posts, categories, tags, archives, custom post types, custom taxonomies, page templates, WordPress service pages, etc..\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Upgrade to the Pro version of this plugin – the worlds most complete Sidebar and Widget management system for WordPress including regular updates and premium support:\u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002F1.envato.market\u002Fc\u002F1246358\u002F275988\u002F4415?subId1=sbm&subId2=2020&subId3=https%3A%2F%2Fcodecanyon.net%2Fitem%2Fsidebar-widget-manager-for-wordpress%2F2287447&u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Fsidebar-widget-manager-for-wordpress%2F2287447\" rel=\"nofollow ugc\">Sidebar and Widget Manager\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fotwthemes.com\u002Fdemos\u002F1ts\u002F?item=Sidebar%20Widget%20Manager&utm_source=wp.org&utm_medium=page&utm_content=upgrade&utm_campaign=wml\" rel=\"nofollow ugc\">Demo site\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Display widgets based on language(WMPL plugin) or user role is available as well.\u003C\u002Fp>\n\u003Cp>Support for WooCommerce plugin, bbPress plugin and BuddyPress plugin has been added too.\u003C\u002Fp>\n\u003Cp>This plugin works with all widgedets – WordPress default and any custom added widget.\u003C\u002Fp>\n\u003Cp>The interface is very intuitive and requires no coding knowledge at all.\u003C\u002Fp>\n\u003Cp>How Widget Manager Light works\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Go to Appearance -> Widgets.\u003C\u002Fli>\n\u003Cli>Select a Widget in any sidebar.\u003C\u002Fli>\n\u003Cli>Click on the Set Visibility button.\u003C\u002Fli>\n\u003Cli>Select where to display on or hide from.\u003C\u002Fli>\n\u003C\u002Ful>\n","Widget Manager lets you control on which pages widgets appear via nice and easy interface. Show or hide widgets. Display relevant content on your page &hellip;",600,48849,76,11,"2022-03-03T06:42:00.000Z","5.9.13",[79,80,20,81,82],"admin","conditional-tags","filter","hide-widgets","http:\u002F\u002Fotwthemes.com\u002F?utm_source=wp.org&utm_medium=admin&utm_content=site&utm_campaign=wml","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-manager-light.zip",64,"2025-04-02 00:00:00",{"slug":88,"name":89,"version":90,"author":91,"author_profile":92,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":27,"num_ratings":27,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":18,"tags":100,"homepage":102,"download_link":103,"security_score":63,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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",[101,59,23],"display-widgets","https:\u002F\u002Fwww.warmwelcome.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwarm-welcome.1.0.3.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":50,"num_ratings":33,"last_updated":114,"tested_up_to":115,"requires_at_least":116,"requires_php":55,"tags":117,"homepage":55,"download_link":121,"security_score":63,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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,"2013-11-13T16:21:00.000Z","3.7.41","3.2",[20,118,59,119,120],"rules","wp_enqueue_scripts","wp_enqueue_styles","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontext-manager.1.2.0.zip",{"slug":123,"name":124,"version":125,"author":126,"author_profile":127,"description":128,"short_description":129,"active_installs":27,"downloaded":130,"rating":50,"num_ratings":51,"last_updated":131,"tested_up_to":132,"requires_at_least":133,"requires_php":134,"tags":135,"homepage":55,"download_link":138,"security_score":50,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"tiny-widget-manager","Tiny Widget Manager","1.0.1","wpolstudio","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpolstudio\u002F","\u003Cp>\u003Cstrong>Tiny Widget Manager (TWIM)\u003C\u002Fstrong> improves the WordPress widget system by allowing you to control each widget’s visibility directly from the admin panel.\u003Cbr \u002F>\nIt’s a lightweight yet powerful tool that gives you full control over how and when widgets are displayed.\u003C\u002Fp>\n\u003Cp>TWIM adds a simple interface below each widget for defining visibility rules. This provides site editors with a much smarter and more flexible way to manage widget visibility.\u003C\u002Fp>\n\u003Ch4>Available show\u002Fhide conditions\u003C\u002Fh4>\n\u003Cp>The power of TWIM lies in the variety of logic conditions it supports:\u003Cbr \u002F>\n– Show\u002Fhide on specific \u003Cem>page(s)\u003C\u002Fem>\u003Cbr \u002F>\n– Show\u002Fhide on specific \u003Cem>post type(s)\u003C\u002Fem> (custom or built-in)\u003Cbr \u002F>\n– Show\u002Fhide on \u003Cem>archive\u003C\u002Fem> pages (category, tag, author, date)\u003Cbr \u002F>\n– Show\u002Fhide by \u003Cem>user\u003C\u002Fem> status (logged-in, logged-out, user roles)\u003Cbr \u002F>\n– Show\u002Fhide on \u003Cem>device\u003C\u002Fem> type (mobile, tablet, desktop)\u003C\u002Fp>\n\u003Ch4>Global AND\u002FOR setting for conditions\u003C\u002Fh4>\n\u003Cp>For each widget, you can also define whether \u003Cem>all\u003C\u002Fem> conditions must be true or if \u003Cem>only one\u003C\u002Fem> is enough.\u003Cbr \u002F>\nSince each group of condtions has its own show\u002Fhide setting, combinations are nearly endless.\u003C\u002Fp>\n\u003Ch4>Active conditions indicator\u003C\u002Fh4>\n\u003Cp>When setting visibility conditions for each of your widgets, it can soon become difficult to understand which conditions have been set.\u003Cbr \u002F>\nTWIM provides a useful active condition indicator in the form of “eye” icons allowing you to check in a glance which conditions have been activated for a given plugin (see screenshots).\u003C\u002Fp>\n\u003Ch4>Widget Class\u003C\u002Fh4>\n\u003Cp>A dedicated input field allows you to add \u003Cem>custom CSS classes\u003C\u002Fem> to your widgets—no need for an additional plugin just for styling.\u003C\u002Fp>\n\u003Ch4>Settings\u003C\u002Fh4>\n\u003Cp>The settings page currently offers two options:\u003Cbr \u002F>\n– Restore the classic widget management screen (instead of the block-based “Widgets” editor — see \u003Cem>Limitations\u003C\u002Fem> below).\u003Cbr \u002F>\n– Choose the TWIM color theme for the admin interface.\u003C\u002Fp>\n\u003Ch4>Limitations\u003C\u002Fh4>\n\u003Cp>TWIM does not currently support the new block-based widget editor introduced in recent WordPress versions.\u003Cbr \u002F>\nIf you want to use TWIM, you must switch to the \u003Cem>legacy widget interface\u003C\u002Fem> (this can be done from the plugin’s settings).\u003C\u002Fp>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>You can contribute to this plugin or follow development on GitHub:\u003Cbr \u002F>\n🔗 https:\u002F\u002Fgithub.com\u002Fwpolstudio\u002Ftiny-widget-manager\u003C\u002Fp>\n","Tiny Widget Manager enhances the WordPress widget system by letting you control the visibility of each widget based on various conditions.",320,"2025-08-08T10:48:00.000Z","6.8.5","5.0","7.4",[79,21,136,137,23],"translation-ready","visibility","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftiny-widget-manager.1.0.1.zip",{"attackSurface":140,"codeSignals":207,"taintFlows":219,"riskAssessment":220,"analyzedAt":223},{"hooks":141,"ajaxHandlers":203,"restRoutes":204,"shortcodes":205,"cronEvents":206,"entryPointCount":27,"unprotectedCount":27},[142,147,152,155,161,163,166,170,175,178,181,184,188,192,196,199],{"type":81,"name":143,"callback":144,"file":145,"line":146},"widget_contexts","add_context","src\\modules\\custom-post-types-taxonomies\\module.php",16,{"type":81,"name":148,"callback":149,"priority":150,"file":145,"line":151},"widget_context_control-custom_post_types_taxonomies","context_controls",10,18,{"type":81,"name":153,"callback":154,"priority":150,"file":145,"line":112},"widget_context_check-custom_post_types_taxonomies","context_check",{"type":156,"name":157,"callback":158,"file":159,"line":160},"action","wp","count_words_on_page","src\\modules\\word-count\\module.php",15,{"type":81,"name":143,"callback":162,"file":159,"line":151},"add_word_count_context",{"type":81,"name":164,"callback":165,"priority":150,"file":159,"line":112},"widget_context_control-word_count","control_word_count",{"type":81,"name":167,"callback":168,"priority":150,"file":159,"line":169},"widget_context_check-word_count","context_check_word_count",21,{"type":156,"name":171,"callback":172,"priority":33,"file":173,"line":174},"init","define_widget_contexts","src\\WidgetContext.php",78,{"type":156,"name":157,"callback":176,"file":173,"line":177},"set_widget_contexts_frontend",82,{"type":156,"name":179,"callback":180,"priority":150,"file":173,"line":63},"in_widget_form","widget_context_controls",{"type":156,"name":182,"callback":183,"file":173,"line":35},"admin_enqueue_scripts","admin_scripts",{"type":156,"name":185,"callback":186,"file":173,"line":187},"sidebar_admin_setup","save_widget_context_settings",91,{"type":81,"name":189,"callback":190,"file":173,"line":191},"widget_context_options","fix_legacy_options",94,{"type":156,"name":193,"callback":194,"file":173,"line":195},"admin_menu","widget_context_settings_menu",97,{"type":156,"name":197,"callback":198,"file":173,"line":50},"admin_init","widget_context_settings_init",{"type":81,"name":200,"callback":201,"priority":150,"file":173,"line":202},"sidebars_widgets","maybe_unset_widgets_by_context",250,[],[],[],[],{"dangerousFunctions":208,"sqlUsage":209,"outputEscaping":211,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":217,"bundledLibraries":218},[],{"prepared":27,"raw":27,"locations":210},[],{"escaped":212,"rawEcho":51,"locations":213},36,[214],{"file":173,"line":215,"context":216},277,"raw output",3,[],[],{"summary":221,"deductions":222},"The \"widget-context\" plugin version 1.3.3 exhibits an exceptionally strong security posture based on the provided static analysis and vulnerability history. The complete absence of any identified attack surface points, such as AJAX handlers, REST API routes, shortcodes, or cron events, indicates a minimal footprint that is difficult for attackers to target directly. The code signals further reinforce this positive assessment, with no dangerous functions, all SQL queries utilizing prepared statements, and an overwhelmingly high percentage of properly escaped output. File operations and external HTTP requests are also absent, further reducing potential attack vectors. The presence of capability checks, although not explicitly tied to specific entry points due to the lack thereof, suggests some level of authorization is considered in the plugin's design, even if not directly testable through the provided metrics. The lack of any recorded CVEs or known vulnerabilities, historically or currently, is a significant indicator of the plugin's security maturity and the development team's commitment to secure coding practices.  While the lack of taint analysis results might be due to the plugin's simplicity or the limitations of the analysis tool, the overall picture is one of a highly secure plugin with no evident weaknesses based on the provided data. The primary strength lies in its minimal attack surface and robust coding practices. The only potential area for minor concern, though not directly evidenced as a weakness in this data, would be the complete absence of nonce checks, which could be a consideration if any backend operations were ever introduced without explicit protection.",[],"2026-03-16T17:21:19.958Z",{"wat":225,"direct":235},{"assetPaths":226,"generatorPatterns":229,"scriptPaths":230,"versionParams":231},[227,228],"\u002Fwp-content\u002Fplugins\u002Fwidget-context\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fwidget-context\u002Fassets\u002Fjs\u002Fwidget-context.js",[],[228],[232,233,234],"widget-context\u002Fstyle.css?ver=","widget-context-css?ver=","widget-context-js?ver=",{"cssClasses":236,"htmlComments":239,"htmlAttributes":240,"restEndpoints":242,"jsGlobals":243,"shortcodeOutput":245},[237,238],"widget-context-controls","widget-context-control-section",[],[241],"data-widget-context-id",[],[244],"widgetContext",[]]