[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fOHOzrCnI0K-Id-9dxmxK6xn0Q1W6AV1G-kTgTfsrEFA":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":37,"analysis":152,"fingerprints":219},"quicktags","QuickTags","0.0.4","Rafiki","https:\u002F\u002Fprofiles.wordpress.org\u002Frafdizzle86\u002F","\u003Cp>Allows for front-end tagging of posts. It uses jQuery UI autocomplete to search the WP DB\u003Cbr \u002F>\nand return the closest matching tag based on the search term. If no tag was found,\u003Cbr \u002F>\nyou can add a new tag by simply hitting the enter key.\u003C\u002Fp>\n","Allows for front-end tagging of posts via a simple widget.",10,2655,96,4,"2013-02-12T05:52:00.000Z","3.5.2","3.0.1","",[20,21,22,23],"autocomplete","jquery-ui","quick-tags","tags","http:\u002F\u002Fwww.rafilabs.com\u002Fquicktags","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fquicktags.0.0.4.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"rafdizzle86",1,30,84,"2026-04-04T14:07:46.283Z",[38,58,81,105,127],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":35,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":17,"requires_php":18,"tags":51,"homepage":18,"download_link":56,"security_score":57,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"woo-autocomplete-search-bar","E-Commerce Autocomplete Search Bar","1.5","Gabriel","https:\u002F\u002Fprofiles.wordpress.org\u002Frun-man\u002F","\u003Cp>E-Commerce Autocomplete Search Bar: This autocomplete search bar allows your users to search through all E-Commerce products, categories, tags, or taxonomy.\u003C\u002Fp>\n\u003Cp>If the taxonomy option is enable only products that belong to the selected taxonomy will display in the searchbar.\u003C\u002Fp>\n\u003Cp>This plugin will display using either a shortcode or widget.\u003C\u002Fp>\n\u003Cp>If you’ve found this plugin helpful, please leave a review. If you’ve had issues with the plugin, please leave a support request so we can give you a hand before you decide on the usefulness of it.\u003C\u002Fp>\n","E-Commerce Autocomplete Search Bar: An autocomplete searchbar for E-Commerce products, categories, tags, or taxonomy",200,11509,5,"2025-11-13T10:10:00.000Z","6.8.5",[52,53,54,55],"woocomerce-categories-search-bar","woocomerce-tags-search-bar","woocommerce-autocomplete-searchbar","woocommerce-taxonomy-search-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-autocomplete-search-bar.zip",100,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":13,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":79,"download_link":80,"security_score":57,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"connect-polylang-elementor","Connect Polylang for Elementor","2.5.5","David Decker","https:\u002F\u002Fprofiles.wordpress.org\u002Fdaveshine\u002F","\u003Cp>Connect Polylang multilingual plugin with Elementor Page Builder: \u003Cstrong>Translate your Elementor templates\u003C\u002Fstrong> and show them in the correct language, native customizable \u003Cstrong>Language Switcher Elementor widget\u003C\u002Fstrong>, \u003Cstrong>Visibility Conditions\u003C\u002Fstrong> of widgets and \u003Cstrong>Dynamic Tags\u003C\u002Fstrong> by language and much more…\u003C\u002Fp>\n\u003Ch3>What the Plugin Does\u003C\u002Fh3>\n\u003Ch4>📍 Template translation and show in the correct language\u003C\u002Fh4>\n\u003Cp>Create translations for your Elementor templates especially for header, footer or archive templates with \u003Ca href=\"https:\u002F\u002Fbe.elementor.com\u002Fvisit\u002F?bta=61741&brand=elementor&utm_campaign=wporg\" rel=\"nofollow ugc\">\u003Cstrong>Elementor Pro Theme Builder\u003C\u002Fstrong>\u003C\u002Fa> \u003Cem>(affiliated link)\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically selects the correct translation for \u003Ca href=\"https:\u002F\u002Felementor.com\u002Fhelp\u002Ftemplate-widget-pro\u002F\" rel=\"nofollow ugc\">“Template Widget”\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Automatically selects the correct translation for \u003Ccode>[elementor-template id=\"1234\"]\u003C\u002Fcode> shortcodes.\u003C\u002Fli>\n\u003Cli>Allow Elementor Kit translation for different settings for each language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔄 Language Switcher\u003C\u002Fh4>\n\u003Cp>A native Elementor Widget to easily build a nice and fully customizable language switcher:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Show or hide flags, language name, language code.\u003C\u002Fli>\n\u003Cli>Vertical list, Horizontal list or \u003Cstrong>styled dropdown\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SVG scalable flags\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Ful>\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\u002F7DUh-bggJBs?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>👁️ Language Visibility Conditions\u003C\u002Fh4>\n\u003Cp>Allow to \u003Cstrong>show or hide every widget\u003C\u002Fstrong>, section or column \u003Cstrong>by language\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>🏷️ Language Dynamic Tags\u003C\u002Fh4>\n\u003Cp>Use language dynamic tags (on Elementor Pro) that you can set with an specific language or the “current” one. Available tags are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Language Code\u003C\u002Fstrong> tag type text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Name\u003C\u002Fstrong> tag type text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Url\u003C\u002Fstrong> tag type url\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Flag\u003C\u002Fstrong> tag type image\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>✏️ Elementor Editor integration\u003C\u002Fh4>\n\u003Cp>Now you can view the language of the current template and change to its translations or create them \u003Cstrong>from the Elementor editor\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>🔍 Elementor Finder integration\u003C\u002Fh4>\n\u003Cp>From Elementor Finder you can access to Polylang settings pages and go the site in the selected language.\u003C\u002Fp>\n\u003Ch4>🔨 Plugins integration fixes and tweaks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically generate display conditions on new template translation.\u003C\u002Fli>\n\u003Cli>Automatically generate Elementor CSS styles on create new template translation.\u003C\u002Fli>\n\u003Cli>Fix home url to the current language on site-url Dynamic Tag and Search Form widget.\u003C\u002Fli>\n\u003Cli>Add language url trailing slash.\u003C\u002Fli>\n\u003Cli>Hide language on wp-admin for global widgets.\u003C\u002Fli>\n\u003Cli>Other integration fixes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?ref=creame&utm_source=cpel_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=bottom_link\" rel=\"nofollow ugc\">AI-powered translation for Polylang\u003C\u002Fa> — AutoPoly instantly translates your Elementor, Gutenberg, and ACF content in one click while keeping your design exactly the same. \u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?ref=creame&utm_source=cpel_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=bottom_link\" rel=\"nofollow ugc\">Check it now (affiliated link)\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>How to use\u003C\u002Fh3>\n\u003Cp>You can manage translated templates in two ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>(recommended)\u003C\u002Fstrong> create linked translations for a template and only set display conditions on the default language.\u003C\u002Fli>\n\u003Cli>create separated translations for a template with their own display conditions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See an example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Site languages:\n - EN (main)\n - ES\n - IT\n\n- Option 1 (linked translations only main language has display conditions):\n╔═ Archive Template A (EN) -> condition category is \"Red (EN)\"\n╠═ Archive Template A (ES) -> none (in front checks if category is ES translation of \"Red (EN)\")\n╚═ Archive Template A (IT) -> none (in front checks if category is IT translation of \"Red (EN)\")\n\n- Option 2 (not linked translations, all languages has display conditions):\n══ Archive Template B (EN) -> condition category is \"Red (EN)\"\n══ Archive Template B (ES) -> condition category is \"Rojo (ES)\"\n══ Archive Template B (IT) -> condition category is \"Rosso (IT)\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fconnect-polylang-elementor\" rel=\"ugc\">\u003Cstrong>Plugin’s support forum\u003C\u002Fstrong>\u003C\u002Fa> here on WordPress.org\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcreame\u002Fconnect-polylang-elementor\" rel=\"nofollow ugc\">Github plugin repo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Fpolylang.users\u002F\" rel=\"nofollow ugc\">Polylang User Community Group at Facebook\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is covered by our support?\u003C\u002Fstrong> – All regarding \u003Cstrong>THIS plugin\u003C\u002Fstrong> (“Connect Polylang for Elementor”), plus the relation to \u003Cem>Polylang\u003C\u002Fem>, \u003Cem>Polylang Pro\u003C\u002Fem>, \u003Cem>Elementor\u003C\u002Fem> and \u003Cem>Elementor Pro\u003C\u002Fem> of course.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is NOT covered by support?\u003C\u002Fstrong> – Anything general regarding multilingual topics and WordPress. Explicitely we \u003Cstrong>DO NOT\u003C\u002Fstrong> offer any “WPML”, “WPBakery” or “Visual Composer” support, and also not for your theme etc.!!!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>We have used the strings of Elementor and Polylang whenever possible to take advantage of the fact that they are translated into many languages. For the other strings a \u003Ccode>.pot\u003C\u002Fcode> file (\u003Ccode>connect-polylang-elementor.pot\u003C\u002Fcode>) for translators is also always included 🙂\u003C\u002Fp>\n\u003Cp>You can collaborate with your language translations in \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fconnect-polylang-elementor\" rel=\"nofollow ugc\">Translating WordPress\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>The following code\u002Fclasses are licensed under the GPL.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>v2. refactor and upgrade by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fpacotole\u002F\" rel=\"nofollow ugc\">Pacotole\u003C\u002Fa> at \u003Ca href=\"https:\u002F\u002Fcrea.me\" rel=\"nofollow ugc\">Creame\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>v2.1 Cross domain fixes based on work of \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fkeraweb\u002F\" rel=\"nofollow ugc\">Jory Hogeveen\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnicmare\" rel=\"nofollow ugc\">nicmare\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fp4fbradjohnson\u002F\" rel=\"nofollow ugc\">Brad Johnson\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>v1. released by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdaveshine\u002F\" rel=\"nofollow ugc\">David Decker\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>v1. Polylang Switcher class (Elementor Widget) and its CSS based on widget from plugin “Language Switcher for Elementor” by Solitweb (GPLv2 or later)\u003C\u002Fli>\n\u003Cli>SVG flags from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmadebybowtie\u002FFlagKit\" rel=\"nofollow ugc\">FlagKit\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwikipedia.org\u002F\" rel=\"nofollow ugc\">Wikipedia\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please, send your suggestions and feedback – Thank you for using or trying out this plugin!\u003C\u002Fp>\n","Connect Polylang with Elementor: translated templates, language switcher widget, language visibility conditions and more",100000,2039612,50,"2025-12-31T09:49:00.000Z","6.9.4","5.4","5.6",[74,75,76,77,78],"dynamic-tags","elementor","language-switcher","multilingual","polylang","https:\u002F\u002Fgithub.com\u002Fcreame\u002Fconnect-polylang-elementor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconnect-polylang-elementor.2.5.5.zip",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":66,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":70,"requires_at_least":93,"requires_php":94,"tags":95,"homepage":101,"download_link":102,"security_score":103,"vuln_count":11,"unpatched_count":27,"last_vuln_date":104,"fetched_at":29},"vk-all-in-one-expansion-unit","VK All in One Expansion Unit","9.113.4.1","Hidekazu Ishikawa","https:\u002F\u002Fprofiles.wordpress.org\u002Fkurudrive\u002F","\u003Cp>This plug-in is an integrated plug-in with a variety of features that make it powerful your web site.\u003C\u002Fp>\n\u003Cp>Many features can be stopped individually.\u003C\u002Fp>\n\u003Cp>[ Powerful　Widgets ]\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Recent Posts – display the link text and the date of the latest article title.\u003C\u002Fli>\n\u003Cli>Page content to widget – display the contents of the page to the widgets.\u003C\u002Fli>\n\u003Cli>Profile – display the profile entered in the widget.\u003C\u002Fli>\n\u003Cli>FB Page Plugin – display the Facebook Page Plugin.\u003C\u002Fli>\n\u003Cli>3PR area – display the 3PR area.\u003C\u002Fli>\n\u003Cli>PR Blocks – display the PR Blocks.\u003C\u002Fli>\n\u003Cli>Categories\u002Ftags list – Displays a categories, tags or format list.\u003C\u002Fli>\n\u003Cli>Archive list – Displays a list of archives. You can choose the post type and also to display archives by month or by year.\u003C\u002Fli>\n\u003Cli>Facebook Page Plugin widget\u003C\u002Fli>\n\u003Cli>Image Banner widget\u003C\u002Fli>\n\u003Cli>Text Button widget\u003C\u002Fli>\n\u003Cli>Contact Button widget\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[ Gutenberg Blocks ]\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HTML SiteMap\u003C\u002Fli>\n\u003Cli>Child Page List\u003C\u002Fli>\n\u003Cli>Page list from ancestor\u003C\u002Fli>\n\u003Cli>Share Button\u003C\u002Fli>\n\u003Cli>Contact Section\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[ Social media ]\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Print Social Bookmarks\u003C\u002Fli>\n\u003Cli>Print OG Tags\u003C\u002Fli>\n\u003Cli>Print X Card Tags\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>[ Others ]\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Print Google Analytics tag\u003C\u002Fli>\n\u003Cli>Print meta description tag\u003C\u002Fli>\n\u003Cli>Rewrite the title tag\u003C\u002Fli>\n\u003Cli>Insert Related Posts\u003C\u002Fli>\n\u003Cli>Insert Call to action\u003C\u002Fli>\n\u003Cli>Insert Child page List to page\u003C\u002Fli>\n\u003Cli>Insert Page list from ancestor\u003C\u002Fli>\n\u003Cli>Insert Auto HTML Site Map\u003C\u002Fli>\n\u003Cli>Automatic Eye Catch insert\u003C\u002Fli>\n\u003Cli>Custom post type and custom taxonomy manager\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>and more.\u003C\u002Fp>\n","This plug-in is an integrated plug-in with a variety of features that make it powerful your web site.",7987014,80,7,"2026-03-09T17:15:00.000Z","6.5","7.4",[96,97,98,99,100],"facebook-page-plugin","google-analytics","og-tags","related-posts","sitemap","https:\u002F\u002Fex-unit.nagoya","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvk-all-in-one-expansion-unit.9.113.4.1.zip",95,"2026-02-17 16:43:06",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":66,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":70,"requires_at_least":117,"requires_php":71,"tags":118,"homepage":18,"download_link":124,"security_score":103,"vuln_count":125,"unpatched_count":27,"last_vuln_date":126,"fetched_at":29},"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.",3242040,88,188,"2026-01-15T09:43:00.000Z","3.0",[119,120,121,122,123],"blocks","conditional-tags","gutenberg-widgets","sidebar","widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-logic.6.0.9.zip",2,"2025-06-09 00:00:00",{"slug":128,"name":129,"version":130,"author":131,"author_profile":132,"description":133,"short_description":134,"active_installs":135,"downloaded":136,"rating":137,"num_ratings":138,"last_updated":139,"tested_up_to":140,"requires_at_least":141,"requires_php":72,"tags":142,"homepage":148,"download_link":149,"security_score":150,"vuln_count":33,"unpatched_count":27,"last_vuln_date":151,"fetched_at":29},"enhanced-media-library","Enhanced Media Library","2.9.4","webbistro","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebbistro\u002F","\u003Cp>\u003Cstrong>Handy for those who need to manage a lot of media files.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fsupport\" rel=\"nofollow ugc\">Known Issues :: Support\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fdocuments\u002Fenhanced-media-library\u002Fchangelog\" rel=\"nofollow ugc\">Changelog\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fdocuments\u002Fenhanced-media-library\" rel=\"nofollow ugc\">Usage Guide :: How to\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fdocuments\u002Fenhanced-media-library\u002Ffaqs-2\" rel=\"nofollow ugc\">FAQs\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fplugins\u002Fenhanced-media-library-pro\" rel=\"nofollow ugc\">Premium Features\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Officially! \u003Cstrong>EML 3.0 Early Beta\u003C\u002Fstrong> is available for testing\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fplugins\u002Fenhanced-media-library-3-0\" rel=\"nofollow ugc\">Give it a try\u003C\u002Fa>, share feedback, report bugs, and \u003Cstrong>help the developer\u003C\u002Fstrong> to deliver it promptly!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Categorize by Anything!\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Unlimited \u003Cstrong>categories & tags\u003C\u002Fstrong> for media items\u003C\u002Fli>\n\u003Cli>Unlimited \u003Cstrong>custom taxonomies:\u003C\u002Fstrong> create in a few clicks\u003C\u002Fli>\n\u003Cli>Unlimited \u003Cstrong>third-party taxonomies:\u003C\u002Fstrong> assign to the media library\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Configurable Filters\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Show \u002F hide\u003C\u002Fstrong> data, author, taxonomy filters\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per taxonomy\u003C\u002Fstrong> filters\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable outcome\u003C\u002Fstrong> of the filtering: include \u002F exclude child categories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Enhanced Media Library\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Show captions:\u003C\u002Fstrong> title, filename, or caption field for each media item\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk selection:\u003C\u002Fstrong> no special mode anymore, faster editing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drag’n’Drop re-order\u003C\u002Fstrong> right in the media library\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Infinite scroll\u003C\u002Fstrong> and manageable loads per page options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Dynamic Galleries \u002F Playlists\u003C\u002Fh3>\n\u003Cp>Additional parameters for the [gallery] and [playlist] shortcodes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>media_category\u003C\u002Fcode> or any other taxonomy\u003C\u002Fli>\n\u003Cli>\u003Ccode>monthnum\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>year\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>limit\u003C\u002Fcode> of media items to show\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>MIME Types Management\u003C\u002Fh3>\n\u003Cp>Add or remove file types, allow or disallow uploading. The plugin incorporates a file type into media filters if you wish.\u003C\u002Fp>\n\u003Ch3>Feels Native to WordPress\u003C\u002Fh3>\n\u003Cp>We spent hours to make Enhanced Media Library operates as though it were native WordPress functionality. All plugin features are incorporated into WordPress UI seamlessly.\u003C\u002Fp>\n\u003Ch3>Developer-Friendly\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Core hooks just work\u003C\u002Fstrong> for media taxonomies and media items\u003C\u002Fli>\n\u003Cli>\u003Cstrong>All taxonomies supported:\u003C\u002Fstrong> custom and code-registered\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API supported\u003C\u002Fstrong> out of the box\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No custom tables\u003C\u002Fstrong> in the database\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deactivation makes no harm to data:\u003C\u002Fstrong> all media items and taxonomies remain after deactivation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Export \u002F Import \u002F Restore Plugin Settings\u003C\u002Fh3>\n\u003Cp>If you need to move your media library to another website you should export and import WordPress content with WordPress built-in export\u002Fimport. But to make the Enhanced Media Library work on the new site with the same settings you are provided with the export\u002Fimport feature.\u003C\u002Fp>\n\u003Ch3>Multisite compatible\u003C\u002Fh3>\n\u003Cp>Network activate the plugin and choose which options will be available to your admins. In the PRO version, the license key should be activated once for the whole network.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.wpuxsolutions.com\u002Fplugins\u002Fenhanced-media-library\" rel=\"nofollow ugc\">More about the basic version on wpUXsolutions.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Enhanced Media Library PRO\u003C\u002Fh3>\n\u003Cp>Additional comfort and even more convenient way to organize WordPress media library:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Unlimited & Super-Fast\u003C\u002Fstrong> Bulk Edit\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User-friendly\u003C\u002Fstrong> dynamic galleries \u002F playlists: all options set with dropdowns and checkboxes, no “coding”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced search:\u003C\u002Fstrong> filter media items by just typing the first letters of its name in the search field\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto-Categorize\u003C\u002Fstrong> for post media items\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.wpuxsolutions.com\u002Fplugins\u002Fenhanced-media-library-pro\" rel=\"nofollow ugc\">More about the premium version on wpUXsolutions.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Support is free for both versions of the plugin. “PRO”-users do not have priority. We do our best to respond in 24 hours if not sooner.\u003C\u002Fp>\n\u003Ch3>Compatible with the Plugins:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-custom-fields\u002F\" rel=\"ugc\">Advanced Custom Fields\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffoogallery\u002F\" rel=\"ugc\">FooGallery\u003C\u002Fa> – \u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fdocuments\u002Fenhanced-media-library\u002Fhow-to-create-a-dynamic-foogallery\" rel=\"nofollow ugc\">How to use?\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fanything-order-by-terms\u002F\" rel=\"ugc\">Anything Order by Terms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsearch-filter\u002F\" rel=\"ugc\">Search & Filter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdocument-gallery\u002F\" rel=\"ugc\">Document Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjetpack\u002F\" rel=\"ugc\">Jetpack Carousel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjetpack\u002F\" rel=\"ugc\">Jetpack Tiled Galleries\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-lightbox\u002F\" rel=\"ugc\">Simple Lightbox\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjustified-gallery\u002F\" rel=\"ugc\">Justified Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmeow-gallery\u002F\" rel=\"ugc\">Meow Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmeow-lightbox\u002F\" rel=\"ugc\">Meow Lightbox\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fml-slider\u002F\" rel=\"ugc\">MetaSlider\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fresponsive-lightbox\u002F\" rel=\"ugc\">Responsive Lightbox & Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftiny-compress-images\u002F\" rel=\"ugc\">Compress JPEG & PNG Images\u003C\u002Fa> (TinyPNG)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please let us know if you find any issue with the plugins from the list above or others.\u003C\u002Fp>\n\u003Ch3>Incompatibility\u003C\u002Fh3>\n\u003Cp>Please notice that you use Enhanced Media Library with other plugins that add media categories, media folders, or manage MIME Types at your own risk. We cannot guarantee their compatibility because of the different approaches to the same functionality. We do not recommend using other media library (folder) plugin at the same time with the Enhanced Media Library. Please choose the one you prefer.\u003C\u002Fp>\n\u003Ch3>Useful Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fplugins\u002Fenhanced-media-library\" rel=\"nofollow ugc\">Basic version: more details\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpuxsolutions.com\u002Fplugins\u002Fenhanced-media-library-pro\" rel=\"nofollow ugc\">PRO version: more details\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpuxsolutions.com\u002Fdocuments\u002Fenhanced-media-library\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpuxsolutions.com\u002Fdocuments\u002Fenhanced-media-library\u002Ffaqs\" rel=\"nofollow ugc\">FAQs\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin would be handy for those who need to manage a lot of media files.",70000,2634348,86,297,"2024-07-15T14:07:00.000Z","6.5.8","6.0",[143,144,145,146,147],"media-categories","media-folders","media-library","media-tags","mime-types","https:\u002F\u002FwpUXsolutions.com\u002Fplugins\u002Fenhanced-media-library","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fenhanced-media-library.2.9.4.zip",91,"2024-04-15 00:00:00",{"attackSurface":153,"codeSignals":177,"taintFlows":208,"riskAssessment":209,"analyzedAt":218},{"hooks":154,"ajaxHandlers":161,"restRoutes":173,"shortcodes":174,"cronEvents":175,"entryPointCount":176,"unprotectedCount":27},[155],{"type":156,"name":157,"callback":158,"file":159,"line":160},"action","widgets_init","anonymous","quicktags.php",41,[162,168,170],{"action":163,"nopriv":164,"callback":163,"hasNonce":165,"hasCapCheck":164,"file":166,"line":167},"searchTagsAJAX",false,true,"qt_optionsWidgetAJAX.php",9,{"action":169,"nopriv":164,"callback":169,"hasNonce":165,"hasCapCheck":165,"file":166,"line":11},"addNewTagAJAX",{"action":171,"nopriv":164,"callback":171,"hasNonce":165,"hasCapCheck":165,"file":166,"line":172},"removeTagAJAX",11,[],[],[],3,{"dangerousFunctions":178,"sqlUsage":182,"outputEscaping":184,"fileOperations":27,"externalRequests":27,"nonceChecks":176,"capabilityChecks":176,"bundledLibraries":207},[179],{"fn":180,"file":159,"line":160,"context":181},"create_function","add_action('widgets_init', create_function('', 'return register_widget(\"qt_optionsWidget\");'));",{"prepared":27,"raw":27,"locations":183},[],{"escaped":125,"rawEcho":11,"locations":185},[186,190,192,194,196,198,200,201,203,205],{"file":187,"line":188,"context":189},"qt_optionsWidget.php",75,"raw output",{"file":187,"line":191,"context":189},76,{"file":187,"line":193,"context":189},77,{"file":187,"line":195,"context":189},78,{"file":187,"line":197,"context":189},105,{"file":187,"line":199,"context":189},106,{"file":187,"line":199,"context":189},{"file":166,"line":202,"context":189},43,{"file":166,"line":204,"context":189},83,{"file":166,"line":206,"context":189},131,[],[],{"summary":210,"deductions":211},"The \"quicktags\" plugin version 0.0.4 exhibits a generally positive security posture due to robust use of prepared statements for SQL queries, comprehensive nonce checks, and capability checks for all identified AJAX handlers. There are no known vulnerabilities or CVEs associated with this version, and the plugin avoids dangerous file operations and external HTTP requests, which are common attack vectors.  The absence of shortcodes and cron events also limits the potential attack surface.\n\nHowever, a significant concern arises from the presence of a \"dangerous function\" signal specifically related to `create_function`. While the static analysis did not identify any taint flows originating from or leading to this function, its mere presence indicates a potential for insecure code execution if not handled with extreme care. Furthermore, the low percentage of properly escaped output (17%) presents a notable risk of Cross-Site Scripting (XSS) vulnerabilities, particularly in the context of user-generated content that might be processed or displayed by the plugin's AJAX handlers. The lack of taint analysis data is also a limitation, as it means deeper, context-aware security risks could be masked.\n\nIn conclusion, \"quicktags\" v0.0.4 benefits from strong foundational security practices like prepared statements and authentication checks on its entry points. Nevertheless, the use of `create_function` and the significantly under-escaped output demand caution. While no active vulnerabilities are known, these code signals suggest that potential weaknesses exist that could be exploited under specific conditions, especially regarding XSS.",[212,215],{"reason":213,"points":214},"Dangerous function detected (create_function)",8,{"reason":216,"points":217},"Low percentage of properly escaped output",12,"2026-03-17T00:55:22.673Z",{"wat":220,"direct":228},{"assetPaths":221,"generatorPatterns":225,"scriptPaths":226,"versionParams":227},[222,223,224],"\u002Fwp-content\u002Fplugins\u002Fquicktags\u002Fcss\u002Fqt_optionsWidgetCSS.css","\u002Fwp-content\u002Fplugins\u002Fquicktags\u002Fcss\u002Fjquery-ui-theme\u002Fjquery-ui-qt.css","\u002Fwp-content\u002Fplugins\u002Fquicktags\u002Fjs\u002Fqt_optionsWidget.js",[],[],[],{"cssClasses":229,"htmlComments":233,"htmlAttributes":234,"restEndpoints":236,"jsGlobals":237,"shortcodeOutput":241},[230,231,232],"qt_postTags","qt_postTag","removeTag",[],[235],"data-tagid",[],[238,239,240],"qtJS","qt_addTags","qt_postID",[]]