[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f0V9FGWbSDZdQrtS1tbeHLwm6Sz0PPEUFnY10x_GGVUM":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":17,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":146,"fingerprints":171},"conditional-tags-shortcode","Conditional Tags Shortcode","0.2","shazdeh","https:\u002F\u002Fprofiles.wordpress.org\u002Fshazdeh\u002F","\u003Cp>With this shortcode you can take control of where the content is displayed.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>You can use all the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FConditional_Tags\" rel=\"nofollow ugc\">conditional tags\u003C\u002Fa> WordPress provides. Checkout examples below.\u003C\u002Fp>\n\u003Cp>Show text only on the homepage:\u003Cbr \u002F>\n    [if is_front_page] The text [\u002Fif]\u003C\u002Fp>\n\u003Cp>Show text only on the About page of the site:\u003Cbr \u002F>\n    [if is_page=”about”] The text [\u002Fif]\u003C\u002Fp>\n\u003Cp>Show only on the category archive view:\u003Cbr \u002F>\n    [if is_category] The text [\u002Fif]\u003C\u002Fp>\n\u003Cp>You can add “not_” before the conditional tag to reverse the logic, example:\u003Cbr \u002F>\nShow on all pages of the site except the homepage:\u003Cbr \u002F>\n    [if not_is_front_page] The text [\u002Fif]\u003C\u002Fp>\n\u003Ch4>OR\u003C\u002Fh4>\n\u003Cp>Using multiple parameters, the content is displayed when either of the conditions are met (“OR” comparison), for example, show text on both category and tag archive pages:\u003Cbr \u002F>\n    [if is_category is_tag] The text [\u002Fif]\u003C\u002Fp>\n\u003Ch4>AND\u003C\u002Fh4>\n\u003Cp>To set multiple conditions you can nest the shortcode, for example show text only on homepage AND if the user is logged in:\u003Cbr \u002F>\n    [if is_user_logged_in][if is_front_page] The text [\u002Fif][\u002Fif]\u003C\u002Fp>\n\u003Cp>Show a link to wordpress.org site, only on single post pages and only on mobile devices:\u003Cbr \u002F>\n    [if wp_is_mobile][if is_single] \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002F\" rel=\"ugc\">WordPress\u003C\u002Fa> [\u002Fif][\u002Fif]\u003C\u002Fp>\n\u003Ch4>has_term_{taxonomy}\u003C\u002Fh4>\n\u003Cp>You can use this to check if the current post in the loops belongs to a custom term in the desired taxonomy. See: https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fhas_term\u003C\u002Fp>\n\u003Cp>Example, check if current post has the “jazz” term in the “genre” taxonomy:\u003Cbr \u002F>\n    [if has_term_genre=”jazz”] The text [\u002Fif]\u003C\u002Fp>\n","A shortcode to display content based on context.",100,8135,2,"2020-05-26T16:38:00.000Z","5.4.19","3.1","",[19,20,21,22,23],"conditional","conditional-tags","context","page","shortcode","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconditional-tags-shortcode.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},24,4480,86,30,84,"2026-04-04T15:06:20.269Z",[38,61,84,107,127],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":17,"tags":53,"homepage":57,"download_link":58,"security_score":59,"vuln_count":13,"unpatched_count":26,"last_vuln_date":60,"fetched_at":28},"conditional-menus","Conditional Menus","1.2.7","themifyme","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemifyme\u002F","\u003Cp>Conditional Menus is a simple yet useful WordPress plugin by \u003Ca href=\"https:\u002F\u002Fthemify.me\u002F\" rel=\"nofollow ugc\">Themify\u003C\u002Fa>, which allows you to swap the menus in the theme as per specific conditions. In short, you can have different menus in different posts, pages, categories, archive pages, etc. It works with any WordPress theme that uses the standard WordPress menu function.\u003C\u002Fp>\n\u003Ch3>How to use it\u003C\u002Fh3>\n\u003Cp>Once you activate the plugin, you will see the conditional menus on the Manage Locations tab located in your WP Admin > Appearance > Menus page.\u003C\u002Fp>\n\u003Cp>1) To add conditional menu: click “Conditional Menu” and select a menu from the list (you can create these menus in the “Edit Menus” tab)\u003Cbr \u002F>\n   – You can remove the menu by selecting “Disable Menu” from the list.\u003Cbr \u002F>\n2) Click on “+ Conditions” to add conditions in the modal box (tick the checkboxes where you want the menu to appear)\u003Cbr \u002F>\n3) To remove the conditional menus, click on the “X” button\u003C\u002Fp>\n\u003Cp>Visit https:\u002F\u002Fthemify.me\u002Fconditional-menus for more details.\u003C\u002Fp>\n","This plugin enables you to set conditional menus per posts, pages, categories, archive pages, etc.",60000,879798,88,72,"2026-02-17T20:29:00.000Z","6.9.4","4.0",[54,20,21,55,56],"admin","menu","menu-items","https:\u002F\u002Fthemify.me\u002Fconditional-menus","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconditional-menus.1.2.7.zip",98,"2026-03-25 00:00:00",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":72,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":17,"tags":76,"homepage":79,"download_link":80,"security_score":81,"vuln_count":82,"unpatched_count":82,"last_vuln_date":83,"fetched_at":28},"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","3.0",[54,20,21,77,78],"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,1,"2025-04-02 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":94,"num_ratings":13,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":98,"tags":99,"homepage":105,"download_link":106,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"edd-additional-shortcodes","Easy Digital Downloads – Additional Shortcodes","1.4.2","Chris Klosowski","https:\u002F\u002Fprofiles.wordpress.org\u002Fcklosows\u002F","\u003Cp>Additional Shortcoddes for Easy Digital Downloads adds powerful condional page logic for your WordPress powered ecommerce store.\u003C\u002Fp>\n\u003Ch3>How to use Additional Shortcodes\u003C\u002Fh3>\n\u003Cp>The shortcodes included all need opening and closing tags:\u003C\u002Fp>\n\u003Cp>Show content if shopping cart is \u003Cem>not\u003C\u002Fem> empty.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_cart_has_contents] Content Here [\u002Fedd_cart_has_contents]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show content if the shopping cart \u003Cem>is empty\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_cart_is_empty] Content Here [\u002Fedd_cart_is_empty]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show the content if the cart contains specific products (supports any, all, and variations)\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_items_in_cart ids=\"20\"] Content Here [\u002Fedd_items_in_cart]\n\n[edd_items_in_cart ids=\"20,34,25:1\"] Content Here [\u002Fedd_items_in_cart]\n\n[edd_items_in_cart ids=\"20,34,25:1\" match=\"all\"] Content Here [\u002Fedd_items_in_cart]\n\n[edd_items_in_cart ids=\"20,34,25:1\" match=\"any\"] Content Here [\u002Fedd_items_in_cart]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show the content if the cart does \u003Cem>not\u003C\u002Fem> contain specific products (supports any, all, and variations)\u003C\u002Fp>\n\u003Cp>[edd_items_not_in_cart ids=”20″]Content here[\u002Fedd_items_not_in_cart]\u003Cbr \u002F>\n[edd_items_not_in_cart ids=”20,34,25:1″]Content Here[\u002Fedd_items_not_in_cart]\u003Cbr \u002F>\n[edd_items_not_in_cart ids=”20,34,25:1″ match=”all”]Content Here[\u002Fedd_items_not_in_cart]\u003Cbr \u002F>\n[edd_items_not_in_cart ids=”20,34,25:1″ match=”any”]Content Here[\u002Fedd_items_not_in_cart]\u003C\u002Fp>\n\u003Cp>Show the content if the user has made previous purchases (will always be hidden if logged out)\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_user_has_purchases] Content Here [\u002Fedd_user_has_purchases]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show the content only if the user has no purchases. Includes the ‘loggedout’ parameter to specify if logged out users\u003Cbr \u002F>\nshould be included in seeing the content. (Default true)\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_user_has_no_purchases loggedout=\"true\"] Content Here [\u002Fedd_user_has_no_purchases]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show the content to logged in users\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_is_user_logged_in] Content Here [\u002Fedd_is_user_logged_in]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show the content only to logged out users\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_is_user_logged_out] Content Here [\u002Fedd_is_user_logged_out]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show content only if a user has purchased any of the specified download ids.\u003Cbr \u002F>\nSupports multiple IDs. If a download has variable pricing, you can pass just the ID for all options, or \u003Ccode>\u003Cdownload id>\u003C\u002Fcode>:\u003Ccode>\u003Cprice id>\u003C\u002Fcode> for a specific variable pricing option.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_user_has_purchased ids=\"20,34,25:1\"] Content Here [\u002Fedd_user_has_purchased]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Feasydigitaldownloads.com\u002Fpricing#professional-pass\" rel=\"nofollow ugc\">Software Licensing Support\u003C\u002Fa>:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Show content only if a user has active licenses\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_has_active_licenses] Content Here [\u002Fedd_has_active_licenses]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show content only if user has expired licenses\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_has_expired_licenses]Content Here[\u002Fedd_has_expired_licenses]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Show content only if user has all expired licenses\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[edd_has_all_expired_licenses]Content Here[\u002Fedd_has_all_expired_licenses]\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Add powerful conditional page content support to WordPress based on Easy Digital Downloads conditions.",400,10958,90,"2022-11-02T22:12:00.000Z","6.1.10","4.9","5.3",[100,101,102,103,104],"conditional-logic","easy-digital-downloads","landing-page","shopping-cart","shortcodes","https:\u002F\u002Feasydigitaldownloads.com\u002Fdownloads\u002Fedd-additional-shortcodes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fedd-additional-shortcodes.1.4.2.zip",{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":115,"downloaded":116,"rating":11,"num_ratings":117,"last_updated":118,"tested_up_to":119,"requires_at_least":120,"requires_php":121,"tags":122,"homepage":17,"download_link":125,"security_score":126,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"if-shortcode","If Shortcode","0.3.0","geomagas","https:\u002F\u002Fprofiles.wordpress.org\u002Fgeomagas\u002F","\u003Cp>This plugin provides an [if] shortcode to conditionally render content. The syntax is the following:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[if condition1 condition2=false condition3]{content}[\u002Fif]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Conditions are passed as attribute names. Multiple conditions evaluate to the result of ORing all of them. In other words, if at least one condition evaluates to the desired boolean result, {content} is rendered, otherwise it is discarded.\u003Cbr \u002F>\nAttribute values determine if we want the condition to be true or false. A value of \u003Ccode>'0'\u003C\u002Fcode>, \u003Ccode>'false'\u003C\u002Fcode>, \u003Ccode>''\u003C\u002Fcode> (the empty string), \u003Ccode>'null'\u003C\u002Fcode> or \u003Ccode>'no'\u003C\u002Fcode> means we expect the condition to be false. Anything else, including the absense of a value, is interpreted as true.\u003C\u002Fp>\n\u003Cp>For example, suppose that we want to include a sentence in a post, but only for anonymous visitors:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[if is_user_logged_in=no]The Sentence.[\u002Fif]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It also provides an [else] shortcode and an [eitherway] one for use inside [if] blocks. [else] will render its content if the condition evaluates to false, and [eitherway] will render its content regardless of the evaluation result.\u003Cbr \u002F>\nWhen used outside an [if] block, these shortcodes behave as if the whole content is surrounded by an [if] shortcode whose condition evaluates to true. In other words, an [else] shortcode would not render any content, while a [eitherway] one would. You can use as many of these shortcodes as you like in a single [if] block, which gives you the ability to do things like:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    - Am I logged in?\n    [if is_user_logged_in]- Yes you are.\n    [else]- No you are not.\n    [\u002Felse][eitherway]- I'm sorry, what?\n    [\u002Feitherway]- I said YOU A-R-E LOGGED IN!!!\n    [else]- YOU ARE NOT LOGGED IN!!! What's the matter with you?[\u002Felse][\u002Fif]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>A multitude of conditions are supported out-of-the-box. The following evaluate to the result of the corresponding \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fthemes\u002Fbasics\u002Fconditional-tags\u002F\" rel=\"nofollow ugc\">WordPress Conditional Tag\u003C\u002Fa>, using the no-parameter syntax:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    is_single\n    is_singular\n    is_page\n    is_home\n    is_front_page\n    is_privacy_policy\n    is_attachment\n    is_category\n    is_tag\n    is_tax\n    is_author\n    is_archive\n    is_year\n    is_month\n    is_date\n    is_day\n    is_time\n    is_feed\n    is_search\n    is_sticky\n    is_preview\n    has_term\n    has_excerpt\n    comments_open\n    pings_open\n    is_404\n    is_user_logged_in\n    is_super_admin\n    is_multi_author\n    is_multisite\n    is_main_site\n    is_child_theme\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For example, the evaluation of the \u003Ccode>is_page\u003C\u002Fcode> condition is equivalent to calling \u003Ccode>is_page()\u003C\u002Fcode> with no parameter.\u003C\u002Fp>\n\u003Ch3>Extending\u003C\u002Fh3>\n\u003Cp>The functionality of the plugin can be extended by other plugins, by means of adding custom conditions through filters. To add a custom condition, a filter hook must be defined in the following manner:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter($if_shortcode_filter_prefix.'my_condition','my_condition_evaluator');\n\nfunction my_condition_evaluator($value) {\n    $evaluate=.... \u002F* add your evaluation code here *\u002F\n    return $evaluate;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, you can use your custom condition like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[if my_condition]{content}[\u002Fif]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>A big thanks to M Miller for the \u003Ca href=\"http:\u002F\u002Fwordpress.stackexchange.com\u002Fa\u002F123073\u002F39275\" rel=\"nofollow ugc\">\u003Ccode>normalize_empty_atts()\u003C\u002Fcode>\u003C\u002Fa> function.\u003C\u002Fp>\n","This plugin provides an [if] shortcode to conditionally render content.",200,4871,6,"2024-08-02T18:34:00.000Z","6.6.5","3.0.1","5.4",[19,20,123,124,23],"else","if","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fif-shortcode.0.3.0.zip",92,{"slug":128,"name":129,"version":130,"author":131,"author_profile":132,"description":133,"short_description":134,"active_installs":115,"downloaded":135,"rating":136,"num_ratings":137,"last_updated":138,"tested_up_to":139,"requires_at_least":75,"requires_php":17,"tags":140,"homepage":142,"download_link":143,"security_score":144,"vuln_count":82,"unpatched_count":82,"last_vuln_date":145,"fetched_at":28},"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;",38332,54,7,"2012-02-28T14:32:00.000Z","3.3.2",[54,20,21,77,141],"widget","http:\u002F\u002Fwww.totalbounty.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-logic-visual.zip",63,"2026-01-27 00:00:00",{"attackSurface":147,"codeSignals":157,"taintFlows":164,"riskAssessment":165,"analyzedAt":170},{"hooks":148,"ajaxHandlers":149,"restRoutes":150,"shortcodes":151,"cronEvents":156,"entryPointCount":82,"unprotectedCount":26},[],[],[],[152],{"tag":124,"callback":153,"file":154,"line":155},"conditional_tags_shortcode","init.php",57,[],{"dangerousFunctions":158,"sqlUsage":159,"outputEscaping":161,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":163},[],{"prepared":26,"raw":26,"locations":160},[],{"escaped":26,"rawEcho":26,"locations":162},[],[],[],{"summary":166,"deductions":167},"The \"conditional-tags-shortcode\" plugin v0.2 exhibits a generally strong security posture based on the provided static analysis. It demonstrates good development practices by avoiding dangerous functions, using prepared statements for all SQL queries, and properly escaping all output. The absence of file operations and external HTTP requests further reduces potential attack vectors.  The plugin also has a clean vulnerability history with no recorded CVEs, indicating a history of secure development or effective patching by users if vulnerabilities were ever present.\n\nHowever, a notable area of concern is the complete absence of nonce checks and capability checks for its single shortcode. While the attack surface is small (only one shortcode and no unprotected AJAX handlers or REST API routes), this lack of authorization checks means that any authenticated user, regardless of their role or permissions, can potentially trigger the shortcode's functionality. This could be a weakness if the shortcode's logic has any side effects or relies on user context that should be restricted.\n\nIn conclusion, the plugin's adherence to secure coding practices for data handling and output is commendable. The primary weakness lies in the insufficient authorization checks for its shortcode, which, despite the limited attack surface, presents a potential risk if the shortcode's actions are sensitive. The lack of any reported vulnerabilities is a positive indicator, but the absence of nonce\u002Fcapability checks is a missed security opportunity.",[168],{"reason":169,"points":137},"Missing nonce\u002Fcapability checks on shortcode","2026-03-16T20:40:17.584Z",{"wat":172,"direct":177},{"assetPaths":173,"generatorPatterns":174,"scriptPaths":175,"versionParams":176},[],[],[],[],{"cssClasses":178,"htmlComments":179,"htmlAttributes":180,"restEndpoints":181,"jsGlobals":182,"shortcodeOutput":183},[],[],[],[],[],[184],"[if"]