[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fatSJF3h0frRAJ1CzS56bGW4FVVqYveqJkOcrEEOkcIk":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":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":136,"fingerprints":325},"post-type-archive-pages-and-permalink-settings","PTAPS – Post Type Archive Pages and Permalink Settings","2.2.3","Timo H","https:\u002F\u002Fprofiles.wordpress.org\u002Ftimohubois\u002F","\u003Cp>Select a regular page that should interact as archive for custom post types and allows to change the slug for custom post type single pages or custom taxonomies.\u003C\u002Fp>\n\u003Cp>The Plugin integrates seamlessly with \u003Cstrong>Reading\u003C\u002Fstrong> and \u003Cstrong>Permalinks\u003C\u002Fstrong> settings:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Settings > \u003Cstrong>Reading\u003C\u002Fstrong> > Choose a page to as the archive for each custom post type.\u003C\u002Fli>\n\u003Cli>Settings > \u003Cstrong>Permalinks\u003C\u002Fstrong> > Easily modify slugs for custom post types and taxonomies, where by default the selected archive page from \u003Cstrong>Reading\u003C\u002Fstrong> settings is used as base slug.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Perfect for developers and site owners looking to optimize their WordPress site structure and improve SEO.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom archive page selection for post types to use any regular page as archive page\u003C\u002Fli>\n\u003Cli>Flexible permalink customization of custom post types or custom taxonomies\u003C\u002Fli>\n\u003Cli>More SEO-friendly URL structures\u003C\u002Fli>\n\u003Cli>Easy integration with existing WordPress settings\u003C\u002Fli>\n\u003Cli>Compatible with YOAST, WPML and Timber\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Want to contribute?\u003C\u002Fh3>\n\u003Cp>Check out the Plugin \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftimohubois\u002Fpost-type-archive-pages-and-permalink-settings\u002F\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>.\u003C\u002Fp>\n","Use archive pages for custom post types and improve WordPress SEO by managing permalinks for custom post types and taxonomies.",50,3142,100,1,"2025-12-16T08:57:00.000Z","6.8.5","6.0","8.0",[20,21,22,23],"archives","custom-post-types","custom-taxonomy","permalink","https:\u002F\u002Fgithub.com\u002Ftimohubois\u002Fpost-type-archive-pages-and-permalink-settings\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-type-archive-pages-and-permalink-settings.2.2.3.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":13,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"timohubois",4,140,30,94,"2026-04-04T07:18:57.807Z",[38,59,80,100,119],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":13,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":52,"download_link":57,"security_score":58,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"post-type-archive-descriptions","Post Type Archive Descriptions","1.5.0","mrwweb","https:\u002F\u002Fprofiles.wordpress.org\u002Fmrwweb\u002F","\u003Cp>Enables an editable description to display on post type archive pages. Show the description with WordPress’s \u003Ccode>the_archive_description()\u003C\u002Fcode> function that also displays taxonomy term descriptions. Will work automatically with many themes, including most default WordPress themes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Translations:\u003C\u002Fstrong> Archive descriptions are translatable via \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">Polylang\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwpml.org\u002F?aid=255503&affiliate_key=8ZIRtAbJbX4x&dr=post-type-archive-descriptions-plugin\" rel=\"nofollow ugc\">WPML (affiliate link)\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqtranslate-x\u002F\" rel=\"ugc\">qTranslate-X\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The Events Calendar:\u003C\u002Fstrong> The archive description is automatically added above the Events Bar when using the latest templates from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fthe-events-calendar\u002F\" rel=\"ugc\">The Events Calendar\u003C\u002Fa>. Filter the location of the description or disable it entirely with the \u003Ccode>ptad_tribe_template_before_include\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Ch4>Other Plugins by MRWweb\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmrw-web-design-simple-tinymce\u002F\" rel=\"ugc\">MRW Simplified Editor\u003C\u002Fa> – Get rid of bad and obscure TinyMCE buttons. Move the rest to a single top row.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpost-status-menu-items\u002F\" rel=\"ugc\">Post Status Menu Items\u003C\u002Fa> – Adds post status links–e.g. “Draft” (7)–to post type admin menus.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhawaiian-characters\u002F\" rel=\"ugc\">Hawaiian Characters\u003C\u002Fa> – Adds the correct characters with diacriticals to the WordPress editor Character Map for Hawaiian\u003C\u002Fli>\n\u003C\u002Ful>\n","Enables an editable description to display on post type archive pages. Show the description with WordPress's the_archive_description() function t &hellip;",1000,68267,6,"2023-10-20T17:14:00.000Z","6.3.8","4.6","",[20,54,55,21,56],"custom-post-type","custom-post-type-archive","post-type-archive","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-type-archive-descriptions.1.5.0.zip",85,{"slug":60,"name":61,"version":41,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":78,"download_link":79,"security_score":58,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"custom-fields-permalink-redux","Custom Fields Permalink 2","athlan","https:\u002F\u002Fprofiles.wordpress.org\u002Fathlan\u002F","\u003Cp>Plugin allows to use post’s custom fields values in permalink structure by adding \u003Ccode>%field_fieldname%\u003C\u002Fcode> rewrite tag.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>http:\u002F\u002Fexample.com\u002F%field_event_date_from%\u002F%postname%\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>http:\u002F\u002Fexample.com\u002Fpost-type\u002F%field_event_date_from%\u002F%postname%\u002F\u003C\u002Fcode> (with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-post-type-permalinks\u002F\" rel=\"ugc\">Custom Post Type Permalinks\u003C\u002Fa> plugin)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also set different permalink structure depending on custom post type using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-post-type-permalinks\u002F\" rel=\"ugc\">Custom Post Type Permalinks\u003C\u002Fa> plugin. You can create own post types by using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-post-type-ui\u002F\" rel=\"ugc\">Custom Post Type UI\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003Cp>The plugin works for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>posts\u003C\u002Fli>\n\u003Cli>pages\u003C\u002Fli>\n\u003Cli>custom post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Plugin is also available on GitHub:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fathlan\u002Fwordpress-custom-fields-permalink-plugin\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fathlan\u002Fwordpress-custom-fields-permalink-plugin\u003C\u002Fa>\u003C\u002Fp>\n","Plugin allows to use post's custom fields values in permalink structure by adding %field_fieldname%, for posts, pages and custom post types.",600,7449,92,5,"2018-10-24T19:38:00.000Z","5.0.25","4.5.0","5.3",[75,21,23,76,77],"custom-fields","permalinks","url","http:\u002F\u002Fathlan.pl\u002Fwordpress-custom-fields-permalink-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-fields-permalink-redux.1.5.0.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":50,"requires_at_least":93,"requires_php":52,"tags":94,"homepage":98,"download_link":99,"security_score":58,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"wp-permastructure","WP Permastructure","1.4.4","Robert O'Rourke","https:\u002F\u002Fprofiles.wordpress.org\u002Fsanchothefat\u002F","\u003Cp>In addition to controlling your custom post type permalinks this plugin adds support for using custom taxonomies in your permalink structures as well.\u003C\u002Fp>\n\u003Cp>Not only that but you can control the full permalink so the post type slug is not required at the start of the link.\u003C\u002Fp>\n\u003Cp>Multiple post types can use the same permalink structure.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>There are 2 ways to use this plugin:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Permalink Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin adds fields to the permalinks settings page for any public facing custom post types.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>In Code\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>When registering a post type you can add a value to the rewrite property with the key ‘permastruct’ to define your default permalink structure.\u003C\u002Fp>\n\u003Cp>eg:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n\nregister_post_type( 'my_type', array(\n    ...\n    'rewrite' => array(\n        'permastruct' => '\u002F%custom_taxonomy_name%\u002F%author%\u002F%postname%\u002F'\n    ),\n    ...\n) );\n\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Adds the ability to configure permalinks for custom post types using rewrite tags like %post_id% and %author%.",400,21041,86,15,"2023-07-26T09:18:00.000Z","3.3",[21,95,76,96,97],"custom-taxonomies","rewrite-rules","urls","https:\u002F\u002Fgithub.com\u002Finterconnectit\u002Fwp-permastructure","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-permastructure.1.4.4.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":13,"num_ratings":14,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":52,"tags":113,"homepage":117,"download_link":118,"security_score":58,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"genesis-custom-post-types-archives","Genesis Custom Post Types Archives","0.6.6","Travis Smith","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpsmith\u002F","\u003Cp>Genesis Custom Post Types Archives extends the builtin Genesis SEO functionality to Genesis Custom Post Types Archives with the added ability to add custom content before the archives loop.\u003C\u002Fp>\n\u003Cp>Genesis Custom Post Types Archives is for sites that use \u003Cstrong>Custom Post Types\u003C\u002Fstrong>. If you do not use CPTs, then this plugin will prove useless for you.\u003C\u002Fp>\n\u003Cp>IMPORTANT:\u003Cbr \u002F>\n\u003Cstrong>You must have \u003Ca href=\"http:\u002F\u002Fwpsmith.net\u002Fget-genesis\" title=\"Learn more about Genesis\" rel=\"nofollow ugc\">Genesis\u003C\u002Fa> installed. Click \u003Ca href=\"http:\u002F\u002Fwpsmith.net\u002Fget-genesis\" title=\"Learn more about Genesis\" rel=\"nofollow ugc\">here\u003C\u002Fa> to learn more about \u003Ca href=\"http:\u002F\u002Fwpsmith.net\u002Fget-genesis\" title=\"Learn more about Genesis\" rel=\"nofollow ugc\">Genesis\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Special Thanks\u003C\u002Fh3>\n\u003Cp>I owe a huge debt of gratitude to all the folks at \u003Ca href=\"http:\u002F\u002Fwpsmith.net\u002Fget-genesis\u002F\" title=\"StudioPress\" rel=\"nofollow ugc\">StudioPress\u003C\u002Fa>, their \u003Ca href=\"http:\u002F\u002Fwpsmith.net\u002Fget-genesis\u002F\" title=\"StudioPress Themes\" rel=\"nofollow ugc\">themes\u003C\u002Fa> make life easier.\u003C\u002Fp>\n\u003Cp>And thanks to the various individuals who helped me through the beta testing.\u003C\u002Fp>\n","Allows you to customize Genesis Custom Post Type archive pages for solid SEO.",40,5686,"2012-10-24T23:31:00.000Z","3.3.2","3.0",[20,114,21,115,116],"cpts","genesis","genesiswp","http:\u002F\u002Fwww.wpsmith.net\u002Fgenesis-custom-post-types-archives","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgenesis-custom-post-types-archives.zip",{"slug":120,"name":121,"version":122,"author":123,"author_profile":124,"description":125,"short_description":126,"active_installs":127,"downloaded":128,"rating":26,"num_ratings":26,"last_updated":129,"tested_up_to":130,"requires_at_least":112,"requires_php":52,"tags":131,"homepage":134,"download_link":135,"security_score":58,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"custom-post-archives","Custom Post Archives","1.0.3","Jacob Dunn","https:\u002F\u002Fprofiles.wordpress.org\u002Fspacemanspud\u002F","\u003Cp>Custom Post Archives bridges the gap between creating Custom Post Types in WordPress 3, and actually displaying those posts. With this plugin, you have\u003Cbr \u002F>\nthe option of displaying a completely seperate blog-like section for each post type, complete with all the features you expect to see with WordPress.\u003C\u002Fp>\n\u003Cp>For each custom post type, if you click “active” and enter a slug-name, this plugin will let you display post-type specific:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Archives\u003C\u002Fli>\n\u003Cli>Date archives\u003C\u002Fli>\n\u003Cli>Author archives\u003C\u002Fli>\n\u003Cli>Category archives\u003C\u002Fli>\n\u003Cli>RSS Feeds\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plug-in also provides many additional features to fully integrate your custom post types, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adds a menu option to the new menu section created in WordPress 3 (for themes that support it)\u003C\u002Fli>\n\u003Cli>Combined archives (http:\u002F\u002Fwww.mysite.com\u002Ftype1+type2\u002F)\u003C\u002Fli>\n\u003Cli>Option to add post types to default blog\u003C\u002Fli>\n\u003Cli>Option to add post types to default RSS feed\u003C\u002Fli>\n\u003Cli>Adds post type support to wp_get_archives function\u003C\u002Fli>\n\u003Cli>Adds multiple global functions and filters for working with custom post types (see Functions and Filters or Plugin Help for details)\u003C\u002Fli>\n\u003Cli>Automatically displays the associated post type on custom taxonomy archives\u003C\u002Fli>\n\u003Cli>Extends upon the WordPress templating, allowing for flexibility by theme authors (see FAQ or Plugin Help for details)\u003C\u002Fli>\n\u003Cli>Automatically flushes the rewrite cache after modifications are detected\u003C\u002Fli>\n\u003Cli>Automatically adds a “blog-{post_type}” type class to the body of the created archives (for themes that implement body_class())\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For help and support, help has been built into the plug-in page’s contextual help section; be sure to check \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcustom-post-archives\u002Ffaq\u002F\" rel=\"ugc\">the FAQ\u003C\u002Fa> and the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Ftags\u002Fcustom-post-archives?forum_id=10\" rel=\"ugc\">plug-in forums\u003C\u002Fa> if that doesn’t do it.\u003C\u002Fp>\n\u003Cp>If there are any other features you’d like to see, I’m all ears. Feel free to \u003Ca href=\"mailto:requests.custompostarchives@gmail.com\" rel=\"nofollow ugc\">send a message\u003C\u002Fa>, or \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Ftags\u002Fcustom-post-archives?forum_id=10\" rel=\"ugc\">hit the forums\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch3>Functions and Filters\u003C\u002Fh3>\n\u003Cp>The following function and filters are created by this plug-in. For more detailed descriptions, check the Help section built into the settings page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Functions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>is_custom_archive({$post_type = false});\n\nget_custom_archive_url($post_type);\nget_custom_archive_label({$post_type = false});\nget_custom_archive_link($post_type);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The following functions are for advanced users. Each overrides the settings for the corresponding post_type in the plugin settings.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_custom_archive($post_type,$slug,{$in_default = false,$in_rss = false});\nremove_custom_archive($post_type);\nadd_to_default_archive($post_type);\nremove_from_default_archive($post_type);\nreset_custom_archive_to_default($post_type);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>cpa_rewrite_label\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Allows you to format the label returned by get_custom_archive_label().\u003C\u002Fp>\n\u003Cpre>\u003Ccode>cpa_templates\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Allows you to provide or alter the list of templates Custom Post Archives searches for.\u003C\u002Fp>\n","Custom Post Archives creates a fully featured set of archives for each post type using a robust back-end and native templating functionality.",20,7543,"2011-04-29T15:14:00.000Z","3.1.4",[20,21,132,133],"mod_rewrite","templates","http:\u002F\u002Fwww.bozell.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-post-archives.1.0.3.zip",{"attackSurface":137,"codeSignals":261,"taintFlows":273,"riskAssessment":317,"analyzedAt":324},{"hooks":138,"ajaxHandlers":257,"restRoutes":258,"shortcodes":259,"cronEvents":260,"entryPointCount":26,"unprotectedCount":26},[139,145,150,154,158,161,166,171,175,179,184,187,190,192,196,199,202,205,208,211,215,218,221,224,227,230,234,238,240,242,246,250,254],{"type":140,"name":141,"callback":142,"file":143,"line":144},"filter","timber\u002Fcontext","maybeAddArchivePageToContext","classes\\Compatibility\\Timber.php",13,{"type":140,"name":146,"callback":147,"file":148,"line":149},"rewrite_rules_array","updateTaxonomyRewriteRulesOrder","classes\\Compatibility\\WordPress.php",19,{"type":151,"name":152,"callback":153,"file":148,"line":127},"action","template_redirect","handle404",{"type":140,"name":155,"callback":156,"file":148,"line":157},"wp_title","updateTitle",22,{"type":140,"name":159,"callback":156,"file":148,"line":160},"get_the_archive_title",23,{"type":140,"name":162,"callback":163,"priority":164,"file":148,"line":165},"wp_nav_menu_objects","updateNavMenuObjects",10,25,{"type":151,"name":167,"callback":168,"priority":169,"file":148,"line":170},"admin_bar_menu","addAdminBarEditLink",80,27,{"type":151,"name":172,"callback":173,"priority":164,"file":148,"line":174},"display_post_states","addPostStateLabel",28,{"type":151,"name":176,"callback":177,"priority":164,"file":148,"line":178},"post_updated","postUpdated",29,{"type":140,"name":180,"callback":181,"priority":164,"file":182,"line":183},"ptatap_post_type_reading_settings","setTranslatedPostTypeReadingSettings","classes\\Compatibility\\Wpml.php",18,{"type":140,"name":185,"callback":186,"priority":164,"file":182,"line":127},"init","setPostTypeTranslationStrings",{"type":140,"name":185,"callback":188,"priority":91,"file":182,"line":189},"setTaxonomyTranslationStrings",21,{"type":140,"name":146,"callback":191,"file":182,"line":160},"setRewriteRulesArray",{"type":140,"name":193,"callback":194,"priority":164,"file":182,"line":195},"post_type_link","getPostTypeLink",24,{"type":140,"name":197,"callback":198,"priority":164,"file":182,"line":165},"post_type_archive_link","getPostTypeArchiveLink",{"type":140,"name":200,"callback":201,"priority":164,"file":182,"line":170},"icl_ls_languages","setIcLsLanguages",{"type":140,"name":203,"callback":204,"priority":164,"file":182,"line":174},"wpml_ls_language_url","setWpmlLsLanguageUrls",{"type":140,"name":206,"callback":207,"priority":164,"file":182,"line":178},"wpml_alternate_hreflang","setWpmlAlternateHrefLang",{"type":151,"name":152,"callback":209,"priority":164,"file":182,"line":210},"redirectTo404IfArchivePageNotFoundInCurrentLanguage",31,{"type":151,"name":212,"callback":213,"file":214,"line":183},"edit_form_after_title","renderAdminNoticeClassicEditor","classes\\Compatibility\\Yoast.php",{"type":151,"name":216,"callback":217,"file":214,"line":149},"admin_print_footer_scripts","renderBlockEditorNotice",{"type":140,"name":219,"callback":220,"file":214,"line":189},"wpseo_canonical","wpseoCanonical",{"type":140,"name":222,"callback":223,"file":214,"line":157},"wpseo_next_rel_link","wpseoNextRelLink",{"type":140,"name":225,"callback":226,"file":214,"line":160},"wpseo_prev_rel_link","wpseoPrevRelLink",{"type":140,"name":228,"callback":229,"priority":164,"file":214,"line":195},"wpseo_adjacent_rel_url","wpseoAdjacentRelUrl",{"type":151,"name":231,"callback":232,"file":233,"line":91},"admin_init","maybeFlushRewriteRules","classes\\Features\\FlushRewriteRules.php",{"type":151,"name":235,"callback":236,"file":237,"line":189},"load-options-permalink.php","addSettings","classes\\Features\\OptionsPermalinksPostTypes.php",{"type":151,"name":235,"callback":236,"file":239,"line":189},"classes\\Features\\OptionsPermalinksTaxonomies.php",{"type":151,"name":231,"callback":236,"file":241,"line":157},"classes\\Features\\OptionsReadingPostTypes.php",{"type":140,"name":243,"callback":244,"priority":164,"file":245,"line":91},"register_post_type_args","setPostTypeArgs","classes\\Features\\SetArchivesAndSlugs.php",{"type":140,"name":247,"callback":248,"priority":164,"file":245,"line":249},"register_taxonomy_args","setTaxonomyArgs",16,{"type":151,"name":251,"callback":252,"file":253,"line":91},"wp_loaded","getPostTypes","classes\\Features\\SupportedPostTypes.php",{"type":151,"name":251,"callback":255,"file":256,"line":91},"getTaxonomies","classes\\Features\\SupportedTaxonomies.php",[],[],[],[],{"dangerousFunctions":262,"sqlUsage":263,"outputEscaping":265,"fileOperations":26,"externalRequests":26,"nonceChecks":271,"capabilityChecks":26,"bundledLibraries":272},[],{"prepared":32,"raw":26,"locations":264},[],{"escaped":266,"rawEcho":14,"locations":267},39,[268],{"file":214,"line":269,"context":270},73,"raw output",2,[],[274,293,301,309],{"entryPoint":275,"graph":276,"unsanitizedCount":26,"severity":292},"addSettings (classes\\Features\\OptionsPermalinksPostTypes.php:62)",{"nodes":277,"edges":289},[278,283],{"id":279,"type":280,"label":281,"file":237,"line":282},"n0","source","$_POST",81,{"id":284,"type":285,"label":286,"file":237,"line":287,"wp_function":288},"n1","sink","update_option() [Settings Manipulation]",96,"update_option",[290],{"from":279,"to":284,"sanitized":291},true,"low",{"entryPoint":294,"graph":295,"unsanitizedCount":26,"severity":292},"\u003COptionsPermalinksPostTypes> (classes\\Features\\OptionsPermalinksPostTypes.php:0)",{"nodes":296,"edges":299},[297,298],{"id":279,"type":280,"label":281,"file":237,"line":282},{"id":284,"type":285,"label":286,"file":237,"line":287,"wp_function":288},[300],{"from":279,"to":284,"sanitized":291},{"entryPoint":302,"graph":303,"unsanitizedCount":26,"severity":292},"addSettings (classes\\Features\\OptionsPermalinksTaxonomies.php:62)",{"nodes":304,"edges":307},[305,306],{"id":279,"type":280,"label":281,"file":239,"line":282},{"id":284,"type":285,"label":286,"file":239,"line":287,"wp_function":288},[308],{"from":279,"to":284,"sanitized":291},{"entryPoint":310,"graph":311,"unsanitizedCount":26,"severity":292},"\u003COptionsPermalinksTaxonomies> (classes\\Features\\OptionsPermalinksTaxonomies.php:0)",{"nodes":312,"edges":315},[313,314],{"id":279,"type":280,"label":281,"file":239,"line":282},{"id":284,"type":285,"label":286,"file":239,"line":287,"wp_function":288},[316],{"from":279,"to":284,"sanitized":291},{"summary":318,"deductions":319},"Based on the provided static analysis and vulnerability history, the \"post-type-archive-pages-and-permalink-settings\" plugin v2.2.3 exhibits a strong security posture.  The complete absence of critical or high-severity issues in its history, coupled with a lack of known CVEs, is highly encouraging.  The static analysis reveals excellent adherence to security best practices.  All SQL queries are prepared statements, the vast majority of output is properly escaped, and there are no file operations or external HTTP requests, significantly reducing the attack surface. The presence of nonce checks further reinforces the security measures implemented.",[320,322],{"reason":321,"points":69},"No capability checks found.",{"reason":323,"points":271},"Minor percentage of unescaped output.","2026-03-16T22:01:08.373Z",{"wat":326,"direct":335},{"assetPaths":327,"generatorPatterns":330,"scriptPaths":331,"versionParams":332},[328,329],"\u002Fwp-content\u002Fplugins\u002Fpost-type-archive-pages-and-permalink-settings\u002Fassets\u002Fcss\u002Fptap-settings.css","\u002Fwp-content\u002Fplugins\u002Fpost-type-archive-pages-and-permalink-settings\u002Fassets\u002Fjs\u002Fptap-admin-script.js",[],[329],[333,334],"post-type-archive-pages-and-permalink-settings\u002Fassets\u002Fcss\u002Fptap-settings.css?ver=","post-type-archive-pages-and-permalink-settings\u002Fassets\u002Fjs\u002Fptap-admin-script.js?ver=",{"cssClasses":336,"htmlComments":338,"htmlAttributes":339,"restEndpoints":342,"jsGlobals":343,"shortcodeOutput":345},[337],"ptap-settings-page",[],[340,341],"data-ptap-taxonomy","data-ptap-post-type",[],[344],"ptapAdminScript",[]]