{"id":39307,"date":"2015-10-10T22:45:16","date_gmt":"2015-10-10T22:45:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/category-icon\/"},"modified":"2025-12-13T12:12:54","modified_gmt":"2025-12-13T12:12:54","slug":"category-icon","status":"publish","type":"plugin","link":"https:\/\/ceb.wordpress.org\/plugins\/category-icon\/","author":14288910,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.8.5","requires":"4.9.19","requires_php":"5.6.40","requires_plugins":null,"header_name":"Category Icon","header_author":"Pixelgrade","header_description":"","assets_banners_color":"304048","last_updated":"2025-12-13 12:12:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/pixelgrade.com","header_author_uri":"http:\/\/pixelgrade.com","rating":1,"author_block_rating":0,"active_installs":2000,"downloads":89836,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.7.0":{"tag":"0.7.0","author":"babbardel","date":"2019-05-31 09:41:59"},"0.7.1":{"tag":"0.7.1","author":"babbardel","date":"2021-03-05 13:46:14"},"1.0.0":{"tag":"1.0.0","author":"pixelgrade","date":"2022-01-31 09:42:59"},"1.0.1":{"tag":"1.0.1","author":"babbardel","date":"2024-10-11 11:54:09"},"1.0.2":{"tag":"1.0.2","author":"babbardel","date":"2025-05-19 12:51:01"},"1.0.3":{"tag":"1.0.3","author":"babbardel","date":"2025-12-13 12:12:54"}},"upgrade_notice":[],"ratings":{"1":3,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":1263877,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":1263844,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.7.0","0.7.1","1.0.0","1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[89,497,133,91,5058],"plugin_category":[50,57],"plugin_contributors":[78508,78505,78509],"plugin_business_model":[],"class_list":["post-39307","plugin","type-plugin","status-publish","hentry","plugin_tags-category","plugin_tags-icon","plugin_tags-image","plugin_tags-taxonomy","plugin_tags-term","plugin_category-media","plugin_category-taxonomy","plugin_contributors-babbardel","plugin_contributors-pixelgrade","plugin_contributors-vladolaru","plugin_committers-babbardel","plugin_committers-euthelup","plugin_committers-gorby31","plugin_committers-pixelgrade","plugin_committers-razvanonofrei"],"banners":{"banner":"https:\/\/ps.w.org\/category-icon\/assets\/banner-772x250.png?rev=1263844","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/category-icon\/assets\/icon.svg?rev=1263877","icon":"https:\/\/ps.w.org\/category-icon\/assets\/icon.svg?rev=1263877","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>A WordPress plugin to easily attach an icon to a category, tag or any other taxonomy term.<\/p>\n\n<p>** Now supports a category, tag or any other taxonomy image field, also.<\/p>\n\n<p>Please note that this plugin will not automatically output the icon or the image on the frontend of our site.<\/p>\n\n<p>It is up to you to query and output in your theme using the provided getter functions: <code>get_term_icon_id()<\/code>, <code>get_term_icon_url()<\/code>, <code>get_term_image_id()<\/code>, <code>get_term_image_url()<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install Category Icon either via the WordPress.org plugin directory, or by uploading the files to your <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>After activating Category Icon go and edit any category or term to see the upload field.<\/li>\n<li>Now you can add or edit category, tags or any other taxonomy terms icons.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Security: sanitize and strictly validate term icon \/ image IDs on save and escape them on output to prevent XSS via the <code>term_icon_value<\/code> and <code>term_image_value<\/code> fields, even for Editor-level users.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Security: patched blind XXE\/SSRF in SVG upload flow \u2013 external entity loading and network access are now disabled; malformed SVGs are rejected (fail-closed).<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added sanitization for SVG uploads to prevent Cross-Site Scripting (XSS) vulnerabilities.<\/li>\n<li>Implemented secure file naming for uploaded SVG files by appending a random suffix to filenames.<\/li>\n<li>Enhanced upload handling to ensure SVG files are sanitized in place without altering the original upload path.<\/li>\n<li>Improved compatibility with WordPress file upload checks.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Ensure compatibility with WordPress 5.9<\/li>\n<li>Add getter functions for term icon and image.<\/li>\n<li>Update build process.<\/li>\n<li>Clarify description and instructions about what this plugin does and doesn't do.<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Improve compatibility with WordPress 5.7<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>We did several compatibility checks with Gutenberg so everything will work just fine<\/li>\n<li>Solved an issue where Category-Icon was having a conflict with other plugins in the Dashboard<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Add a category image field to be used as featured category image<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Deploy on wordpress.org<\/li>\n<\/ul>\n\n<h4>0.0.1<\/h4>\n\n<ul>\n<li>Init Plugin<\/li>\n<\/ul>","raw_excerpt":"A WordPress plugin to easily attach an icon to a category, tag or any other taxonomy term.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/39307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=39307"}],"author":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pixelgrade"}],"wp:attachment":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=39307"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=39307"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=39307"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=39307"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=39307"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=39307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}