{"id":269165,"date":"2026-01-14T14:14:28","date_gmt":"2026-01-14T14:14:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/taxonomy-template\/"},"modified":"2026-01-14T14:13:58","modified_gmt":"2026-01-14T14:13:58","slug":"runthings-taxonomy-template-selector","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/runthings-taxonomy-template-selector\/","author":20973379,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.3","stable_tag":"1.3.3","tested":"6.9.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"TaxoSelect - Taxonomy Template Selector","header_author":"runthingsdev","header_description":"Assign archive templates to categories, tags and other taxonomy terms","assets_banners_color":"a9c3d1","last_updated":"2026-01-14 14:13:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/runthings.dev\/wordpress-plugins\/taxonomy-template-selector\/","header_author_uri":"https:\/\/runthings.dev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":136,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.3":{"tag":"1.3.3","author":"runthingsdev","date":"2026-01-14 14:13:58"}},"upgrade_notice":{"1.3.3":"<p>Revert readme.md exclusion - it was a false positive \/ bug in plugin check plugin.<\/p>","1.3.2":"<p>Exclude readme.md from plugin distribution zip file.<\/p>","1.3.1":"<p>Renamed display name to &#039;TaxoSelect - Taxonomy Template Selector&#039; for WP.org submission compliance<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3439606,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3439606,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3439606,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3439606,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3439606,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Template selection dropdown on the term edit screen."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1445,89,2849,91,975],"plugin_category":[43,57],"plugin_contributors":[228895],"plugin_business_model":[],"class_list":["post-269165","plugin","type-plugin","status-publish","hentry","plugin_tags-archive","plugin_tags-category","plugin_tags-custom-template","plugin_tags-taxonomy","plugin_tags-template","plugin_category-customization","plugin_category-taxonomy","plugin_contributors-runthingsdev","plugin_committers-runthingsdev","plugin_support_reps-rtpharry"],"banners":{"banner":"https:\/\/ps.w.org\/runthings-taxonomy-template-selector\/assets\/banner-772x250.png?rev=3439606","banner_2x":"https:\/\/ps.w.org\/runthings-taxonomy-template-selector\/assets\/banner-1544x500.png?rev=3439606","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/runthings-taxonomy-template-selector\/assets\/icon-128x128.png?rev=3439606","icon_2x":"https:\/\/ps.w.org\/runthings-taxonomy-template-selector\/assets\/icon-256x256.png?rev=3439606","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/runthings-taxonomy-template-selector\/assets\/screenshot-1.png?rev=3439606","caption":"Template selection dropdown on the term edit screen."}],"raw_content":"<!--section=description-->\n<p>Assign custom archive templates to categories, tags and other taxonomy terms, similar to how WordPress page templates work.<\/p>\n\n<p>Template selection is automatically enabled for all public taxonomies. Edit any term to choose a custom archive template.<\/p>\n\n<h4>Features:<\/h4>\n\n<ul>\n<li>Zero configuration - works out of the box for all public taxonomies<\/li>\n<li>Choose templates per-term from the term edit screen<\/li>\n<li>Works with categories, tags, and custom taxonomies<\/li>\n<li>Bulk edit support - assign templates to multiple terms at once<\/li>\n<li>Quick edit support - change templates inline without leaving the list table<\/li>\n<li>Optional admin column shows assigned template at a glance (hidden by default)<\/li>\n<li>Backwards compatible with legacy \"Category Template:\" headers<\/li>\n<\/ul>\n\n<h4>Links:<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/runthings.dev\/wordpress-plugins\/taxonomy-template-selector\/\">Plugin page<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/runthings-dev\/runthings-taxonomy-template-selector\">GitHub repository<\/a><\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>This program is free software; you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.<\/p>\n\n<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<\/p>\n\n<p>You should have received a copy of the GNU General Public License along with this program; if not, see <a href=\"https:\/\/www.gnu.org\/licenses\/gpl-2.0.html\">https:\/\/www.gnu.org\/licenses\/gpl-2.0.html<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to your <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Create template files in your theme with the header comment <code>Taxonomy Template: Your Template Name<\/code><\/li>\n<li>Edit a category\/term and select your template from the dropdown<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20create%20a%20custom%20template%3F'><h3>How do I create a custom template?<\/h3><\/dt>\n<dd><p>Add a PHP file to your theme directory with this header comment:<\/p>\n\n<pre><code>&lt;?php\n\/**\n * Taxonomy Template: My Custom Template\n *\/\n<\/code><\/pre><\/dd>\n<dt id='which%20taxonomies%20are%20supported%3F'><h3>Which taxonomies are supported?<\/h3><\/dt>\n<dd><p>All public taxonomies including categories, tags, custom taxonomies from plugins like WooCommerce product categories, and any custom post type taxonomies.<\/p><\/dd>\n<dt id='i%27m%20using%20%22category%20template%3A%22%20in%20my%20theme%20files.%20do%20i%20need%20to%20change%20it%3F'><h3>I'm using \"Category Template:\" in my theme files. Do I need to change it?<\/h3><\/dt>\n<dd><p>No. The plugin supports both <code>Taxonomy Template:<\/code> (recommended) and <code>Category Template:<\/code> (legacy) headers for backwards compatibility. Your existing templates will continue to work.<\/p><\/dd>\n<dt id='can%20i%20prevent%20data%20deletion%20when%20uninstalling%3F'><h3>Can I prevent data deletion when uninstalling?<\/h3><\/dt>\n<dd><p>Yes. Add this to your wp-config.php before uninstalling:<\/p>\n\n<pre><code>define( 'RUNTHINGS_TAXONOMY_TEMPLATE_SELECTOR_KEEP_DATA', true );\n<\/code><\/pre><\/dd>\n<dt id='why%20don%27t%20i%20see%20the%20template%20dropdown%3F'><h3>Why don't I see the template dropdown?<\/h3><\/dt>\n<dd><p>Make sure your theme has at least one PHP file with either a <code>Taxonomy Template:<\/code> or <code>Category Template:<\/code> header comment. The dropdown only appears if templates are available to select.<\/p><\/dd>\n<dt id='can%20i%20add%20custom%20directories%20for%20template%20scanning%3F'><h3>Can I add custom directories for template scanning?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>runthings_taxonomy_template_selector_dirs<\/code> filter to add additional directories. Note that subdirectories are not scanned automatically - you must add each folder path explicitly.<\/p>\n\n<pre><code>add_filter( 'runthings_taxonomy_template_selector_dirs', function( $dirs ) {\n    $dirs[] = get_stylesheet_directory() . '\/taxonomy-templates';\n    return $dirs;\n} );\n<\/code><\/pre><\/dd>\n<dt id='can%20i%20add%20or%20remove%20templates%20without%20modifying%20theme%20files%3F'><h3>Can I add or remove templates without modifying theme files?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>runthings_taxonomy_template_selector_list<\/code> filter to modify the available templates. The filename is a path relative to your theme root - if using a child theme, it checks the child theme first, then falls back to the parent theme.<\/p>\n\n<pre><code>add_filter( 'runthings_taxonomy_template_selector_list', function( $templates ) {\n    \/\/ Add a template from theme root\n    $templates['My Custom Archive'] = 'custom-archive.php';\n    \/\/ Add a template from a subdirectory\n    $templates['Product Archive'] = 'template-parts\/archive-product.php';\n    \/\/ Remove one you don't want\n    unset( $templates['Unwanted Template'] );\n    return $templates;\n} );\n<\/code><\/pre><\/dd>\n<dt id='how%20do%20i%20upgrade%20from%20advanced%20category%20template%3F'><h3>How do I upgrade from Advanced Category Template?<\/h3><\/dt>\n<dd><p>This plugin is a fork of the original \"Advanced Category Template\" plugin by Praveen Goswami. It was adopted because the original plugin was removed from the WordPress.org plugin directory due to security issues.<\/p>\n\n<p>Your existing template mappings will be migrated automatically when you activate this plugin. You can safely deactivate and delete the old plugin in any order.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.3 - 14th January 2026<\/h4>\n\n<ul>\n<li>Revert readme.md exclusion - it was a false positive \/ bug in plugin check plugin<\/li>\n<li>First release on WordPress.org<\/li>\n<\/ul>\n\n<h4>1.3.2 - 14th January 2026<\/h4>\n\n<ul>\n<li>Exclude readme.md from plugin distribution zip file<\/li>\n<\/ul>\n\n<h4>1.3.1 - 14th January 2026<\/h4>\n\n<ul>\n<li>Renamed display name to 'TaxoSelect - Taxonomy Template Selector' for WP.org submission compliance<\/li>\n<\/ul>\n\n<h4>1.3.0 - 3rd January 2026<\/h4>\n\n<ul>\n<li>Added quick edit support for changing templates inline<\/li>\n<li>Fixed form field spacing on add term page<\/li>\n<\/ul>\n\n<h4>1.2.0 - 3rd January 2026<\/h4>\n\n<ul>\n<li>Added optional Template column to taxonomy list tables (hidden by default, enable via Screen Options)<\/li>\n<li>Added bulk action to assign templates to multiple terms at once<\/li>\n<\/ul>\n\n<h4>1.1.0 - 2nd January 2026<\/h4>\n\n<ul>\n<li>Renamed to runthings-taxonomy-template-selector for WP.org submission compliance<\/li>\n<li>Moved assets into .wordpress-org folder<\/li>\n<li>Renamed option key to use consistent prefix (auto-migrates from 1.0.0)<\/li>\n<\/ul>\n\n<h4>1.0.0 - 16th December 2025<\/h4>\n\n<ul>\n<li>Forked from Advanced Category Template by Praveen Goswami<\/li>\n<li>Added namespace and modern PHP structure<\/li>\n<li>Fixed security issues found in original plugin<\/li>\n<li>Added proper sanitization and escaping<\/li>\n<li>Renamed to runthings-taxonomy-template<\/li>\n<li>Auto-enabled for all public taxonomies (no settings page needed)<\/li>\n<li>Added support for \"Taxonomy Template:\" header (with backwards compatibility for \"Category Template:\")<\/li>\n<\/ul>","raw_excerpt":"Assign archive templates to categories, tags and other taxonomy terms.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/269165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=269165"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/runthingsdev"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=269165"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=269165"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=269165"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=269165"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=269165"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=269165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}