[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fwnJTNBz_t6oFzZaIcij-7Toh1FBiT42uXm74nuxKqjg":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":40,"analysis":145,"fingerprints":283},"widget-display-filter","Widget Display Filter","2.0.0","enomoto celtislab","https:\u002F\u002Fprofiles.wordpress.org\u002Fenomoto-celtislab\u002F","\u003Cp>It defines Hashtags that are associated with the display conditions. and use Hashtag to manage the display conditions of the widget. By setting the same Hashtag to multiple widgets, you can easily manage as a group. (\u003Cbr \u002F>\nOf course, Hashtag does not appear at run time.)\u003C\u002Fp>\n\u003Cp>Feature\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support Device filter (Discrimination of Desktop \u002F Mobile device uses the wp_is_mobile function)\u003C\u002Fli>\n\u003Cli>Support Post Format type filter\u003C\u002Fli>\n\u003Cli>Support Post category and tags filter\u003C\u002Fli>\n\u003Cli>Support Custom Post type filter\u003C\u002Fli>\n\u003Cli>Support Widget Group block (Widget by Block after WP5.9)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Usage\u003C\u002Fp>\n\u003Col>\n\u003Cli>Open the menu – “Appearance -> Widget Display Filter”, and configure and manage the display conditions of Widgets.\u003C\u002Fli>\n\u003Cli>Definition of Hashtags associated with the widget display conditions.\u003C\u002Fli>\n\u003Cli>Open the menu – “Appearance -> Widgets”, and set the display condition for each widget.\u003C\u002Fli>\n\u003Cli>If you enter Hashtag in Widget Title input field, its display condition is enabled.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Notice\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Hashtag that can be set for each widget is only one. \u003C\u002Fli>\n\u003Cli>Between Hashtag and title should be separated by a space.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more detailed information, there is an introduction page.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fceltislab.net\u002Fen\u002Fwp_widget_display_filter\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fceltislab.net\u002Fwp_widget_display_filter\u002F\" title=\"Documentation in Japanese\" rel=\"nofollow ugc\">日本語の説明\u003C\u002Fa>\u003C\u002Fp>\n","Set the display condition for each widget. Widgets display condition setting can be easily, and very easy-to-use plugin.",40,4301,100,2,"2022-02-24T08:42:00.000Z","5.9.13","5.9","7.3",[20,21,22,23,24],"conditional-tags","filter","hide","widget","widget-group-block","https:\u002F\u002Fceltislab.net\u002Fen\u002Fwp_widget_display_filter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-display-filter.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":38,"computed_at":39},"enomoto-celtislab",12,9070,92,30,88,"2026-04-04T21:11:54.262Z",[41,65,84,105,125],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":16,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":60,"download_link":61,"security_score":62,"vuln_count":63,"unpatched_count":63,"last_vuln_date":64,"fetched_at":30},"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","3.0","",[57,20,58,21,59],"admin","context","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,1,"2025-04-02 00:00:00",{"slug":66,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":73,"downloaded":74,"rating":75,"num_ratings":76,"last_updated":77,"tested_up_to":78,"requires_at_least":54,"requires_php":55,"tags":79,"homepage":80,"download_link":81,"security_score":82,"vuln_count":63,"unpatched_count":63,"last_vuln_date":83,"fetched_at":30},"widget-logic-visual","Widget Logic Visual","1.52","totalbounty","https:\u002F\u002Fprofiles.wordpress.org\u002Ftotalbounty\u002F","\u003Cp>Control, limit, and restrict what webpages widgets are shown on – point and click visual display.  Replaces original widget logic plugin because anyone can use it easily without knowing any code or template tags, “it just works”.\u003C\u002Fp>\n\u003Cp>\u003Cem>UPDATE\u003C\u002Fem> – now contains ability to visually add widget limitations or exceptions for display OR the ability to add conditional tag code (for advanced users).  You get the best of both worlds!\u003C\u002Fp>\n\u003Cp>The original Widget Logic plugin is very useful because it allows you to restrict the display of widgets to specific pages using WordPress “conditional tags”.  The only problem is that non-technical people don’t know how to use conditional tags.\u003C\u002Fp>\n\u003Cp>Another Plugin by: \u003Ca href=\"http:\u002F\u002Fwww.totalbounty.com\" title=\"Total Bounty Marketplace\" rel=\"nofollow ugc\">Total Bounty Marketplace\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>WordPress is now used by nearly 70 million websites worldwide and the majority of those website owners are non-technical people.  We created Widget Logic Visual Version for all of those people.  Now you can easily just point and click what sections of your WordPress website you want a widget to display on without knowing code, or “conditional tags” or any of that at all.\u003C\u002Fp>\n\u003Cp>You can select to restrict view of widgets to the homepage, specific posts or pages, tags or categories, author pages, etc.  You can create just about any combination of any of those you’d like as well.\u003C\u002Fp>\n\u003Cp>For instance, you could choose to display a widget on only the homepage and your “about” page, or specific tag or category pages – nearly any combination you can think of.\u003C\u002Fp>\n\u003Cp>Here’s a video tutorial:\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\u002FApP2A3rWtyU?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\u003Cp>Post plugins questions and comments in the forum:  \u003Ca href=\"http:\u002F\u002Fwww.totalbounty.com\u002Fforums\u002Ftopic\u002Fwidget-logic-visual-version\u002F\" title=\"Widget Logic Visual Forum\" rel=\"nofollow ugc\">Widget Logic Visual Forum\u003C\u002Fa>\u003C\u002Fp>\n","Widget Logic Visual Version lets you control on which pages widgets appear using WP's conditional tags without having to know how conditional tag &hellip;",200,38332,54,7,"2012-02-28T14:32:00.000Z","3.3.2",[57,20,58,21,23],"http:\u002F\u002Fwww.totalbounty.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-logic-visual.zip",63,"2026-01-27 00:00:00",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":38,"num_ratings":94,"last_updated":95,"tested_up_to":96,"requires_at_least":54,"requires_php":97,"tags":98,"homepage":55,"download_link":102,"security_score":103,"vuln_count":14,"unpatched_count":28,"last_vuln_date":104,"fetched_at":30},"widget-logic","Widget Logic","6.0.9","Widgetlogic.org","https:\u002F\u002Fprofiles.wordpress.org\u002Fwidgetlogics\u002F","\u003Cp>This plugin gives every widget an extra control field called “Widget logic” that lets you control the pages that the widget will appear on. The text field lets you use WP’s \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FConditional_Tags\" rel=\"nofollow ugc\">Conditional Tags\u003C\u002Fa>, or any general PHP code.\u003C\u002Fp>\n\u003Cp>The configuring and options are in the usual widget admin interface.\u003C\u002Fp>\n\u003Cp>BIG UPDATE:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Now you can control widget in Gutenberg Widgets editor as well as in Classic Editor. It is just as easy as before but also in gutenberg view.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Pre-installed widgets let you add special widget with one click of the mouse. First pre-installed widget is Live Match that let you add widget of one random live football game with real time score updates (teams logos, livescore, minute of the match, tournament name). And more interesting widgets to come!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>NOTE ON DEFAULT FUNCTIONS:\u003C\u002Fstrong> Widget Logic includes a whitelist of common WordPress conditional tags and safe functions. If you need additional WordPress functions that are not currently whitelisted, please create a topic in our \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwidget-logic\u002F\" rel=\"ugc\">support forum\u003C\u002Fa> to request them. We regularly add commonly requested functions in new releases.\u003C\u002Fp>\n\u003Ch4>Configuration\u003C\u002Fh4>\n\u003Cp>Aside from logic against your widgets, there are three options added to the foot of the widget admin page (see screenshots).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Use ‘wp_reset_query’ fix — Many features of WP, as well as the many themes and plugins out there, can mess with the conditional tags, such that is_home is NOT true on the home page. This can often be fixed with a quick wp_reset_query() statement just before the widgets are called, and this option puts that in for you rather than having to resort to code editing\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Load logic — This option allows you to set the point in the page load at which your widget logic if first checked. Pre v.50 it was when the ‘wp_head’ trigger happened, ie during the creation of the HTML’s HEAD block. Many themes didn’t call wp_head, which was a problem. From v.50 it happens, by default, as early as possible, which is as soon as the plugin loads. You can now specify these ‘late load’ points (in chronological order):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>after the theme loads (after_setup_theme trigger)\u003C\u002Fli>\n\u003Cli>when all PHP loaded (wp_loaded trigger)\u003C\u002Fli>\n\u003Cli>after query variables set (parse_query) – this is the default\u003C\u002Fli>\n\u003Cli>during page header (wp_head trigger)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You may need to delay the load if your logic depends on functions defined, eg in the theme functions.php file. Conversely you may want the load early so that the widget count is calculated correctly, eg to show an alternative layour or content when a sidebar has no widgets.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Don’t cache widget logic results — From v .58 the widget logic code should only execute once, but that might cause unexpected results with some themes, so this option is here to turn that behaviour off. (The truth\u002Ffalse of the code will be evaluated every time the sidebars_widgets filter is called.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Custom PHP Functions — From v.6.0.6 you can use the \u003Ccode>widget_logic_allowed_functions\u003C\u002Fcode> filter to add custom PHP functions that will be allowed in Widget Logic fields. By default, only WordPress conditional tags and a whitelist of safe functions are available. This filter allows you to extend the functionality and use your own custom functions.\u003C\u002Fp>\n\u003Cp>To add a custom function, add the following code to your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`add_filter('widget_logic_allowed_functions', 'my_allowed_functions');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>function my_allowed_functions($functions) {\u003Cbr \u002F>\n    $functions[] = ‘\u003Cem>my_custom_function_name\u003C\u002Fem>‘;\u003Cbr \u002F>\n    return $functions;\u003Cbr \u002F>\n}`\u003C\u002Fp>\n\u003Cp>You can add multiple functions by using one wrapper function:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`add_filter('widget_logic_allowed_functions', 'my_allowed_functions');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>function my_allowed_functions($functions) {\u003Cbr \u002F>\n    $functions[] = ‘is_special_page’;\u003Cbr \u002F>\n    $functions[] = ‘is_user_verified’;\u003Cbr \u002F>\n    $functions[] = ‘get_sidebar_title’;\u003Cbr \u002F>\n    return $functions;\u003Cbr \u002F>\n}`\u003C\u002Fp>\n\u003Cp>\u003Cstrong>IMPORTANT NOTE ON VARIABLES:\u003C\u002Fstrong> Widget Logic is designed to work with simple data types (strings, numbers, booleans). If you need to use complex variables, global state, or conditional logic that depends on many factors, create a custom function in your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file and call it from Widget Logic:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Good approach (in functions.php):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`function is_special_page() {\nglobal $post;\n$special_ids = array(5, 10, 15);\n$conditions = some_complex_function();\n\nreturn is_page() && in_array($post->ID, $special_ids) && $conditions;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>}`\u003C\u002Fp>\n\u003Cp>Then in Widget Logic field, simply use: \u003Ccode>is_special_page()\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Less ideal approach (in Widget Logic field):\u003C\u002Fstrong>\u003Cbr \u002F>\nAvoid putting complex logic directly in the Widget Logic field. Keep it simple and let your custom function handle the complexity. This keeps your widget settings clean and maintainable.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Interaction with External Services\u003C\u002Fh4>\n\u003Cp>Widget Logic uses the external service to obtain up-to-date information about the results of football matches. \u003Ca href=\"https:\u002F\u002Fwidgetlogic.org\" rel=\"nofollow ugc\">widgetlogic.org\u003C\u002Fa> is a source of sports information, that provides a wide range of information about football, including various leagues, tournaments, and championships from around the world.\u003C\u002Fp>\n\u003Cp>The functioning of the \u003Ca href=\"https:\u002F\u002Fwidgetlogic.org\" rel=\"nofollow ugc\">widgetlogic.org\u003C\u002Fa> service is based on delivering real-time data about selected matches without the need to refresh the page. This means that data is automatically updated without requiring page reload. This approach ensures users quick and uninterrupted access to the latest sports data without the effort of manually updating information, allowing them to stay informed about ongoing events in real-time.\u003C\u002Fp>\n\u003Ch3>Writing Logic Code\u003C\u002Fh3>\n\u003Cp>The text in the ‘Widget logic’ field can be full PHP code and should return ‘true’ when you need the widget to appear. If there is no ‘return’ in the text, an implicit ‘return’ is added to the start and a ‘;’ is added on the end. (This is just to make single statements like is_home() more convenient.)\u003C\u002Fp>\n\u003Ch4>The Basics\u003C\u002Fh4>\n\u003Cp>Make good use of \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FConditional_Tags\" rel=\"nofollow ugc\">WP’s own conditional tags\u003C\u002Fa>. You can vary and combine code using:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>!\u003C\u002Fcode> (NOT) to \u003Cstrong>reverse\u003C\u002Fstrong> the logic, eg \u003Ccode>!is_home()\u003C\u002Fcode> is TRUE when this is NOT the home page.\u003C\u002Fli>\n\u003Cli>\u003Ccode>||\u003C\u002Fcode> (OR) to \u003Cstrong>combine\u003C\u002Fstrong> conditions. \u003Ccode>X OR Y\u003C\u002Fcode> is TRUE when either X is true or Y is true.\u003C\u002Fli>\n\u003Cli>\u003Ccode>&&\u003C\u002Fcode> (AND) to make conditions \u003Cstrong>more specific\u003C\u002Fstrong>. \u003Ccode>X AND Y\u003C\u002Fcode> is TRUE when both X is true and Y is true.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>There are lots of great code examples on the WP forums, and on WP sites across the net. But the WP Codex is also full of good examples to adapt, such as \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Tags\u002Fin_category#Testing_if_a_post_is_in_a_descendant_category\" rel=\"nofollow ugc\">Test if post is in a descendent category\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>is_home()\u003C\u002Fcode> — just the main blog page\u003C\u002Fli>\n\u003Cli>\u003Ccode>!is_page('about')\u003C\u002Fcode> — everywhere EXCEPT this specific WP ‘page’\u003C\u002Fli>\n\u003Cli>\u003Ccode>!is_user_logged_in()\u003C\u002Fcode> — shown when a user is not logged in\u003C\u002Fli>\n\u003Cli>\u003Ccode>is_category(array(5,9,10,11))\u003C\u002Fcode> — category page of one of the given category IDs\u003C\u002Fli>\n\u003Cli>\u003Ccode>is_single() && in_category('baked-goods')\u003C\u002Fcode> — single post that’s in the category with this slug\u003C\u002Fli>\n\u003Cli>\u003Ccode>current_user_can('level_10')\u003C\u002Fcode> — admin only widget\u003C\u002Fli>\n\u003Cli>\u003Ccode>strpos($_SERVER['HTTP_REFERER'], \"google.com\")!=false\u003C\u002Fcode> — widget to show when clicked through from a google search\u003C\u002Fli>\n\u003Cli>\u003Ccode>is_category() && custom_function_to_check_the_category()\u003C\u002Fcode> — category page that’s a descendent of category 5\u003C\u002Fli>\n\u003Cli>\u003Ccode>custom_function_from_functions_php_to_check_the_page()\u003C\u002Fcode> — WP page that is a child of page 77\u003C\u002Fli>\n\u003Cli>\u003Ccode>custom_function_from_functions_php_to_check_the_page_child_of(13)\u003C\u002Fcode> — home page OR the page that’s a child of page 13\u003C\u002Fli>\n\u003C\u002Ful>\n","Widget Logic lets you control on which pages widgets appear using WP's conditional tags.",100000,3242040,188,"2026-01-15T09:43:00.000Z","6.9.4","5.4",[99,20,100,101,23],"blocks","gutenberg-widgets","sidebar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-logic.6.0.9.zip",95,"2025-06-09 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":13,"num_ratings":52,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":123,"download_link":124,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"ah-display-widgets","AH Display Widgets","1.0.3","Andreas Hecht","https:\u002F\u002Fprofiles.wordpress.org\u002Fahecht\u002F","\u003Cp>Simply hide widgets on specified pages. Adds checkboxes to each widget to either show or hide it on every site page.\u003C\u002Fp>\n\u003Cp>Change your sidebar content for different pages, categories, custom taxonomies, and WPML languages. Avoid creating multiple sidebars and duplicating widgets by adding check boxes to each widget in the admin which will either show or hide the widgets on every site page. Great for avoiding extra coding and keeping your sidebars clean.\u003C\u002Fp>\n\u003Cp>By default, ‘Hide on checked pages’ is selected with no boxes checked, so all current widgets will continue to display on all pages.\u003C\u002Fp>\n\u003Cp>If you’d like to contribute, you can find a development version on (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FHechtMediaArts\u002Fah-display-widgets\" title=\"GitHub\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>Check out my other plugins, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fah-prism-syntax-highlighter\u002F\" title=\"AH Code Highlighter\" rel=\"ugc\">AH Code Highlighter\u003C\u002Fa> – extreme simple to use Code Highlighting with 7 Highlighting-Themes, and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fevolution-twitter-timeline\u002F\" title=\"AH Twitter Timeline Widget\" rel=\"ugc\">AH Twitter Timeline Widget\u003C\u002Fa> to show the new and shiny Twitter Timeline from your Twitter-Account.\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Arabic\u003C\u002Fli>\n\u003Cli>Danish\u003C\u002Fli>\n\u003Cli>German\u003C\u002Fli>\n\u003Cli>Spanish\u003C\u002Fli>\n\u003Cli>Finnish\u003C\u002Fli>\n\u003Cli>Italian\u003C\u002Fli>\n\u003Cli>Japanese\u003C\u002Fli>\n\u003Cli>Dutch\u003C\u002Fli>\n\u003Cli>Polish\u003C\u002Fli>\n\u003Cli>Romanian\u003C\u002Fli>\n\u003Cli>Russian\u003C\u002Fli>\n\u003Cli>Albanian\u003C\u002Fli>\n\u003Cli>Swedish\u003C\u002Fli>\n\u003Cli>Chinese\u003C\u002Fli>\n\u003C\u002Ful>\n","Simply hide widgets on specified pages. Adds checkboxes to each widget to either show or hide it on every site page.",9000,74425,"2018-10-29T18:53:00.000Z","5.0.25","4.5","7.0",[120,22,121,23,122],"display-widgets","show","widgets","https:\u002F\u002Fandreas-hecht.com\u002Fah-display-widgets\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fah-display-widgets.1.0.3.zip",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":13,"num_ratings":135,"last_updated":136,"tested_up_to":137,"requires_at_least":138,"requires_php":55,"tags":139,"homepage":143,"download_link":144,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"remove-widget-titles","Remove Widget Titles","1.0","Stephen Cronin","https:\u002F\u002Fprofiles.wordpress.org\u002Fstephencronin\u002F","\u003Cp>The \u003Ca href=\"http:\u002F\u002Fscratch99.com\u002Fproducts\u002Fremove-widget-titles\u002F\" rel=\"nofollow ugc\">Remove Widget Titles\u003C\u002Fa> plugin removes the title from any widget that has a title starting with the “!” character.\u003C\u002Fp>\n\u003Ch4>Why Use It?\u003C\u002Fh4>\n\u003Cp>This allows you to give widgets a title in the backend for convenience – so you can quickly see which widget is which, rather than having to open them to work out what they are for – without having to show the title on the front end.\u003C\u002Fp>\n\u003Ch4>How To Use (once plugin is installed)\u003C\u002Fh4>\n\u003Cp>If you have a widget for which you do not want the title to appear on the front end of your site, simply add the “!” character to the start of the widget title (in Appearance -> Widgets).\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin requires WordPress 2.6 or above.\u003C\u002Fli>\n\u003Cli>I am not currently aware of any compatibility issues with any other WordPress plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Similar Plugins\u003C\u002Fh4>\n\u003Cp>There is another plugin called \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fhide-widget-title\u002F\" rel=\"ugc\">Hide Widget Title\u003C\u002Fa>, but that leaves the widget title in the page source and hides it using CSS (adding another http request which slows load time slightly). Remove Widget Titles actually removes the widget title from the HTML. The plugin is only 7 lines of code, so it is extremely light and has minimal impact on performance.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>This plugin is officially not supported (due to my time constraints), but if you leave a comment on the plugin’s home page or \u003Ca href=\"http:\u002F\u002Fwww.scratch99.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">contact me\u003C\u002Fa>, I’ll try to help if I can.\u003C\u002Fp>\n\u003Ch4>Disclaimer\u003C\u002Fh4>\n\u003Cp>This plugin is released under the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.html\" rel=\"nofollow ugc\">GPL licence\u003C\u002Fa>. I do not accept any responsibility for any damages or losses, direct or indirect, that may arise from using the plugin or these instructions. This software is provided as is, with absolutely no warranty. Please refer to the full version of the GPL license for more information.\u003C\u002Fp>\n\u003Ch4>Acknowledgements\u003C\u002Fh4>\n\u003Cp>This plugin was originally written for \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002F#!\u002Fqpsmedia\" rel=\"nofollow ugc\">QPS Media\u003C\u002Fa>, who have allowed me to release it to the WordPress community and maintain ownership of the plugin.\u003C\u002Fp>\n","The Remove Widget Titles plugin removes the title from any widget that has a title starting with the \"!\" character.",7000,61646,27,"2017-11-28T11:49:00.000Z","4.8.28","2.6.0",[22,140,141,23,142],"remove","usability","widget-titles","http:\u002F\u002Fscratch99.com\u002Fwordpress\u002Fplugins\u002Fremove-widget-titles\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fremove-widget-titles.1.0.zip",{"attackSurface":146,"codeSignals":203,"taintFlows":256,"riskAssessment":274,"analyzedAt":282},{"hooks":147,"ajaxHandlers":184,"restRoutes":199,"shortcodes":200,"cronEvents":201,"entryPointCount":202,"unprotectedCount":28},[148,154,159,164,169,173,176,180],{"type":149,"name":150,"callback":151,"priority":28,"file":152,"line":153},"action","init","closure","widget-display-filter.php",18,{"type":149,"name":155,"callback":156,"priority":157,"file":152,"line":158},"widgets_init","widget_unregist",99,47,{"type":21,"name":160,"callback":161,"priority":162,"file":152,"line":163},"widget_display_callback","widget_instance_filter",10,48,{"type":149,"name":165,"callback":166,"file":167,"line":168},"admin_init","action_posts","widget-display-setting.php",16,{"type":149,"name":170,"callback":171,"file":167,"line":172},"admin_menu","my_option_menu",17,{"type":149,"name":174,"callback":175,"file":167,"line":153},"admin_print_styles-appearance_page_widget_display_filter_manage_page","admin_styles",{"type":149,"name":177,"callback":178,"file":167,"line":179},"admin_print_scripts-appearance_page_widget_display_filter_manage_page","admin_scripts",19,{"type":149,"name":181,"callback":182,"file":167,"line":183},"admin_notices","widget_filter_notice",41,[185,191,195],{"action":186,"nopriv":187,"callback":188,"hasNonce":189,"hasCapCheck":187,"file":167,"line":190},"Widget_filter_postid",false,"widget_filter_postid",true,20,{"action":192,"nopriv":187,"callback":193,"hasNonce":189,"hasCapCheck":187,"file":167,"line":194},"Widget_filter_category","widget_filter_category",21,{"action":196,"nopriv":187,"callback":197,"hasNonce":189,"hasCapCheck":187,"file":167,"line":198},"Widget_filter_post_tag","widget_filter_post_tag",22,[],[],[],3,{"dangerousFunctions":204,"sqlUsage":205,"outputEscaping":209,"fileOperations":28,"externalRequests":28,"nonceChecks":76,"capabilityChecks":63,"bundledLibraries":255},[],{"prepared":28,"raw":63,"locations":206},[207],{"file":152,"line":37,"context":208},"$wpdb->get_col() with variable interpolation",{"escaped":63,"rawEcho":198,"locations":210},[211,214,216,218,220,222,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253],{"file":167,"line":212,"context":213},29,"raw output",{"file":167,"line":215,"context":213},419,{"file":167,"line":217,"context":213},428,{"file":167,"line":219,"context":213},439,{"file":167,"line":221,"context":213},451,{"file":167,"line":221,"context":213},{"file":167,"line":224,"context":213},455,{"file":167,"line":226,"context":213},456,{"file":167,"line":228,"context":213},457,{"file":167,"line":230,"context":213},461,{"file":167,"line":232,"context":213},470,{"file":167,"line":234,"context":213},481,{"file":167,"line":236,"context":213},491,{"file":167,"line":238,"context":213},495,{"file":167,"line":240,"context":213},500,{"file":167,"line":242,"context":213},541,{"file":167,"line":244,"context":213},542,{"file":167,"line":246,"context":213},543,{"file":167,"line":248,"context":213},546,{"file":167,"line":250,"context":213},568,{"file":167,"line":252,"context":213},630,{"file":167,"line":254,"context":213},667,[],[257],{"entryPoint":258,"graph":259,"unsanitizedCount":28,"severity":273},"\u003Cwidget-display-setting> (widget-display-setting.php:0)",{"nodes":260,"edges":271},[261,266],{"id":262,"type":263,"label":264,"file":167,"line":265},"n0","source","$_POST",300,{"id":267,"type":268,"label":269,"file":167,"line":244,"wp_function":270},"n1","sink","echo() [XSS]","echo",[272],{"from":262,"to":267,"sanitized":189},"low",{"summary":275,"deductions":276},"The \"widget-display-filter\" plugin v2.0.0 exhibits a generally positive security posture based on the provided static analysis. The absence of any known CVEs, critical or high-severity taint flows, and a complete lack of file operations or external HTTP requests are strong indicators of good development practices.  Furthermore, the presence of numerous nonce checks and a decent number of capability checks on the identified entry points suggests an awareness of common WordPress security vulnerabilities. The fact that all identified entry points (AJAX handlers) are protected is a significant strength.\n\nHowever, a key area for concern lies within the handling of SQL queries. The analysis reveals one SQL query that is not using prepared statements, which presents a potential risk of SQL injection. Additionally, a low percentage of output escaping (4%) across 23 identified outputs is a significant weakness. While taint analysis did not reveal any unsanitized paths, the lack of robust output escaping means that user-supplied data, if it ever finds its way into these outputs, could potentially lead to Cross-Site Scripting (XSS) vulnerabilities, especially if combined with future changes or undiscovered vulnerabilities.\n\nOverall, the plugin is well-protected against common injection vectors through its input validation and lack of external dependencies. Its vulnerability history being clean is a positive sign. The primary weaknesses are the non-prepared SQL query and the low rate of output escaping, which, despite the current lack of critical taint flows, represent areas that require attention to solidify its security. Addressing these would move the plugin towards a more robust and secure state.",[277,279],{"reason":278,"points":76},"SQL query without prepared statement",{"reason":280,"points":281},"Low percentage of properly escaped output",6,"2026-03-16T22:09:15.510Z",{"wat":284,"direct":293},{"assetPaths":285,"generatorPatterns":288,"scriptPaths":289,"versionParams":290},[286,287],"\u002Fwp-content\u002Fplugins\u002Fwidget-display-filter\u002Fwidget-display-filter.php","\u002Fwp-content\u002Fplugins\u002Fwidget-display-filter\u002Fwidget-display-setting.php",[],[],[291,292],"widget-display-filter\u002Fwidget-display-filter.php?ver=","widget-display-filter\u002Fwidget-display-setting.php?ver=",{"cssClasses":294,"htmlComments":296,"htmlAttributes":298,"restEndpoints":300,"jsGlobals":301,"shortcodeOutput":303},[295],"wdfilter-settings",[297],"\u003C!-- widget display filter -->",[299],"data-wdfilter-id",[],[302],"wdfilter_params",[]]