{"id":277826,"date":"2026-02-06T05:29:59","date_gmt":"2026-02-06T05:29:59","guid":{"rendered":"https:\/\/en-ca.wordpress.org\/plugins\/half-baked-tag-manager\/"},"modified":"2026-03-04T23:27:34","modified_gmt":"2026-03-04T23:27:34","slug":"half-baked-tag-colour-manager","status":"publish","type":"plugin","link":"https:\/\/co.wordpress.org\/plugins\/half-baked-tag-colour-manager\/","author":13445502,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.9.16","stable_tag":"1.9.16","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Half Baked Tag Colour Manager","header_author":"Half Baked Idea","header_description":"Tag colours (per tag + per post\/page) with optional pill styling, plus tag case normalization and display forcing.","assets_banners_color":"","last_updated":"2026-03-04 23:27:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":236,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.9.16":{"tag":"1.9.16","author":"emrysh","date":"2026-03-04 23:27:34"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3455723,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3455723,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3455723,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.9.16"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3455723,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3455723,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Tag list screen showing a colour swatch column and Quick Edit support.","2":"Add or edit tag screen showing the colour picker.","3":"Post editor meta box for per-post tag colour.","4":"Settings screen showing defaults, styling options, and case tools."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1250,1332,16582,2304,609],"plugin_category":[46,57],"plugin_contributors":[254343],"plugin_business_model":[],"class_list":["post-277826","plugin","type-plugin","status-publish","hentry","plugin_tags-colors","plugin_tags-editor","plugin_tags-quick-edit","plugin_tags-styling","plugin_tags-tags","plugin_category-editor-and-writing","plugin_category-taxonomy","plugin_contributors-emrysh","plugin_committers-emrysh"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/half-baked-tag-colour-manager\/assets\/icon.svg?rev=3455723","icon":"https:\/\/ps.w.org\/half-baked-tag-colour-manager\/assets\/icon.svg?rev=3455723","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/half-baked-tag-colour-manager\/assets\/screenshot-1.png?rev=3455723","caption":"Tag list screen showing a colour swatch column and Quick Edit support."},{"src":"https:\/\/ps.w.org\/half-baked-tag-colour-manager\/assets\/screenshot-2.png?rev=3455723","caption":"Add or edit tag screen showing the colour picker."}],"raw_content":"<!--section=description-->\n<p>Half Baked Tag Colour Manager lets you set tag colours at multiple levels:<\/p>\n\n<ul>\n<li>Per-tag colour (set on the Tags screen)<\/li>\n<li>Per-post\/page colour (set on the editor screen or Quick Edit)<\/li>\n<li>Default tag colour (set in Settings \u2192 Half Baked Tag Colour Manager)<\/li>\n<li>Theme default colour<\/li>\n<\/ul>\n\n<p>Per-tag colours override the post\/page colour, which overrides the plugin default.<\/p>\n\n<p>If you want a consistent \u201ctag pill\u201d look across themes, you can optionally enable pill styling and fine-tune spacing, tint, underline, border thickness, and pill shape.<\/p>\n\n<p>You can also manage tag case:\n* Choose a Storage case (database normalization)\n* Optionally auto-apply Storage case when tags are created or edited\n* Optionally force a Display case sitewide on the front end\n* Bulk-normalize selected tags from the Tags screen, plus a \u201cNormalize all\u201d option<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Set colours on Posts \u2192 Tags for tags that should always have a specific look.<\/li>\n<li>Optionally set a per-post tag colour in the editor sidebar to apply one colour to all tags on that post.<\/li>\n<li>Optionally set a Default tag colour to cover anything left unset.<\/li>\n<li>Leave styling off if your theme already handles tags the way you like, or enable pill styling for consistency.<\/li>\n<\/ol>\n\n<h4>Colour resolution order<\/h4>\n\n<p>When a tag is displayed, the plugin resolves the colour in this order:\n1. Per-tag colour\n2. Per-post or per-page colour\n3. Plugin default tag colour\n4. Theme default<\/p>\n\n<h4>Privacy and data<\/h4>\n\n<p>This plugin does not send any data off-site. Colours and settings are stored locally in your WordPress database.<\/p>\n\n<h4>Uninstall<\/h4>\n\n<p>Uninstalling the plugin removes plugin settings and any stored metadata created by the plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/half-baked-tag-colour-manager<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the Plugins screen in WordPress.<\/li>\n<li>Go to Settings and open Half Baked Tag Colour Manager.<\/li>\n<li>Set your defaults and styling options.<\/li>\n<li>Assign colours to tags in Posts \u2192 Tags, and optionally set per-post colours in the editor.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20set%20a%20tag%E2%80%99s%20colour%3F\"><h3>Where do I set a tag\u2019s colour?<\/h3><\/dt>\n<dd><p>Go to Posts \u2192 Tags, then add or edit a tag and use the colour controls. You can also use Quick Edit.<\/p><\/dd>\n<dt id=\"where%20do%20i%20set%20a%20post%E2%80%99s%20tag%20colour%3F\"><h3>Where do I set a post\u2019s tag colour?<\/h3><\/dt>\n<dd><p>Edit a post and use the Tag Colour meta box in the editor sidebar, or use Quick Edit from the Posts list.<\/p><\/dd>\n<dt id=\"what%20wins%20if%20both%20a%20tag%20colour%20and%20a%20post%20colour%20are%20set%3F\"><h3>What wins if both a tag colour and a post colour are set?<\/h3><\/dt>\n<dd><p>Per-tag colours override the post or page colour, and the post or page colour overrides the plugin default.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20nothing%20has%20a%20colour%20set%3F\"><h3>What happens if nothing has a colour set?<\/h3><\/dt>\n<dd><p>If you configured a Default tag colour, it will be used. Otherwise your theme\u2019s default styling is used.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20use%20pill%20styling%3F\"><h3>Do I have to use pill styling?<\/h3><\/dt>\n<dd><p>No. Pill styling is optional. You can use colours only and let your theme handle layout, or enable pill styling for a consistent look.<\/p><\/dd>\n<dt id=\"what%E2%80%99s%20the%20difference%20between%20storage%20case%20and%20display%20case%3F\"><h3>What\u2019s the difference between Storage case and Display case?<\/h3><\/dt>\n<dd><p>Storage case is the normalization style used for saved tag names. Display case is an optional front-end rule that forces how tags are shown to visitors.<\/p><\/dd>\n<dt id=\"will%20case%20tools%20change%20existing%20tags%3F\"><h3>Will case tools change existing tags?<\/h3><\/dt>\n<dd><p>Only if you run a bulk normalization action or use \u201cNormalize all\u201d, or if you enable auto-apply on create or edit for future changes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.9.16<\/h4>\n\n<ul>\n<li>Remove discouraged load_plugin_textdomain() call (WP.org translations load automatically).<\/li>\n<\/ul>\n\n<h4>1.9.15<\/h4>\n\n<ul>\n<li>Remove legacy compatibility code (no legacy meta cleanup or fallback reads).<\/li>\n<\/ul>\n\n<h4>1.9.14<\/h4>\n\n<ul>\n<li>Fix: Update text domain to match plugin slug (half-baked-tag-colour-manager) per WordPress.org review.<\/li>\n<\/ul>\n\n<h4>1.9.12<\/h4>\n\n<ul>\n<li>Fix uninstall warnings (prefix globals) and remove stray placeholder.<\/li>\n<\/ul>\n\n<h4>1.9.10<\/h4>\n\n<ul>\n<li>Fix: plugin checker compliance (text domain + global prefixing).<\/li>\n<\/ul>\n\n<h4>1.9.9<\/h4>\n\n<ul>\n<li>Change: Rename plugin (and text domain) for WordPress.org review clarity.<\/li>\n<li>Change: Prefix option\/meta keys with hbtm_ (with backward-compatible reads).<\/li>\n<\/ul>\n\n<h4>1.9.8<\/h4>\n\n<ul>\n<li>Fix: remove comma separators when Pill style is enabled (including core\/post-terms output).<\/li>\n<\/ul>\n\n<h4>1.9.6<\/h4>\n\n<ul>\n<li>Fix: remove comma separators when Pill style is enabled for themes using get_the_tag_list()\/get_the_term_list().<\/li>\n<\/ul>\n\n<h4>1.9.4<\/h4>\n\n<ul>\n<li>Fix: Tag Case settings now save correctly.<\/li>\n<li>Fix: Exception lists are visible and editable again.<\/li>\n<li>Fix: Normalize all tags now works reliably (settings are registered).<\/li>\n<\/ul>\n\n<h4>1.9.3<\/h4>\n\n<ul>\n<li>Fix: Avoid function name collisions with older Tag Colours\/Tag Manager builds (prevents activation crashes).<\/li>\n<li>Maintenance: Guard constant definitions to prevent notices when multiple Half Baked plugins are active.<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li>Fix: Prevent slowdowns\/freezes by avoiding recursive term updates and removing deep term retrieval filters.<\/li>\n<li>Fix: Versioning consistency.<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li>Integrated Tag Case Manager into Half Baked Tag Colour Manager (no exceptions): storage case, auto-apply, display forcing, and bulk normalization.<\/li>\n<\/ul>\n\n<h4>1.8.4<\/h4>\n\n<ul>\n<li>Fix Plugin Check escaping warnings for term field output.<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Plugin Check: sanitize\/unslash inputs, add nonce verification for Quick Edit and term saves.<\/li>\n<li>Escape admin HTML output using wp_kses_post() to satisfy security sniffing.<\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>Settings now work the same way as Half Baked Category Colours: an inline settings panel appears at the bottom of Posts \u2192 Tags, and the Plugins screen Settings link goes to Posts \u2192 Tags.<\/li>\n<li>Kept the dedicated Posts \u2192 Tags \u2192 Half Baked Tag Colour Manager submenu for admins who prefer a separate screen.<\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>Fixed tag colour editing and tag Quick Edit pickers.<\/li>\n<li>Moved settings into Posts \u2192 Tags \u2192 Half Baked Tag Colour Manager (separate screen).<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Fix: Tag edit screen colour picker now syncs to hex and saves correctly.<\/li>\n<li>Fix: Tag Quick Edit colour picker now works reliably (proper script dependency).<\/li>\n<li>Change: Settings moved onto Posts \u2192 Tags screen; plugin Settings link now goes there.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Added per-tag colour (term meta) with add\/edit + Quick Edit support.<\/li>\n<li>Tag colour resolution hierarchy: per-tag \u2192 per-post\/page \u2192 plugin default \u2192 theme default.<\/li>\n<li>Improved frontend wrappers so pill styling can apply even when no colour is set.<\/li>\n<\/ul>","raw_excerpt":"Set tag colours at multiple levels, including per-tag, per-post, and a default fallback, with optional pill styling and tag case tools.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/277826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=277826"}],"author":[{"embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/emrysh"}],"wp:attachment":[{"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=277826"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=277826"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=277826"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=277826"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=277826"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=277826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}