{"id":11308,"date":"2026-05-29T13:29:55","date_gmt":"2026-05-29T05:29:55","guid":{"rendered":"https:\/\/aeosub.com\/subtle-icons\/"},"modified":"2026-05-29T13:29:55","modified_gmt":"2026-05-29T05:29:55","slug":"subtle-icons","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/subtle-icons\/","title":{"rendered":"Subtle Icons"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/subtle-icons\/assets\/icon.svg?rev=3552964\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/evanworks\/\" target=\"_blank\" rel=\"noopener\">Evan Buckiewicz<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.3<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.5 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-29 4:45am GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/subtle-icons\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">A breathtakingly simple icon ecosystem for WordPress. 100,000+ icons. Zero bloat. Native UI.<\/div>\n<p>Subtle Icons is a bloat-free, lightweight plugin that brings thousands of icons directly into the WordPress block editor and Advanced Custom Fields (ACF).<br \/>\nSearch and insert icons from Lucide, Material, Heroicons, and dozens of other icon libraries without leaving the editor \u2014 or upload your own SVGs.<\/p>\n<h3>Features<\/h3>\n<ul>\n<li><strong>Icon Block:<\/strong> A standalone icon block with sizing, thickness, and color controls.<\/li>\n<li><strong>Icon + Text Block:<\/strong> Pair an icon with text for notices, callouts, and feature highlights.<\/li>\n<li><strong>Icon List Block:<\/strong> Build beautiful, responsive lists with custom leading icons.<\/li>\n<li><strong>Icon Button Block:<\/strong> Prompt visitors to take action with a native-feeling button block supporting leading and trailing icons.<\/li>\n<li><strong>ACF Field Integration:<\/strong> A custom Icon Picker field type for Advanced Custom Fields.<\/li>\n<li><strong>Iconify Integration:<\/strong> Powered by the massive open-source Iconify ecosystem.<\/li>\n<\/ul>\n<h3>Development<\/h3>\n<p>The complete source code for this plugin, including all uncompiled JavaScript and CSS, is publicly available at:<\/p>\n<p>https:\/\/github.com\/skysarwer\/subtle-icons<\/p>\n<p>Build requirements: Node.js and npm.<\/p>\n<p>To build from source:<\/p>\n<ol>\n<li>Clone the repository: <code>git clone https:\/\/github.com\/skysarwer\/subtle-icons<\/code><\/li>\n<li>Install dependencies: <code>npm install<\/code><\/li>\n<li>Compile assets for production: <code>npm run build<\/code><\/li>\n<li>Or start a development watcher: <code>npm start<\/code><\/li>\n<\/ol>\n<h3>External Services<\/h3>\n<p>This plugin connects to the Iconify API to power the icon search and picker interface. The API is only contacted from within the WordPress admin area when a logged-in user with post-editing capabilities is using the Icon Picker \u2014 it is never called on the public-facing frontend.<\/p>\n<p><strong>Iconify API<\/strong><\/p>\n<p>Used to search the Iconify icon registry and to retrieve individual SVG files. The following data is sent:<br \/>\n* Icon search queries (the keyword string typed by the editor).<br \/>\n* Icon set prefix and icon name when fetching a specific SVG.<\/p>\n<p>No personally identifiable information is transmitted. Requests are made only when the Icon Picker is actively used by an authenticated user.<\/p>\n<p>All icon search, browse, and individual SVG selection requests are made server-to-server: the editor&#8217;s browser calls a WordPress REST endpoint on your own server, which then forwards the query to Iconify. Only your server&#8217;s IP address is visible to Iconify for these requests.<\/p>\n<p>Icon preview thumbnails displayed in the browsable grid are loaded directly from the editor&#8217;s browser by the bundled <code>@iconify\/react<\/code> library. The editor&#8217;s IP address and standard browser headers are sent with these thumbnail requests.<\/p>\n<p>Primary endpoint: <code>https:\/\/api.iconify.design<\/code><br \/>\nFallback endpoints (provided by the bundled <code>@iconify\/react<\/code> library): <code>https:\/\/api.simplesvg.com<\/code>, <code>https:\/\/api.unisvg.com<\/code><\/p>\n<p>All three endpoints are operated by the Iconify project.<\/p>\n<ul>\n<li>Terms of use \/ API documentation: https:\/\/iconify.design\/docs\/api\/<\/li>\n<li>Privacy policy: https:\/\/iconify.design\/privacy\/<\/li>\n<li>Service website: https:\/\/iconify.design\/<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>A breathtakingly simple icon ecosystem for WordPress. 100,000+ icons. Zero bloat. Native UI.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[2214,793,641,1996,2036,555],"class_list":["post-11308","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-acf","tag-block-editor","tag-gutenberg","tag-icons","tag-svg","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=11308"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11308\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=11308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=11308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=11308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}