[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fw79LXecpRrCE8SPQzZyzsVF_JbbdbDZ4iV-8m0m0KtQ":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":145,"fingerprints":259},"custom-post-type-permalinks","Custom Post Type Permalinks","3.5.3","Toro_Unit (Hiroshi Urabe)","https:\u002F\u002Fprofiles.wordpress.org\u002Ftoro_unit\u002F","\u003Cp>Custom Post Type Permalinks allow you edit the permalink structure of custom post type.\u003C\u002Fp>\n\u003Cp>Change custom taxonomy archive’s permalink to “example.org\u002Fpost_type\u002Ftaxonomy_name\u002Fterm_slug”. Can disable this fix.\u003C\u002Fp>\n\u003Cp>And support \u003Ccode>wp_get_archives( 'post_type=foo' )\u003C\u002Fcode> and post type date archive (ex. \u003Ccode>example.com\u002Fpost_type_slug\u002Fdate\u002F2010\u002F01\u002F01\u003C\u002Fcode> ).\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftorounit\u002Fcustom-post-type-permalinks\" rel=\"nofollow ugc\">This Plugin published on GitHub.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Donation: Please send \u003Ca href=\"http:\u002F\u002Fwww.amazon.co.jp\u002Fregistry\u002Fwishlist\u002FCOKSXS25MVQV\" rel=\"nofollow ugc\">My Wishlist\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.paypal.me\u002Ftorounit\" rel=\"nofollow ugc\">Paypal\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translators\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Japanese(ja) – \u003Ca href=\"http:\u002F\u002Fwww.torounit.com\u002F\" rel=\"nofollow ugc\">Toro_Unit\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French(fr_FR) – \u003Ca href=\"http:\u002F\u002Fgeoffrey.crofte.fr\u002F\" rel=\"nofollow ugc\">Geoffrey Crofte\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian(ru_RU) – \u003Ca href=\"http:\u002F\u002Folart.ru\" rel=\"nofollow ugc\">Olart\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnatali_z\" rel=\"nofollow ugc\">Natali_Z\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Also checkout\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-post-type-permalinks\u002F\" rel=\"ugc\">Simple Post Type Permalinks\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Setting on Code\u003C\u002Fh3>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>register_post_type( 'foo',\n    array(\n        'public' => true,\n        'has_archive' => true,\n        'rewrite' => array(\n            \"with_front\" => true\n        ),\n        'cptp_permalink_structure' => '%post_id%'\n    )\n);\u003C\u002Fpre>\n\u003Ch4>Exclude specific post type\u003C\u002Fh4>\n\u003Cpre>add_filter(  'cptp_is_rewrite_supported_by_foo',  '__return_false' );\n\n\u002F\u002F or\n\nadd_filter(  'cptp_is_rewrite_supported', function ( $support , $post_type ) {\n    if ( 'foo' === $post_type ) {\n        return false;\n    }\n    return $support;\n}, 10, 2);\u003C\u002Fpre>\n","Edit the permalink of custom post type.",200000,1713689,96,71,"2024-10-10T06:12:00.000Z","6.6.5","6.1","7.4",[20,21,22,23,24],"address","custom-post-type","link","permalink","url","https:\u002F\u002Fgithub.com\u002Ftorounit\u002Fcustom-post-type-permalinks","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-post-type-permalinks.3.5.3.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"toro_unit",23,215980,87,30,85,"2026-04-05T02:26:21.933Z",[41,64,84,105,126],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":56,"tags":57,"homepage":59,"download_link":60,"security_score":61,"vuln_count":62,"unpatched_count":28,"last_vuln_date":63,"fetched_at":30},"custom-permalinks","Custom Permalinks","3.1.2","Sami Ahmed Siddiqui","https:\u002F\u002Fprofiles.wordpress.org\u002Fsasiddiqui\u002F","\u003Cp>You want to take control of your WordPress site’s URLs? The \u003Cstrong>Custom Permalinks\u003C\u002Fstrong> plugin gives you the power to set unique, custom URLs for any post, page, tag, or category. This means you can design your site’s structure exactly how you envision it, rather than being limited by WordPress’s default settings. When you set a custom permalink, the original post URL will be automatically redirected to your new, customized URL.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Individual Permalink Control\u003C\u002Fstrong>: Assign unique URLs to any post, page, tag, or category.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site Structure Control\u003C\u002Fstrong>: Gain ultimate control over how your site’s URLs are organized.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Type Permalink Structures (v3.0.0+)\u003C\u002Fstrong>: Define custom permalink structures for each public Post Type using predefined tags, automatically generating URLs upon content creation. You can still manually edit any permalink. If left empty, default settings will apply.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Getting Started: Plugin Settings\u003C\u002Fh3>\n\u003Cp>You can configure Custom Permalinks by navigating to \u003Cstrong>Settings > Custom Permalinks\u003C\u002Fstrong> in your WordPress Dashboard.\u003C\u002Fp>\n\u003Ch3>Available Tags for Permalink Structures\u003C\u002Fh3>\n\u003Cp>When setting up your custom permalink structures, you can use a variety of tags that will dynamically populate the URL. Here’s a breakdown of what’s available:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>%year%\u003C\u002Fstrong>: The year of the post in four digits, eg: 2025\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%monthnum%\u003C\u002Fstrong>: Month the post was published, in two digits, eg: 01\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%day%\u003C\u002Fstrong>: Day the post was published in two digits, eg: 02\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%hour%\u003C\u002Fstrong>: Hour of the day, the post was published, eg: 15\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%minute%\u003C\u002Fstrong>: Minute of the hour, the post was published, eg: 43\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%second%\u003C\u002Fstrong>: Second of the minute, the post was published, eg: 33\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%post_id%\u003C\u002Fstrong>: The unique ID of the post, eg: 123\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%category%\u003C\u002Fstrong>: A clean version of the category name (its slug). Nested sub-categories will appear as nested directories in the URL..\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%author%\u003C\u002Fstrong>: A sanitized version of the post author’s name.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%postname%\u003C\u002Fstrong>: A clean version of the post or page title (its slug). For example, “This Is A Great Post!” becomes \u003Ccode>this-is-a-great-post\u003C\u002Fcode> in the URL.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%parent_postname%\u003C\u002Fstrong>: Similar to \u003Ccode>%postname%\u003C\u002Fcode>, but uses the immediate parent page’s slug if a parent is selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%parents_postnames%\u003C\u002Fstrong>: Similar to \u003Ccode>%postname%\u003C\u002Fcode>, but includes all parent page slugs if parents are selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%title%\u003C\u002Fstrong>: The title of the post, converted to a slug. For example, “This Is A Great Post!” becomes \u003Ccode>this-is-a-great-post\u003C\u002Fcode>. Unlike \u003Ccode>%postname%\u003C\u002Fcode> which is set once, \u003Ccode>%title%\u003C\u002Fcode> automatically updates in the permalink if the post title changes (unless the post is published or the permalink is manually edited).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%ctax_TAXONOMY_NAME%\u003C\u002Fstrong>: A clean version of a custom taxonomy’s name. Replace \u003Ccode>TAXONOMY_NAME\u003C\u002Fcode> with the actual taxonomy name. You can also provide a default slug for when no category\u002Ftaxonomy is selected by using \u003Ccode>??\u003C\u002Fcode> (e.g., \u003Ccode>%ctax_type??sales%\u003C\u002Fcode> will use “sales” as a default).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%ctax_parent_TAXONOMY_NAME%\u003C\u002Fstrong>: Similar to \u003Ccode>%ctax_TAXONOMY_NAME%\u003C\u002Fcode>, but includes the immediate parent category\u002Ftag slug in the URL if a parent is selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%ctax_parents_TAXONOMY_NAME%\u003C\u002Fstrong>: Similar to \u003Ccode>%ctax_TAXONOMY_NAME%\u003C\u002Fcode>, but includes all parent category\u002Ftag slugs in the URL if parents are selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%custom_permalinks_TAG_NAME%\u003C\u002Fstrong>: Developers have the flexibility to define their own custom tags(replace \u003Ccode>_TAG_NAME\u003C\u002Fcode> with your desired name). To ensure these tags resolve to the correct permalinks, simply apply the \u003Ccode>custom_permalinks_post_permalink_tag\u003C\u002Fcode> filter.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Important Note:\u003C\u002Fstrong> For new posts, Custom Permalinks will keep updating the permalink while the post is in draft mode, assuming a structure is defined in the plugin settings. Once the post is published or its permalink is manually updated, the plugin will stop automatic updates for that specific post.\u003C\u002Fp>\n\u003Ch3>Custom Permalinks: Fine-Tuning with Filters\u003C\u002Fh3>\n\u003Cp>Custom Permalinks offers a range of \u003Cstrong>filters\u003C\u002Fstrong> that empower developers to precisely control its behavior. You can explore all available filters, complete with example code snippets, in our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamiahmedsiddiqui\u002Fcustom-permalinks\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For Assistance:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Premium Users:\u003C\u002Fstrong> If you need assistance implementing these filters, please don’t hesitate to reach out to us via our \u003Ca href=\"https:\u002F\u002Fwww.custompermalinks.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Premium contact support\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Other Users:\u003C\u002Fstrong> You can also directly reach out to the plugin author via \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsami-ahmed-siddiqui\u002F\" rel=\"nofollow ugc\">LinkedIn\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Need Help or Found a Bug?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Support:\u003C\u002Fstrong> For one-on-one email support, consider purchasing \u003Ca href=\"https:\u002F\u002Fwww.custompermalinks.com\u002F#pricing-section\" rel=\"nofollow ugc\">Custom Permalinks Premium\u003C\u002Fa>. While some basic support may be provided on the WordPress.org forums, email support is prioritized for premium users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bug Reports:\u003C\u002Fstrong> If you encounter a bug, please report it on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamiahmedsiddiqui\u002Fcustom-permalinks\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>. Make sure to provide complete information to reproduce the issue. GitHub is for bug reports, not general support questions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you experience any site-breaking issues after upgrading, please report them on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fcustom-permalinks\u002F\" rel=\"ugc\">WordPress Forum\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamiahmedsiddiqui\u002Fcustom-permalinks\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa> with detailed information. You can always revert to an older version by downloading it from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-permalinks\u002Fadvanced\u002F\" rel=\"ugc\">https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-permalinks\u002Fadvanced\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","A powerful WordPress plugin for full URL control. Set custom permalinks, auto-redirects, and use dynamic tags for ideal site structure and SEO.",100000,2526567,82,116,"2025-10-08T12:56:00.000Z","6.8.5","2.6","7.0",[20,22,23,58,24],"redirect","https:\u002F\u002Fwww.custompermalinks.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-permalinks.3.1.2.zip",97,3,"2024-08-23 00:00:00",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":51,"num_ratings":74,"last_updated":75,"tested_up_to":76,"requires_at_least":77,"requires_php":78,"tags":79,"homepage":81,"download_link":82,"security_score":83,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"enhanced-custom-permalinks","Enhanced Custom Permalinks","0.1.1","Tor N. Johnson","https:\u002F\u002Fprofiles.wordpress.org\u002Fkasigi\u002F","\u003Cp>This plugin is DEPRECATED! Do NOT use it on new installations. It has been updated for legacy support only and no longer will function for new content creation. If you need custom permalinks beyond what WP supports, consider plugins like permalink-manager.\u003C\u002Fp>\n\u003Cp>This plugin is a fork of the Custom-Permalinks plugin.  It has some expanded bug patches AND is able to interoperate with the WP-no-category-base plugin.\u003C\u002Fp>\n\u003Cp>This plugin will allow you to set permalinks in a more precise way – in short you can include sub-folders.  A page could have the permalink http:\u002F\u002Fwww.example.com\u002FaFolder\u002FanotherFolder\u002Fpage.html without having to create the intermediate pages or categories aFolder\u002FanotherFolder\u002F.\u003C\u002Fp>\n\u003Cp>Be warned: \u003Cem>This plugin is not a replacement for WordPress’s built-in permalink system\u003C\u002Fem>. Check your WordPress\u003Cbr \u002F>\nadministration’s “Permalinks” settings page first, to make sure that this doesn’t already meet your needs.\u003C\u002Fp>\n\u003Cp>This plugin is only useful for assigning custom permalinks for \u003Cem>individual\u003C\u002Fem> posts, pages, tags or categories.\u003Cbr \u002F>\nIt will not apply whole permalink structures, or automatically apply a category’s custom permalink to the posts\u003Cbr \u002F>\nwithin that category.\u003C\u002Fp>\n","Set custom permalinks on a per-post, per-tag or per-category basis.",1000,14729,14,"2025-10-20T04:48:00.000Z","6.5.8","3.0","",[20,80,22,23,24],"custom","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fenhanced-custom-permalinks","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fenhanced-custom-permalinks.zip",100,{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":27,"num_ratings":94,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":98,"tags":99,"homepage":103,"download_link":104,"security_score":38,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"custom-fields-permalink-redux","Custom Fields Permalink 2","1.5.0","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,5,"2018-10-24T19:38:00.000Z","5.0.25","4.5.0","5.3",[100,101,23,102,24],"custom-fields","custom-post-types","permalinks","http:\u002F\u002Fathlan.pl\u002Fwordpress-custom-fields-permalink-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-fields-permalink-redux.1.5.0.zip",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":115,"num_ratings":116,"last_updated":117,"tested_up_to":118,"requires_at_least":119,"requires_php":78,"tags":120,"homepage":124,"download_link":125,"security_score":38,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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","6.3.8","3.3",[101,121,102,122,123],"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":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":49,"downloaded":134,"rating":27,"num_ratings":135,"last_updated":136,"tested_up_to":54,"requires_at_least":137,"requires_php":78,"tags":138,"homepage":143,"download_link":144,"security_score":83,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"no-category-base-wpml","No Category Base (WPML)","1.4","DigitalME","https:\u002F\u002Fprofiles.wordpress.org\u002Fdigitalmeactivecampaign\u002F","\u003Cp>As the name suggests this plugin will completely remove the mandatory ‘Category Base’ from your category permalinks ( e.g. ‘mysite.com\u002Fcategory\u002Fmy-category\u002F’ to ‘mysite.com\u002Fmy-category\u002F’ ).\u003C\u002Fp>\n\u003Cp>The plugin requires no setup or modifying core wordpress files and will not break any links. It will also take care of redirecting your old category links to the new ones.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Better and logical permalinks like ‘mysite.com\u002Fmy-category\u002F’ and ‘mysite.com\u002Fmy-category\u002Fmy-post\u002F’.\u003C\u002Fli>\n\u003Cli>Simple plugin – barely adds any overhead.\u003C\u002Fli>\n\u003Cli>Works out of the box – no setup needed.\u003C\u002Fli>\n\u003Cli>No need to modify WordPress files.\u003C\u002Fli>\n\u003Cli>Doesn’t require other plugins to work.\u003C\u002Fli>\n\u003Cli>Compatible with sitemap plugins.\u003C\u002Fli>\n\u003Cli>Compatible with WPML.\u003C\u002Fli>\n\u003Cli>Works with multiple sub-categories.\u003C\u002Fli>\n\u003Cli>Works with WordPress Multisite.\u003C\u002Fli>\n\u003Cli>Redirects old category permalinks to the new ones (301 redirect, good for SEO).\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin removes the mandatory 'Category Base' from your category permalinks. It's compatible with WPML.",856653,33,"2025-11-07T13:46:00.000Z","5.0",[139,140,141,142],"category-base","category-permalinks","category-slug","category-url","https:\u002F\u002Fwww.digitalme.cc\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fno-category-base-wpml.1.4.zip",{"attackSurface":146,"codeSignals":228,"taintFlows":247,"riskAssessment":248,"analyzedAt":258},{"hooks":147,"ajaxHandlers":224,"restRoutes":225,"shortcodes":226,"cronEvents":227,"entryPointCount":28,"unprotectedCount":28},[148,154,158,161,165,167,169,173,178,182,184,186,190,192,195,198,201,205,208,211,214,217,219],{"type":149,"name":150,"callback":151,"priority":37,"file":152,"line":153},"action","admin_init","settings_api_init","CPTP\\Module\\Admin.php",20,{"type":149,"name":155,"callback":156,"file":152,"line":157},"admin_enqueue_scripts","enqueue_css_js",21,{"type":149,"name":159,"callback":159,"file":152,"line":160},"admin_notices",22,{"type":149,"name":162,"callback":163,"file":164,"line":153},"init","update_rules","CPTP\\Module\\FlushRules.php",{"type":149,"name":166,"callback":163,"file":164,"line":157},"add_option_cptp_version",{"type":149,"name":168,"callback":163,"priority":153,"file":164,"line":160},"update_option_cptp_version",{"type":149,"name":170,"callback":171,"priority":172,"file":164,"line":34},"wp_loaded","dequeue_flush_rules",200,{"type":149,"name":174,"callback":175,"priority":176,"file":164,"line":177},"update_option_no_taxonomy_structure","queue_flush_rules",10,36,{"type":179,"name":180,"callback":180,"priority":176,"file":181,"line":157},"filter","getarchives_join","CPTP\\Module\\GetArchives.php",{"type":179,"name":183,"callback":183,"priority":176,"file":181,"line":160},"getarchives_where",{"type":179,"name":185,"callback":185,"priority":153,"file":181,"line":34},"get_archives_link",{"type":149,"name":162,"callback":187,"priority":188,"file":189,"line":157},"set_default_option",1,"CPTP\\Module\\Option.php",{"type":149,"name":150,"callback":191,"priority":37,"file":189,"line":160},"save_options",{"type":179,"name":193,"callback":193,"file":194,"line":153},"post_type_link","CPTP\\Module\\Permalink.php",{"type":179,"name":196,"callback":196,"file":194,"line":197},"term_link",27,{"type":179,"name":199,"callback":199,"file":194,"line":200},"attachment_link",34,{"type":179,"name":202,"callback":203,"priority":176,"file":194,"line":204},"wpml_st_post_type_link_filter_original_slug","replace_post_slug_with_placeholder",41,{"type":149,"name":206,"callback":206,"file":207,"line":153},"parse_request","CPTP\\Module\\Rewrite.php",{"type":149,"name":209,"callback":210,"priority":176,"file":207,"line":157},"registered_post_type","register_post_type_rules",{"type":149,"name":212,"callback":213,"priority":176,"file":207,"line":160},"registered_taxonomy","register_taxonomy_rules",{"type":149,"name":162,"callback":215,"file":216,"line":153},"load_textdomain","CPTP\\Module\\Setting.php",{"type":149,"name":218,"callback":218,"priority":176,"file":216,"line":157},"upgrader_process_complete",{"type":149,"name":220,"callback":221,"file":222,"line":223},"cptp_init","add_hook","CPTP\\Module.php",24,[],[],[],[],{"dangerousFunctions":229,"sqlUsage":230,"outputEscaping":232,"fileOperations":28,"externalRequests":28,"nonceChecks":188,"capabilityChecks":28,"bundledLibraries":246},[],{"prepared":28,"raw":28,"locations":231},[],{"escaped":233,"rawEcho":94,"locations":234},28,[235,238,240,242,244],{"file":152,"line":236,"context":237},115,"raw output",{"file":152,"line":239,"context":237},181,{"file":152,"line":241,"context":237},184,{"file":152,"line":243,"context":237},191,{"file":152,"line":245,"context":237},234,[],[],{"summary":249,"deductions":250},"The plugin \"custom-post-type-permalinks\" version 3.5.3 exhibits a generally strong security posture based on the provided static analysis and vulnerability history. The absence of any recorded CVEs, critical taint flows, dangerous functions, direct SQL queries, file operations, or external HTTP requests is highly encouraging. The code also demonstrates good practices with 100% of SQL queries using prepared statements and a significant majority (85%) of outputs being properly escaped. The presence of a nonce check is also a positive indicator.\n\nHowever, there are a few areas that prevent a perfect score. The lack of capability checks is a potential concern, as it means that while nonces might be in place for some operations, authorization might not be rigorously enforced for all actions. While the static analysis reports zero unprotected entry points, a more detailed audit of the single nonce check and the absence of capability checks would be beneficial to confirm this. The limited taint analysis (0 flows analyzed) means that the absence of vulnerabilities in this area is based on incomplete data, and deeper analysis could reveal issues.\n\nIn conclusion, this plugin appears to be well-developed from a security perspective, with a strong emphasis on preventing common web vulnerabilities. The primary area for potential improvement lies in ensuring robust authorization checks through capability checks for all relevant functionalities. Given the lack of any historical vulnerabilities and the positive static analysis findings, the overall risk is low, but not entirely negligible.",[251,253,255],{"reason":252,"points":94},"Missing capability checks",{"reason":254,"points":62},"Limited taint analysis data",{"reason":256,"points":257},"Some outputs not properly escaped",2,"2026-03-16T17:04:33.572Z",{"wat":260,"direct":269},{"assetPaths":261,"generatorPatterns":264,"scriptPaths":265,"versionParams":266},[262,263],"\u002Fwp-content\u002Fplugins\u002Fcustom-post-type-permalinks\u002Fcss\u002Fcustom-post-type-permalinks.css","\u002Fwp-content\u002Fplugins\u002Fcustom-post-type-permalinks\u002Fjs\u002Fcustom-post-type-permalinks.js",[],[263],[267,268],"custom-post-type-permalinks\u002Fcss\u002Fcustom-post-type-permalinks.css?ver=","custom-post-type-permalinks\u002Fjs\u002Fcustom-post-type-permalinks.js?ver=",{"cssClasses":270,"htmlComments":272,"htmlAttributes":280,"restEndpoints":282,"jsGlobals":283,"shortcodeOutput":285},[271],"cptp-content-editor-wrapper",[273,274,275,276,277,278,279],"\u003C!-- The tags you can use are WordPress structure tags and taxonomy tags. -->","\u003C!-- Available taxonomy tags: -->","\u003C!-- If you need post type permalink only, you should use \u003Ca href=\"%s\">Simple Post Type Permalinks\u003C\u002Fa>. -->","\u003C!-- If \u003Ccode>has_archive\u003C\u002Fcode> is true, add permalinks for custom post type archive. -->","\u003C!-- If you check this, the custom taxonomy's permalinks will be \u003Ccode>%s\u002Fpost_type\u002Ftaxonomy\u002Fterm\u003C\u002Fcode>. -->","\u003C!-- Custom taxonomy archive also works as post type archive. -->","\u003C!-- There are cases when the template to be loaded is changed. -->",[281],"data-cptp-setting-id",[],[284],"cptp_data",[]]