{"id":275001,"date":"2026-01-27T04:56:00","date_gmt":"2026-01-27T04:56:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/spectre-icons\/"},"modified":"2026-05-25T08:36:05","modified_gmt":"2026-05-25T08:36:05","slug":"spectre-icons","status":"publish","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/spectre-icons\/","author":23430648,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.1","stable_tag":"1.3.1","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Spectre Icons","header_author":"PHCDevworks","header_description":"Spectre Icons brings modern SVG icon libraries like Lucide and Font Awesome directly into WordPress builders, delivering a unified, performance-focused icon system.","assets_banners_color":"333333","last_updated":"2026-05-25 08:36:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/phcdevworks\/spectre-icons","header_author_uri":"https:\/\/phcdevworks.com\/","rating":0,"author_block_rating":0,"active_installs":300,"downloads":907,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"phcdevworks","date":"2026-01-27 04:55:44"},"1.2.0":{"tag":"1.2.0","author":"phcdevworks","date":"2026-04-30 03:03:20"},"1.3.0":{"tag":"1.3.0","author":"phcdevworks","date":"2026-05-25 08:09:18"},"1.3.1":{"tag":"1.3.1","author":"phcdevworks","date":"2026-05-25 08:36:05"}},"upgrade_notice":{"1.3.1":"<p>Maintenance release metadata update. Existing bundled-library icons, uploaded icons, and saved icon classes are preserved.<\/p>","1.3.0":"<p>Adds a My Icons upload library for site-specific SVG icons. Existing bundled-library icons and saved icon classes are preserved.<\/p>","1.2.1":"<p>Fixes blank icon previews in the Elementor editor after plugin updates. Existing icons on your site are not affected.<\/p>","1.2.0":"<p>Adds reliable enable\/disable controls for icon libraries. Existing icons on your site are not affected.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3447486,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3447486,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3447486,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3447486,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0","1.3.0","1.3.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[76538,4593,498,254714,2904],"plugin_category":[50],"plugin_contributors":[254715],"plugin_business_model":[],"class_list":["post-275001","plugin","type-plugin","status-publish","hentry","plugin_tags-elementor","plugin_tags-font-awesome","plugin_tags-icons","plugin_tags-lucide","plugin_tags-svg","plugin_category-media","plugin_contributors-phcdevworks","plugin_committers-phcdevworks"],"banners":{"banner":"https:\/\/ps.w.org\/spectre-icons\/assets\/banner-772x250.png?rev=3447486","banner_2x":"https:\/\/ps.w.org\/spectre-icons\/assets\/banner-1544x500.png?rev=3447486","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/spectre-icons\/assets\/icon-128x128.png?rev=3447486","icon_2x":"https:\/\/ps.w.org\/spectre-icons\/assets\/icon-256x256.png?rev=3447486","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Spectre Icons registers curated and uploaded SVG icon libraries inside Elementor's icon picker and renders them as inline SVGs on the frontend.<\/p>\n\n<ul>\n<li>Enable or disable individual libraries from Settings \u2192 Spectre Icons<\/li>\n<li>Upload up to 25 custom SVG icons from Settings \u2192 My Icons<\/li>\n<li>Manifest-driven rendering for bundled and uploaded SVG libraries<\/li>\n<li>Inline SVG injection in editor preview and frontend<\/li>\n<li>Disabled libraries are hidden from the picker; existing icons keep rendering<\/li>\n<li>Theme-friendly color inheritance through builder color controls<\/li>\n<\/ul>\n\n<p>Supported widgets: Icon, Icon Box, Icon List, Social Icons.<\/p>\n\n<h3>Icon Attributions<\/h3>\n\n<h4>Font Awesome Free<\/h4>\n\n<p>Licensed under CC BY 4.0 (icons) and MIT (code).\nhttps:\/\/fontawesome.com\/license\/free<\/p>\n\n<h4>Lucide Icons<\/h4>\n\n<p>Licensed under the ISC License.\nhttps:\/\/lucide.dev<\/p>\n\n<!--section=installation-->\n<h4>From the WordPress admin<\/h4>\n\n<ol>\n<li>Go to Plugins \u2192 Add New<\/li>\n<li>Search for \"Spectre Icons\"<\/li>\n<li>Click Install Now, then Activate<\/li>\n<li>Go to Settings \u2192 Spectre Icons and enable the libraries you want<\/li>\n<\/ol>\n\n<h4>Manual install<\/h4>\n\n<ol>\n<li>Download the plugin ZIP<\/li>\n<li>Go to Plugins \u2192 Add New \u2192 Upload Plugin<\/li>\n<li>Upload the ZIP, activate it, then go to Settings \u2192 Spectre Icons<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20page%20builders%20are%20supported%3F\"><h3>Which page builders are supported?<\/h3><\/dt>\n<dd><p>Elementor 3.x and 4.x, tested through Elementor 4.x. The architecture is built to support additional builders in future releases.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20individual%20icon%20libraries%3F\"><h3>Can I disable individual icon libraries?<\/h3><\/dt>\n<dd><p>Yes. Uncheck a library under Settings \u2192 Spectre Icons to hide it from the Elementor icon picker. Icons already placed on your site will continue to render.<\/p><\/dd>\n<dt id=\"can%20i%20add%20my%20own%20icon%20packs%3F\"><h3>Can I add my own icon packs?<\/h3><\/dt>\n<dd><p>Yes. Upload SVG files from Settings \u2192 My Icons. Uploaded icons are sanitized, stored in a site-specific My Icons library, and appear in supported builder icon pickers after the first upload.<\/p><\/dd>\n<dt id=\"what%20are%20the%20system%20requirements%3F\"><h3>What are the system requirements?<\/h3><\/dt>\n<dd><p>WordPress 6.0+, PHP 7.4+, and Elementor 3.x or 4.x tested through Elementor 4.x.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Updated release metadata for the 1.3.1 maintenance release<\/li>\n<li>Preserved bundled library slugs, saved icon class prefixes, and existing icon rendering behavior<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added the My Icons admin page for uploading up to 25 site-specific SVG icons<\/li>\n<li>Added the spectre-user icon library for user-uploaded icons in Elementor<\/li>\n<li>Added upload and delete controls with SVG sanitization, file-size checks, and safe manifest storage<\/li>\n<li>Kept bundled Lucide and Font Awesome libraries first in the picker before custom libraries<\/li>\n<li>Hardened custom library manifest handling with WordPress filesystem APIs<\/li>\n<li>Escaped upload delete button labels and tightened empty attribute rendering<\/li>\n<li>Added Font Awesome Elementor e2e coverage and release\/version proposal tooling<\/li>\n<li>Updated compatibility metadata for WordPress 7.0 and Elementor 4.x<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Introduced core manifest registry and builder-agnostic SVG renderer<\/li>\n<li>Added runtime manifest auto-discovery \u2014 drop a JSON file to add a library<\/li>\n<li>Fixed icon SVG persisting in the editor after resetting or changing an icon<\/li>\n<li>Fixed Elementor editor cache invalidating on every plugin update (ver now uses manifest filemtime)<\/li>\n<li>Added automatic Elementor cache flush on first admin load after a version change<\/li>\n<li>Bundled Lucide and Font Awesome manifests are now self-describing (metadata in JSON header)<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added per-library enable\/disable controls with reliable Elementor v4 picker hiding<\/li>\n<li>Disabled libraries are hidden from the icon picker; existing placed icons keep rendering<\/li>\n<li>Hardened SVG sanitizer, manifest renderer, and plugin bootstrap<\/li>\n<li>Added PHPUnit and Playwright e2e test coverage<\/li>\n<li>Updated WordPress compatibility to 6.7<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added SPDX license metadata and finalized bundled icon attribution<\/li>\n<li>Refined Elementor manifest rendering, integration hooks, and SVG sanitization<\/li>\n<li>Updated plugin metadata and release packaging for WordPress.org<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Fixed manifest loading and icon lookup for prefixed libraries<\/li>\n<li>Aligned Elementor editor config and asset enqueues<\/li>\n<li>Ensured Lucide outline icons render correctly<\/li>\n<li>Cleaned up WordPress.org ZIP packaging<\/li>\n<\/ul>","raw_excerpt":"Adds Lucide, Font Awesome, and uploaded SVG icon libraries to Elementor&#039;s icon picker.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/275001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=275001"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/phcdevworks"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=275001"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=275001"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=275001"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=275001"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=275001"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=275001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}