[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fIWCtXXMTnbeuT7DU8__sXdXrCJwWr01vXo4QbH4AW9o":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":13,"vuln_count":26,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":47,"crawl_stats":36,"alternatives":55,"analysis":153,"fingerprints":284},"local-development","Local Development","2.11.0","Andy Fragen","https:\u002F\u002Fprofiles.wordpress.org\u002Fafragen\u002F","\u003Cp>Places development notice for plugins or themes that are in local development. Notices are placed on the plugins page and the themes page. Prevents updating of selected plugins and themes.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically adds plugins and themes under version control.\u003C\u002Fli>\n\u003Cli>Automatically allows for using a local file server.\u003C\u002Fli>\n\u003Cli>Allows for bypassing the WordPress 5.2 WSOD Shutdown Handler.\u003C\u002Fli>\n\u003Cli>Add a warning color to admin bar when running under localhost. Default is on.\u003C\u002Fli>\n\u003Cli>Add a git host icon to the plugins page. Default is off. No option if GitHub Updater is running.\u003C\u002Fli>\n\u003Cli>Allows setting of \u003Ccode>WP_ENVIRONMENT_TYPE\u003C\u002Fcode> in \u003Ccode>wp-config.php\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Pull Requests are welcome against the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fafragen\u002Flocal-development\" rel=\"nofollow ugc\">develop branch on GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Requires PHP 7.4 or greater.\u003C\u002Fp>\n","Places development notice for plugins or themes that are in local development. Prevents updating of selected plugins and themes.",90,9948,100,5,"2025-10-08T19:04:00.000Z","6.9.4","5.4","7.4",[20,21,22,23],"development","localhost","theme","upgrade","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flocal-development","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flocal-development.2.11.0.zip",1,0,"2023-07-24 00:00:00","2026-03-15T15:16:48.613Z",[31],{"id":32,"url_slug":33,"title":34,"description":35,"plugin_slug":4,"theme_slug":36,"affected_versions":37,"patched_in_version":38,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":28,"updated_date":43,"references":44,"days_to_patch":46},"WF-f962a3ef-205d-42e2-acf1-45eabfdba3ee-local-development","local-development-cross-site-request-forgery-to-settings-update","Local Development \u003C=2.8.2 - Cross-Site Request Forgery to Settings Update","The Local Development plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 2.8.2. This is due to missing or incorrect nonce validation on the update_settings function. This makes it possible for unauthenticated attackers to update plugin settings via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.",null,"\u003C=2.8.2","2.8.3","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2024-01-22 19:56:02",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Ff962a3ef-205d-42e2-acf1-45eabfdba3ee?source=api-prod",183,{"slug":48,"display_name":7,"profile_url":8,"plugin_count":49,"total_installs":50,"avg_security_score":51,"avg_patch_time_days":52,"trust_score":53,"computed_at":54},"afragen",12,42970,96,356,76,"2026-04-03T23:13:18.421Z",[56,78,99,117,134],{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":75,"download_link":76,"security_score":77,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"easy-theme-and-plugin-upgrades","Easy Theme and Plugin Upgrades","2.0.2","Chris Jean","https:\u002F\u002Fprofiles.wordpress.org\u002Fchrisjean\u002F","\u003Cp>WordPress has a built-in feature to install themes and plugins by supplying a zip file. Unfortunately, you cannot upgrade a theme or plugin using the same process. Instead, WordPress will say “destination already exists” when trying to upgrade using a zip file and will fail to upgrade the theme or plugin.\u003C\u002Fp>\n\u003Cp>Easy Theme and Plugin Upgrades fixes this limitation in WordPress by automatically upgrading the theme or plugin if it already exists.\u003C\u002Fp>\n\u003Cp>While upgrading, a backup copy of the old theme or plugin is first created. This allows you to install the old version in case of problems with the new version.\u003C\u002Fp>\n\u003Cp>Attention: Version 2.0.0 changed the functionality of the plugin. You are no longer required to select “Yes” from a drop down before the theme or plugin can be upgraded. The need for an upgrade is now detected automatically. So, if you are used to the old functionality of the plugin, do not be concerned about the absence of upgrade details on the theme and plugin upload pages. Simply upload the theme or plugin as if you were installing it, and the plugin will automatically handle upgrading as needed.\u003C\u002Fp>\n","Easily upgrade your themes and plugins using zip files without removing the theme or plugin first.",70000,1436562,94,117,"2022-04-20T03:40:00.000Z","5.7.15","4.4","",[22,73,23,74],"update","upload","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Feasy-theme-and-plugin-upgrades\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-theme-and-plugin-upgrades.2.0.2.zip",85,{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":89,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":71,"tags":93,"homepage":97,"download_link":98,"security_score":77,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"wp-updates-notifier","WP Updates Notifier","1.6.0","Scott Cariss","https:\u002F\u002Fprofiles.wordpress.org\u002Fl3rady\u002F","\u003Cp>Monitors your WordPress installation for core, plugin and theme updates and emails you when they are available. This plugin is ideal if you don’t login to your WordPress admin regularly or you support a client’s website.\u003C\u002Fp>\n\u003Cp>\u003Cem>Features\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Set the interval of how often to check for updates; hourly, twice daily or daily.\u003C\u002Fli>\n\u003Cli>Sets WordPress to check for updates more often meaning you get to know about updates sooner.\u003C\u002Fli>\n\u003Cli>Get emailed about core, plugin and theme updates.\u003C\u002Fli>\n\u003Cli>Chose if you want to be notified about active only themes and plugins updates.\u003C\u002Fli>\n\u003Cli>Remove upgrade nag message to non-admin users.\u003C\u002Fli>\n\u003Cli>For advanced users there are a number of filters and actions you can use. More coming soon.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is a fork of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fupdate-notifier\u002F\" rel=\"ugc\">Update Notifier\u003C\u002Fa>. This plugin was forked because there seemed to be no further development on the existing plugin and there was no way to contact the original author to ask about taking ownership. WP Updates Notifier has the following improvements over Updates Notifier:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Completely rewritten from the ground up using best practises for writing WordPress plugins\u003C\u002Fli>\n\u003Cli>Code wrapped in a class so better namespace.\u003C\u002Fli>\n\u003Cli>You can set the cron interval, allowing for more frequent checks.\u003C\u002Fli>\n\u003Cli>Update checks trigger WordPress internal update check before notification.\u003C\u002Fli>\n\u003Cli>Allows you to set the ‘from address’.\u003C\u002Fli>\n\u003Cli>Allows you to set multiple ‘to addresses’.\u003C\u002Fli>\n\u003Cli>Makes use of the Settings API.\u003C\u002Fli>\n\u003Cli>A number of available hooks and filters for advanced users.\u003C\u002Fli>\n\u003Cli>Active support and development.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>Languages\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>French by \u003Ca href=\"http:\u002F\u002Fwww.ordilibre.com\u002F\" rel=\"nofollow ugc\">Christophe Catarina\u003C\u002Fa> – \u003Cem>Added 03 July 2013\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>German by \u003Ca href=\"http:\u002F\u002Falexander.pfabel.de\u002F\" rel=\"nofollow ugc\">Alexander Pfabel\u003C\u002Fa> – \u003Cem>Added 02 October 2012\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Filters\u003C\u002Fh3>\n\u003Cp>Two filters have been provided to allow you to alter the email subject and email content being sent by WP Updates Notifier.\u003C\u002Fp>\n\u003Ch4>sc_wpun_email_subject\u003C\u002Fh4>\n\u003Cp>@parameters:\u003Cbr \u002F> \u003Cbr \u002F>\n$email_subject – the email subject to be filtered.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F* \n*   Alter the email subject being sent by WP Updates Notifier \n*\u002F\nfunction alter_wp_updates_notifier_email_subject( $email_subject ) {\n    $email_subject = 'This is the new email subject for updates notifier';\n    return $email_subject;\n}\nadd_filter( 'sc_wpun_email_subject', 'alter_wp_updates_notifier_email_subject' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>sc_wpun_email_content\u003C\u002Fh4>\n\u003Cp>@parameters:\u003Cbr \u002F>\n$message – the content of the email to be filtered\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F* \n*   Alter the email content being sent by WP Updates Notifier \n*\u002F\nfunction alter_wp_updates_notifier_email_content( $message ) {\n    $message = 'This is our new email content that will override the default.';\n    return $message;\n}\nadd_filter( 'sc_wpun_email_content', 'alter_wp_updates_notifier_email_content' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Sends email to notify you if there are any updates for your WordPress site. Can notify about core, plugin and theme updates.",30000,235692,84,35,"2020-02-14T15:12:00.000Z","5.3.21","3.1",[94,95,96,22,23],"admin","monitor","notification","https:\u002F\u002Fgithub.com\u002Fl3rady\u002Fwp-updates-notifier","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-updates-notifier.1.6.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":13,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":71,"tags":113,"homepage":71,"download_link":116,"security_score":77,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"fix-windows-compatibility","Windows Compatibility Fix","1.0.2","Dave Jesch","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavejesch\u002F","\u003Cp>This plugin will fix long filename problems on Windows systems when doing updates from third-party plugin repositories, such as updating from EDD based sites.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Usage Scenarios:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>We’ve found that users on Windows systems that are upgrading themes and plugins from a third-party repository, such as an Easy Digital Downloads (EDD) site have problems. They will see an error message of “Update Failed: Could not create directory…”. The reason for this is that during the update process, the file name requested from the EDD site has the product name, user name and other information encoded within it so that EDD knows who is requesting the file. This results in a very long file name. This is not necessarily a problem WordPress itself, or even EDD, as this works on non-Windows systems. But if you are running WordPress on Windows and see this error, it is because of the long file name requested.\u003C\u002Fp>\n\u003Cp>If you are using DesktopServer for your local development on Windows and would like to use the Windows Compatibility Fix plugin as a Design Time plugin, you can install this in your C:\\xampplite\\ds-plugings directory and it can then be automatically activated and used with all of your local development web sites. This allows you to use the plugin in your local environment, where it’s needed and not to deploy it to your live environment where it may not be needed. For more information on DesktopServer and local development tools, please visit our web site at: https:\u002F\u002Fserverpress.com\u002Fget-desktopserver\u002F\u003C\u002Fp>\n\u003Cp>Because this fix is only needed on Windows systems, the plugin checks the operating system on which it is running and does not initialize itself. If you are having problems with the update process on non-Windows systems, it is more likely an issue with directory permissions.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>How it Works:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The Windows Compatibility Fix plugin uses a couple of WordPress filters employed during the update process. It modifies the name of the file that is downloaded to your system, shortening it to just a few characters. This allows WordPress’s update process to work correctly on Windows systems by not creating the long file name in the first place.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Support:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Support Details:\u003C\u002Fstrong> We are happy to provide support and help troubleshoot issues. Visit our Contact page at \u003Ca href=\"http:\u002F\u002Fserverpress.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fserverpress.com\u002Fcontact\u002F\u003C\u002Fa>. Users should know however, that we check the WordPress.org support forums once a week on Wednesdays from 6pm to 8pm PST (UTC -8).\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>ServerPress, LLC is not responsible for any loss of data that may occur as a result of using this tool. We strongly recommend performing a site and database backup before testing and using this tool. However, should you experience such an issue, we want to know about it right away.\u003C\u002Fp>\n\u003Cp>We welcome feedback and Pull Requests for this plugin via our public GitHub repository located at: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FServerPress\u002FWindows-Compatibility-Fix\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FServerPress\u002FWindows-Compatibility-Fix\u003C\u002Fa>\u003C\u002Fp>\n","Fixes long filename problem on Windows systems when doing updates, such as updating from EDD based sites.",1000,17085,8,"2018-10-22T03:07:00.000Z","5.0.25","4.0",[114,22,73,23,115],"long-filename","windows","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffix-windows-compatibility.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":107,"downloaded":125,"rating":13,"num_ratings":109,"last_updated":126,"tested_up_to":127,"requires_at_least":128,"requires_php":71,"tags":129,"homepage":71,"download_link":133,"security_score":77,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"monster-widget","Monster Widget","0.3","Automattic","https:\u002F\u002Fprofiles.wordpress.org\u002Fautomattic\u002F","\u003Cp>The Monster widget consolidates all 13 core widgets into a single widget enabling theme developers to create multiple instances with ease. It has been created to save time during theme development and review by minimizing the steps needed to populate a sidebar with widgets. The Monster widget is not designed for use in production.\u003C\u002Fp>\n","Provides a quick and easy method of adding all core widgets to a sidebar for testing purposes.",160640,"2017-11-10T15:47:00.000Z","4.9.29","3.2.0",[130,131,132],"debug","theme-development","widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmonster-widget.zip",{"slug":135,"name":136,"version":137,"author":138,"author_profile":139,"description":140,"short_description":141,"active_installs":13,"downloaded":142,"rating":13,"num_ratings":143,"last_updated":144,"tested_up_to":145,"requires_at_least":146,"requires_php":71,"tags":147,"homepage":151,"download_link":152,"security_score":77,"vuln_count":27,"unpatched_count":27,"last_vuln_date":36,"fetched_at":29},"category-template-hierarchy","Category Template Hierarchy","1.3.2.1","Eddie Moya","https:\u002F\u002Fprofiles.wordpress.org\u002Feddiemoya\u002F","\u003Cp>Adds several new templates to the template hierarchy:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>child-of-category-{slug}.php\u003C\u002Fli>\n\u003Cli>category-{slug}.php\u003C\u002Fli>\n\u003Cli>child-of-category-{id}.php\u003C\u002Fli>\n\u003Cli>category-{term_id}.php\u003C\u002Fli>\n\u003Cli>parent-category.php\u003C\u002Fli>\n\u003Cli>child-category.php\u003C\u002Fli>\n\u003Cli>category.php\u003C\u002Fli>\n\u003Cli>archive.php\u003C\u002Fli>\n\u003Cli>index.php\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This greatly extends the native hierarchy of theme templates with regard to\u003Cbr \u002F>\ncategories. Theme developers can now easily create separate templates for\u003Cbr \u002F>\ncategories with children, with parents, and children of specific parents.\u003C\u002Fp>\n\u003Cp>Additionally makes available four (4) new conditional template tags:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>is_child_category();\u003C\u002Fli>\n\u003Cli>is_parent_category();\u003C\u002Fli>\n\u003Cli>is_child_of_category();\u003C\u002Fli>\n\u003Cli>is_parent_of_category();\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These functions are available for use in any theme or plugin as along as this\u003Cbr \u002F>\nplugin is active. For detailed documentation of these functions see the\u003Cbr \u002F>\n‘Developer Notes: Conditional Tags’ section of this readme file.\u003C\u002Fp>\n\u003Cp>Note: This plugin does not actually create parent-category.php, child-category.php\u003Cbr \u002F>\nor any of their related templates – rather it modifies the native \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy\" rel=\"nofollow ugc\">template hierarchy\u003C\u002Fa>\u003Cbr \u002F>\nto allow theme developers to create specific templates for parent and child categories.\u003C\u002Fp>\n\u003Ch3>Developer Notes: Template Hierarchy\u003C\u002Fh3>\n\u003Cp>What follows are is the modified list of templates available for category pages.\u003Cbr \u002F>\nThese expand upon the native \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy#Visual_Overview\" rel=\"nofollow ugc\">Template Hierarchy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>child-of-category-{slug}.php\u003C\u002Fli>\n\u003Cli>category-{slug}.php\u003C\u002Fli>\n\u003Cli>child-of-category-{id}.php\u003C\u002Fli>\n\u003Cli>category-{term_id}.php\u003C\u002Fli>\n\u003Cli>parent-category.php\u003C\u002Fli>\n\u003Cli>child-category.php\u003C\u002Fli>\n\u003Cli>category.php\u003C\u002Fli>\n\u003Cli>archive.php\u003C\u002Fli>\n\u003Cli>index.php\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The parent and child templates only become available if the current category is\u003Cbr \u002F>\na parent or a child respectively.\u003C\u002Fp>\n\u003Cp>Note: This plugin does not actually create parent-category.php, child-category.php\u003Cbr \u002F>\nor any of their related templates – rather it modifies the native \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy\" rel=\"nofollow ugc\">template hierarchy\u003C\u002Fa>\u003Cbr \u002F>\nto allow theme developers to create specific templates for parent and child categories.\u003C\u002Fp>\n\u003Ch3>Developer Notes: Conditional Tags\u003C\u002Fh3>\n\u003Cp>With this plugin comes two additional \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FConditional_Tags\" rel=\"nofollow ugc\">conditional tags\u003C\u002Fa>\u003Cbr \u002F>\nwhich behave much like any other in WordPress. In a similar fashion to how one\u003Cbr \u002F>\nmight use \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fis_category\" rel=\"nofollow ugc\">is_category()\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fcat_is_ancestor_of\" rel=\"nofollow ugc\">cat_is_ancestory_of()\u003C\u002Fa>,\u003Cbr \u002F>\ndevelopers may, with this plugin, use the following functions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>is_parent_category()\u003C\u002Fli>\n\u003Cli>is_child_category()\u003C\u002Fli>\n\u003Cli>is_child_of_category()\u003C\u002Fli>\n\u003Cli>is_parent_of_category()\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Description (part 1)\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>is_parent_category()\u003C\u002Fcode> and \u003Ccode>is_child_category()\u003C\u002Fcode> conditional tags check if\u003Cbr \u002F>\nthe page being displayed (or passed as an argument) is of a category that has\u003Cbr \u002F>\nchildren (e.g. is a parent category)  has a parent (is a child), respectively.\u003Cbr \u002F>\nThey are boolean functions, meaning they return either TRUE or FALSE.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u003C?php is_parent_category( $category ); ?>\n\u003C?php is_child_category( $category ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Parameters\u003C\u002Fh4>\n\u003Cp>$category (integer\u002Fstring\u002Fobject) (optional) Category ID, Category Slug, Category Object. Default: Current Category\u003C\u002Fp>\n\u003Cp>Note: Unlike is_category(), these functions will not take arrays of categories or category titles. I’ll work on that. Sorry.\u003C\u002Fp>\n\u003Ch4>Return Values\u003C\u002Fh4>\n\u003Cp>(boolean) True on success, false on failure.\u003C\u002Fp>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>is_parent_category()\nis_child_category()\n\u002F\u002F When any parent\u002Fchild category archive page is being displayed\n\nis_parent_category( '9' );\nis_child_category( '9' );\n\u002F\u002F When the archive page for Category 9 is being displayed AND its a parent\u002Fchild.\n\nis_parent_category( 'blue-cheese' );\nis_child_category( 'blue-cheese' );\n\u002F\u002F When the archive page for the Category with Category Slug \"blue-cheese\" is being displayed AND its a parent\u002Fchild.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Description (part 2)\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>is_parent_of_category()\u003C\u002Fcode> and \u003Ccode>is_child_of_category()\u003C\u002Fcode> conditional tags\u003Cbr \u002F>\ncheck if a given category has a parent or child relationship to the current\u003Cbr \u002F>\ncategory or a category passed as its second parameter. They are\u003Cbr \u002F>\nboolean functions, meaning they return either TRUE or FALSE.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u003C?php is_parent_of_category($child_category, $parent_category, $direct_descendant); ?>\n\u003C?php is_child_of_category($parent_category, $child_category, $direct_descendant);?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Parameters\u003C\u002Fh4>\n\u003Cp>(object\u002Fstring\u002Finteger) (required) Category of the would-be parent\u002Fchild respectively.\u003Cbr \u002F>\n(object\u002Fstring\u002Finteger) (optional) Category of the would-be child\u002Fparent respectfully. Default: Current Category\u003Cbr \u002F>\n(boolean) (optional) Whether or not the child should be a direct child of the parent. Default: True\u003Cbr \u002F>\n *\u003C\u002Fp>\n\u003Ch4>Return Values\u003C\u002Fh4>\n\u003Cp>(boolean) If the $direct_descendant flag set to true, function returns true if the child is a direct descendant of the parent, if child is no direct it will return false. If $direct_descendant is set to false it will return the same results as cat_is_ancestor_of().\u003C\u002Fp>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cp>The following function will return True…\u003C\u002Fp>\n\u003Cpre>\u003Ccode>is_child_of_category(0);\n\u002F\u002F When a top level category is being displayed, zero being the parent id value for top level categories (e.g. categories with no parents).\n\nis_child_of_category(12);\n\u002F\u002F When the current category is a direct child of the category whose ID is '12'.\n\nis_child_of_category('tv-shows')\n\u002F\u002F When the current category is a direct child of the category with the slug 'tv-shows' (can also be category ID's).\n\nis_child_of_category('tv-shows', 'dexter');\n\u002F\u002F When the category with slug 'dexter' is a direct child of the category with the slug 'tv-shows' (can also be category ID's). This may come in handy when manipulating categories while not in a category template.\n\nis_child_of_category('tv-shows', 'dexter', false);\n\u002F\u002F When the category with the slug 'dexter' is a descendant of the category 'tv-shows' at any level. (uses cat_is_ancestor_of())\n\nis_child_of_category('tv-shows', null, false);\n\u002F\u002F When the current category is a descendant of the 'tv-shows' category at any level. (uses cat_is_ancestor_of())\n\nis_parent_of_category(13);\n\u002F\u002F When the current category is the direct parent of a category with the ID '13'.\n\nis_parent_of_category('dexter');\n\u002F\u002F When the current category is the direct parent of the category with the slug 'dexter'.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Backward Compatibility\u003C\u002Fh3>\n\u003Cp>The changes this plugin makes to the template hierarchy are significantly different\u003Cbr \u002F>\nfrom that in 1.0.5 and before. If you prefer to use that version please find it\u003Cbr \u002F>\nin the Older Versions in the WordPress plugins directory, it is tagged as 1.0.5.\u003C\u002Fp>\n\u003Cp>While I do not actively support to QA the older version, I would gladly take a\u003Cbr \u002F>\nlook at any future bugs that crop up and are reported.\u003C\u002Fp>\n","Adds parent-category.php, child-category.php, and child-category-{slug|id} templates to the hierarchy and conditional tags to match.",18999,3,"2012-03-24T03:12:00.000Z","3.3.2","3.0",[148,149,150,22,131],"category","hierarchy","template","http:\u002F\u002Feddiemoya.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcategory-template-hierarchy.zip",{"attackSurface":154,"codeSignals":260,"taintFlows":273,"riskAssessment":274,"analyzedAt":283},{"hooks":155,"ajaxHandlers":256,"restRoutes":257,"shortcodes":258,"cronEvents":259,"entryPointCount":27,"unprotectedCount":27},[156,162,169,174,179,182,185,187,190,194,197,199,201,205,210,213,216,220,224,227,230,232,235,237,239,242,246,247,250,252,254,255],{"type":157,"name":158,"callback":159,"file":160,"line":161},"action","init","closure","local-development.php",40,{"type":163,"name":164,"callback":165,"priority":166,"file":167,"line":168},"filter","plugin_row_meta","row_meta",16,"src\\Local_Development\\Base.php",70,{"type":163,"name":170,"callback":171,"priority":172,"file":167,"line":173},"site_transient_update_plugins","hide_update_nag",99,71,{"type":163,"name":175,"callback":176,"priority":177,"file":167,"line":178},"plugin_action_links","action_links",15,72,{"type":163,"name":180,"callback":176,"priority":177,"file":167,"line":181},"network_admin_plugin_action_links",73,{"type":163,"name":183,"callback":165,"priority":166,"file":167,"line":184},"theme_row_meta",75,{"type":163,"name":186,"callback":171,"priority":172,"file":167,"line":53},"site_transient_update_themes",{"type":163,"name":188,"callback":176,"priority":177,"file":167,"line":189},"theme_action_links",77,{"type":163,"name":191,"callback":192,"priority":177,"file":167,"line":193},"wp_prepare_themes_for_js","set_theme_description",78,{"type":163,"name":164,"callback":195,"priority":177,"file":167,"line":196},"row_meta_icons",81,{"type":163,"name":183,"callback":195,"priority":177,"file":167,"line":198},82,{"type":157,"name":200,"callback":159,"file":167,"line":88},"admin_init",{"type":157,"name":200,"callback":202,"file":203,"line":204},"page_init","src\\Local_Development\\Extras.php",30,{"type":163,"name":206,"callback":207,"priority":208,"file":203,"line":209},"local_development_update_settings_extras","save_tab_settings",10,34,{"type":163,"name":211,"callback":159,"file":203,"line":212},"local_development_add_settings_tabs",43,{"type":163,"name":214,"callback":159,"priority":208,"file":203,"line":215},"local_development_add_admin_page",52,{"type":163,"name":217,"callback":218,"file":203,"line":219},"wp_fatal_error_handler_enabled","__return_false",174,{"type":157,"name":221,"callback":222,"file":203,"line":223},"admin_head","custom_local_admin_bar_css",177,{"type":157,"name":225,"callback":222,"file":203,"line":226},"wp_head",178,{"type":163,"name":228,"callback":159,"priority":208,"file":203,"line":229},"http_request_args",188,{"type":157,"name":200,"callback":202,"file":231,"line":204},"src\\Local_Development\\Plugins.php",{"type":163,"name":233,"callback":207,"priority":208,"file":231,"line":234},"local_development_update_settings_plugins",33,{"type":163,"name":211,"callback":159,"file":231,"line":236},42,{"type":163,"name":214,"callback":159,"priority":208,"file":231,"line":238},51,{"type":157,"name":158,"callback":158,"file":240,"line":241},"src\\Local_Development\\Settings.php",67,{"type":157,"name":243,"callback":244,"file":240,"line":245},"network_admin_edit_local-development","update_settings",69,{"type":157,"name":200,"callback":244,"file":240,"line":168},{"type":157,"name":248,"callback":249,"file":240,"line":173},"admin_head-settings_page_local-development","style_settings",{"type":157,"name":200,"callback":202,"file":251,"line":204},"src\\Local_Development\\Themes.php",{"type":163,"name":253,"callback":207,"priority":208,"file":251,"line":234},"local_development_update_settings_themes",{"type":157,"name":211,"callback":159,"file":251,"line":236},{"type":163,"name":214,"callback":159,"priority":208,"file":251,"line":238},[],[],[],[],{"dangerousFunctions":261,"sqlUsage":262,"outputEscaping":264,"fileOperations":26,"externalRequests":27,"nonceChecks":26,"capabilityChecks":27,"bundledLibraries":272},[],{"prepared":27,"raw":27,"locations":263},[],{"escaped":161,"rawEcho":265,"locations":266},2,[267,270],{"file":167,"line":268,"context":269},282,"raw output",{"file":240,"line":271,"context":269},201,[],[],{"summary":275,"deductions":276},"The \"local-development\" plugin version 2.11.0 exhibits a generally strong security posture based on the static analysis. The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events with unprotected entry points significantly limits the potential attack surface. Furthermore, the code demonstrates good practices with 100% of SQL queries using prepared statements, and a high rate of output escaping (95%). The presence of a nonce check and a single file operation are noted, but without further context on their implementation, their security impact is neutral.  \n\nHowever, the plugin's vulnerability history presents a notable concern. While there are no currently unpatched vulnerabilities, the presence of one previously reported medium-severity CVE, specifically a Cross-Site Request Forgery (CSRF), suggests a past weakness that required remediation. This history, despite current patching, indicates that the plugin has been susceptible to certain types of attacks. The complete lack of taint analysis results is unusual and could either indicate very limited data or that the analysis tool found no complex data flows to evaluate, which in this context of limited attack surface is likely a positive sign.  \n\nIn conclusion, the plugin has strong foundational security practices. The absence of critical or high-severity findings in static analysis and taint analysis is positive. The main area for caution is the past CSRF vulnerability, which, while patched, warrants continued monitoring and adherence to secure coding practices to prevent recurrence.",[277,279,281],{"reason":278,"points":208},"Medium severity CVE history",{"reason":280,"points":143},"1 file operation identified",{"reason":282,"points":14},"Capability checks are zero","2026-03-16T21:22:00.694Z",{"wat":285,"direct":294},{"assetPaths":286,"generatorPatterns":289,"scriptPaths":290,"versionParams":291},[287,288],"\u002Fwp-content\u002Fplugins\u002Flocal-development\u002Fcss\u002Flocal-development-admin.css","\u002Fwp-content\u002Fplugins\u002Flocal-development\u002Fjs\u002Flocal-development-admin.js",[],[288],[292,293],"local-development\u002Fcss\u002Flocal-development-admin.css?ver=","local-development\u002Fjs\u002Flocal-development-admin.js?ver=",{"cssClasses":295,"htmlComments":297,"htmlAttributes":298,"restEndpoints":300,"jsGlobals":301,"shortcodeOutput":302},[296],"hidden",[],[299],"data-tip",[],[],[]]