{"id":10568,"date":"2026-05-16T18:32:08","date_gmt":"2026-05-16T10:32:08","guid":{"rendered":"https:\/\/aeosub.com\/theme-scss-compiler\/"},"modified":"2026-05-16T18:32:08","modified_gmt":"2026-05-16T10:32:08","slug":"theme-scss-compiler","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/theme-scss-compiler\/","title":{"rendered":"Theme SCSS Compiler"},"content":{"rendered":"<div class=\"post-img\" style=\"margin-bottom: 25px\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/theme-scss-compiler\/assets\/banner-1544x500.png?rev=3533679\" alt=\"Theme SCSS Compiler\" style=\"width: 100%;height: auto;border-radius: 12px\"><\/div>\n<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\/theme-scss-compiler\/assets\/icon-256x256.png?rev=3533679\" 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\/simonmista\/\" target=\"_blank\" rel=\"noopener\">Simon Mista<\/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.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\">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.3 \/ 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-16 9:38am 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\/theme-scss-compiler\/\" 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\">Compile SCSS \/ Sass to CSS in the WP admin. Multiple file pairs, per-file versioning, @import-aware change detection, optional auto-compile.<\/div>\n<p>Theme SCSS Compiler lets you manage <strong>multiple SCSS <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> CSS pairs<\/strong> in the active theme directly from the WordPress admin (Tools <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> Theme SCSS Compiler). It uses the bundled scssphp library \u2014 no Node.js, no build tools, no command line. SCSS is the modern Sass syntax (CSS-superset with braces and semicolons).<\/p>\n<h4>Features<\/h4>\n<ul>\n<li><strong>Multiple file pairs<\/strong> \u2013 configure as many SCSS <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> CSS pairs as your theme needs (paths relative to the active theme).<\/li>\n<li><strong>Per-pair Context<\/strong> \u2013 each pair runs on either the Frontend (<code>wp_enqueue_scripts<\/code>) or the Admin (<code>admin_enqueue_scripts<\/code>).<\/li>\n<li><strong>Per-file versioning<\/strong> \u2013 each pair has its own version. Bumps are applied automatically via the <code>style_loader_src<\/code> filter, so your theme files stay untouched.<\/li>\n<li><strong>Smart change detection<\/strong> \u2013 the version only bumps when the compiled CSS content of that specific pair actually changed. No cache busting for files you didn&#8217;t touch.<\/li>\n<li><strong><code>@import<\/code>-aware auto-recompile<\/strong> \u2013 every SCSS partial (<code>@import<\/code>, <code>@use<\/code>, <code>@forward<\/code>) is tracked. Editing a partial alone triggers a recompile on the next admin page load \u2014 no need to touch the entry SCSS file.<\/li>\n<li><strong>Compressed (production) or expanded (development)<\/strong> SCSS output.<\/li>\n<li><strong>Auto-compile<\/strong> when an SCSS source (or any of its imports) changes or the CSS output is missing \u2013 no white layouts after a fresh deployment.<\/li>\n<li><strong>Auto-enqueue<\/strong> \u2013 the plugin runs <code>wp_enqueue_style()<\/code> for every configured pair on its respective context. Skips files that are already registered, so it never duplicates output.<\/li>\n<li><strong>Manual compile button<\/strong> with live AJAX feedback and persistent error display in the admin.<\/li>\n<li><strong>Concurrent-compile lock<\/strong> \u2013 a transient-based mutex prevents two admins triggering compiles at the same time from corrupting the CSS output.<\/li>\n<li><strong>Code-first configuration<\/strong> \u2013 every option (pairs, output style, auto-compile, auto-enqueue, bump version) can be defined as a PHP constant in <code>wp-config.php<\/code>, in your theme, or via your <code>.env<\/code> \/ Bedrock workflow.<\/li>\n<li><strong>Admin-only access<\/strong> \u2013 every endpoint requires the <code>manage_options<\/code> capability by default. Filterable via <code>tscsscompiler_capability<\/code> if you need to grant access to a custom role.<\/li>\n<li><strong>Modern codebase<\/strong> \u2013 PHP 8.1+, WCAG 2.1 AA compliant admin UI, fully translated to German out of the box.<\/li>\n<\/ul>\n<h4>Privacy \/ GDPR<\/h4>\n<p>This plugin makes <strong>no external HTTP requests<\/strong>, sets <strong>no cookies<\/strong>, runs <strong>no telemetry<\/strong>, and does <strong>not<\/strong> track users. All processing happens locally on your server. The bundled libraries (scssphp, league\/uri, symfony\/filesystem, PSR HTTP interfaces) are MIT licensed and GPL-compatible. Source code is included in the plugin&#8217;s <code>vendor\/<\/code> directory.<\/p>","protected":false},"excerpt":{"rendered":"<p>Compile SCSS \/ Sass to CSS in the WP admin. Multiple file pairs, per-file versioning, @import-aware change detection, optional auto-compile.<\/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":[935,936,937,938,939,555],"class_list":["post-10568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-compiler","tag-css","tag-sass","tag-scss","tag-theme","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10568","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=10568"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10568\/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=10568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}