[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fntt2LON2qsczqM19B_UxwNPeIZLk5APzbW-Jq4LDogE":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":37,"analysis":130,"fingerprints":168},"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,100,6,"2024-08-02T18:34:00.000Z","6.6.5","3.0.1","5.4",[20,21,22,23,24],"conditional","conditional-tags","else","if","shortcode","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fif-shortcode.0.3.0.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},1,30,88,"2026-04-04T06:58:17.099Z",[38,56,75,92,113],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":13,"downloaded":46,"rating":13,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":25,"tags":51,"homepage":25,"download_link":54,"security_score":55,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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.",8135,2,"2020-05-26T16:38:00.000Z","5.4.19","3.1",[20,21,52,53,24],"context","page","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconditional-tags-shortcode.zip",85,{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":13,"num_ratings":47,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":25,"tags":69,"homepage":73,"download_link":74,"security_score":55,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"optional-content","Optional Content","1.1","kylegetson","https:\u002F\u002Fprofiles.wordpress.org\u002Fkylegetson\u002F","\u003Cp>This plugin allows you to show or hide content on a page or post based on a simple shortcode. You don’t need PHP knowledge, or a PHP enabling plugin. Simply use a button on the WYSIWYG editor to select under what condition you would like the content displayed. Fast, simple, and safe. Keep your template files clean by removing your PHP logic. Now allows shortcodes inside of the conditional content.\u003C\u002Fp>\n\u003Cp>Display content based on the following conditions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Manual on\u002Foff setting\u003C\u002Fli>\n\u003Cli>Before, after, or between specific times (repeated daily)\u003C\u002Fli>\n\u003Cli>Before, after or between specific dates\u003C\u002Fli>\n\u003Cli>Based on if the visitor is logged in\u003C\u002Fli>\n\u003Cli>Based on a specific user (by user id) or multiple users (by user id)\u003C\u002Fli>\n\u003Cli>Based on GET variables (variables passed on the URL in the form of http:\u002F\u002Fwww.example.com\u002Fabout\u002F?test=value where the variable is ‘test’)\u003C\u002Fli>\n\u003Cli>Based on POST variables (variables sent via forms)\u003C\u002Fli>\n\u003Cli>Based on REQUEST variables (either GET or POST variables)\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin makes it easy to conditionally display content. No more if statements in your template files!",40,5689,"2011-06-13T02:59:00.000Z","3.1.4","2.8.0",[70,23,71,57,72],"conditional-content","if-else","php","http:\u002F\u002Fgetson.info","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foptional-content.1.1.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":64,"downloaded":83,"rating":13,"num_ratings":84,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":25,"tags":88,"homepage":90,"download_link":91,"security_score":55,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-conditional-shortcodes","WP Conditional Shortcodes","1.1.2","TomHarrigan","https:\u002F\u002Fprofiles.wordpress.org\u002Ftomharrigan\u002F","\u003Cp>This plugin gives content developers shortcode equivalents to the conditional tags that WordPress provides for theme developments.  Each shortcode only includes its contents if a certain condition is true.  This allows them to modify what content is shown in any given context on a post-by-post basis. is_page, is_single and is_category allow specific pages, posts, categories to be specified by using the “ids” parameter.\u003C\u002Fp>\n\u003Cp>The shortcodes and when they include contents are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>is_single – if showing a single post. Use the optional parameter “ids” to specify specific posts.\u003C\u002Fli>\n\u003Cli>is_singular – if showing a single post or page.\u003C\u002Fli>\n\u003Cli>is_page – if showing a page. Use the optional parameter “ids” to specify specific pages.\u003C\u002Fli>\n\u003Cli>is_home – if showing the blog home.\u003C\u002Fli>\n\u003Cli>is_front_page – if showing the front page of the site.\u003C\u002Fli>\n\u003Cli>is_sticky – if the current post or page is ‘sticky’.\u003C\u002Fli>\n\u003Cli>is_category – if showing a category-based archive. Use the optional parameter “ids” to specify specific categories.\u003C\u002Fli>\n\u003Cli>is_page – if showing a page.\u003C\u002Fli>\n\u003Cli>is_tag – if showing a tag-based archive.\u003C\u002Fli>\n\u003Cli>is_tax – if showing a tag- or category-based archive.\u003C\u002Fli>\n\u003Cli>is_author – if showing an author-based archive.\u003C\u002Fli>\n\u003Cli>is_archive – if showing any archive.\u003C\u002Fli>\n\u003Cli>is_year – if showing a yearly archive.\u003C\u002Fli>\n\u003Cli>is_month – if showing a monthly archive.\u003C\u002Fli>\n\u003Cli>is_day – if showing a daily archive.\u003C\u002Fli>\n\u003Cli>is_time – if showing an hourly or shorter archive.\u003C\u002Fli>\n\u003Cli>is_feed – if generating a feed.\u003C\u002Fli>\n\u003Cli>is_search – if showing search results.\u003C\u002Fli>\n\u003Cli>comments_open – if comments are open for the current post or page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Each shortcode also has an “else” shortcode that can go inside it.  For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[is_single]\nThis is only shown if showing just this post.\n[not_single]\nThis is shown everywhere else.\n[\u002Fis_single]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The is_page, is_category and is_single shortcodes allow you to specify pages, categories, posts on which to show the content if you’d like to only show content within the shortcode on specific pages, posts or categories.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[is_page ids=\"76, 339\"]hello[\u002Fis_page]\n\n[is_category ids=\"5, 7\"]hello[\u002Fis_page]\n\n[is_single ids=\"94, 63\"]hello[\u002Fis_single]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In general, the “else” shortcode is just replacing “is” with “not”.  The one exception is “not_comments_open” as the “else” shortcode for “comments_open”.\u003C\u002Fp>\n\u003Cp>Whichever chunk of content is included is processed for shortcodes, so you can use all your other shortcodes and even nest these if you need to.\u003C\u002Fp>\n\u003Ch3>Further Instructions\u003C\u002Fh3>\n\u003Cp>Any other information I have can be found at the \u003Ca href=\"http:\u002F\u002Fthomasharrigan.com\u002Fwordpress-conditional-shortcodes\u002F\" rel=\"nofollow ugc\">WP Conditional Shortcodes Homepage\u003C\u002Fa>.\u003C\u002Fp>\n","Use conditional tags as shortcodes.",3388,4,"2013-02-27T10:23:00.000Z","3.5.2","2.5",[20,21,24,89],"shortcodes","http:\u002F\u002Fthomasharrigan.com\u002Fwordpress-conditional-shortcodes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-conditional-shortcodes.zip",{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":28,"downloaded":100,"rating":28,"num_ratings":28,"last_updated":25,"tested_up_to":101,"requires_at_least":102,"requires_php":103,"tags":104,"homepage":110,"download_link":111,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":112},"embedx","embedX","1.0.0","Liton Arefin","https:\u002F\u002Fprofiles.wordpress.org\u002Flitonice13\u002F","\u003Cp>Elevate your content creation journey with our user-friendly plugin, seamlessly integrating iframes into the content for a smoother experience.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Simply use [embedx] shortcode with src attribut.Example [embedx src=”https:\u002F\u002Fwordpress.org”]\u003Cbr \u002F>\nyou can also use other parameter (width,height,style,class).\u003Cbr \u002F>\n— width\u003Cbr \u002F>\nfor set width (ex width=”100%”)\u003C\u002Fp>\n\u003Cp>— height\u003Cbr \u002F>\nfor set height (ex height=”100%”)\u003C\u002Fp>\n\u003Cp>— style\u003Cbr \u002F>\nfor add css style (ex style=”overfollow:hidden;height:220px;”)\u003C\u002Fp>\n\u003Cp>— class\u003Cbr \u002F>\nfor add css class (ex class=”yourclass”)\u003C\u002Fp>\n\u003Cp>— login\u003Cbr \u002F>\nit will show iframe data for logged in user.Default is false (ex login=”true”)\u003C\u002Fp>\n","Show iframes easily on WordPress.",485,"6.5.8","4.0","7.0",[105,106,107,108,109],"conditional-iframe","embed","iframe","iframe-by-shortcode","iframe-for-logged-user","https:\u002F\u002Fjeweltheme.com\u002Fembedx","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fembedx.zip","2026-03-15T10:48:56.248Z",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":28,"downloaded":121,"rating":13,"num_ratings":47,"last_updated":122,"tested_up_to":123,"requires_at_least":124,"requires_php":25,"tags":125,"homepage":128,"download_link":129,"security_score":55,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"personalized-shortcode-pro","Personalized Shortcodes Pro","1.0.1","poglaa","https:\u002F\u002Fprofiles.wordpress.org\u002Fpoglaa\u002F","\u003Cp>The plugin enables user to add various data from visitor in the content as a shortcode. Some use cases:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Doctors in New York love this device (New York gets replaced by the user’s city)\u003C\u002Fli>\n\u003Cli>Is your iPhone screen broken? (iPhone is gets replaced)\u003C\u002Fli>\n\u003Cli>Slovenians are the smartest people in the world. (Slovenians gets replaced)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>It is also possible to output content conditionally. Let’s say you want to show some content only for EU users (GDPR). Just wrap the content in suitable shortcode and it will only get displayed for users in EU. The same goes for excluding content.\u003C\u002Fp>\n\u003Cp>To see all the attributes, visit \u003Ca href=\"https:\u002F\u002Fmaticpogladic.com\u002Fpersonalized-shortcode-pro\" rel=\"nofollow ugc\">documentation page\u003C\u002Fa>.\u003C\u002Fp>\n","Shortcodes with all the visitor's info that we can get (country, IP, country phone code, country flag emoji, city...).",1164,"2019-07-06T08:12:00.000Z","5.2.24","4.2",[70,126,127,89],"country-specific-content","geoip","https:\u002F\u002Fmaticpogladic.com\u002Fpersonalized-shortcode-pro\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpersonalized-shortcode-pro.1.0.1.zip",{"attackSurface":131,"codeSignals":151,"taintFlows":158,"riskAssessment":159,"analyzedAt":167},{"hooks":132,"ajaxHandlers":139,"restRoutes":140,"shortcodes":141,"cronEvents":149,"entryPointCount":150,"unprotectedCount":28},[133],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","init","closure","plugin.php",51,[],[],[142,144,146],{"tag":23,"callback":136,"file":137,"line":143},17,{"tag":22,"callback":136,"file":137,"line":145},36,{"tag":147,"callback":136,"file":137,"line":148},"eitherway",43,[],3,{"dangerousFunctions":152,"sqlUsage":153,"outputEscaping":155,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":157},[],{"prepared":28,"raw":28,"locations":154},[],{"escaped":28,"rawEcho":28,"locations":156},[],[],[],{"summary":160,"deductions":161},"The \"if-shortcode\" plugin v0.3.0 demonstrates a strong security posture based on the provided static analysis.  The absence of dangerous functions, the exclusive use of prepared statements for SQL queries, and the proper escaping of all outputs indicate a developer who understands fundamental security practices. The lack of file operations and external HTTP requests further reduces potential attack vectors.  Crucially, the plugin has no recorded vulnerabilities, CVEs, or historical security issues, which is a significant positive indicator.  The attack surface, while present with three shortcodes, is noted as entirely unprotected, which is a potential concern if these shortcodes handle any sensitive user input or functionality. However, without specific details on the shortcode implementations or any taint flows, it's impossible to definitively assess the risk they pose.  The lack of nonce and capability checks on these entry points is a notable weakness. While the plugin is free from known historical flaws and utilizes secure coding practices for data handling, the unprotected nature of its shortcodes is the primary area of concern. This could lead to issues if not handled carefully within the shortcode logic itself. The absence of taint analysis results is also a missed opportunity for a deeper security assessment.",[162,165],{"reason":163,"points":164},"Shortcodes lack capability checks",10,{"reason":166,"points":164},"Shortcodes lack nonce checks","2026-03-16T20:26:54.836Z",{"wat":169,"direct":174},{"assetPaths":170,"generatorPatterns":171,"scriptPaths":172,"versionParams":173},[],[],[],[],{"cssClasses":175,"htmlComments":176,"htmlAttributes":177,"restEndpoints":178,"jsGlobals":179,"shortcodeOutput":180},[],[],[],[],[],[181,182,183,184,185,186],"\u003C!--BEGIN_IF_SHORTCODE-->","\u003C!--END_IF_SHORTCODE-->","\u003C!--BEGIN_ELSE-->","\u003C!--END_ELSE-->","\u003C!--BEGIN_EITHERWAY-->","\u003C!--END_EITHERWAY-->"]