[WordPress] 外掛分享: Easy SCSS and JS

首頁外掛目錄 › Easy SCSS and JS
WordPress 外掛 Easy SCSS and JS 的封面圖片
70+
安裝啟用
★★★★★
5/5 分(1 則評價)
1291 天前
最後更新
問題解決
WordPress 6.0+ PHP 7.4+ v2.5.7 上架:2020-03-18

內容簡介

這個外掛程式增加了 SCSS 功能,為您壓縮 JS,並創建了一種簡單的方式來 enqueue 腳本和樣式,並本地化它們。

使用方法

假設您有以下的結構:
您的主題
├── assets
│ ├── js
│ │ └── script.js
│ └── scss
│ └── style.scss
├── functions.php
└── …

現在您可以在 functions.php 中使用下列方式使用樣式:

<?php
add_action('wp_enqueue_scripts', static function(){
/* 完整版本 */
\EasySCSSandJS\Styles::add('my_style_handle', __DIR__ .'/assets/scss/style.scss', [],[], true);

/* 最簡單的版本 */
\EasySCSSandJS\Styles::add('my_style_handle', __DIR__ .'/assets/scss/style.scss');

/* 添加依賴(例如:依賴於 handle 'bootstrap') */
\EasySCSSandJS\Styles::add('my_style_handle', __DIR__ .'/assets/scss/style.scss', ['bootstrap']);

/* 添加變數 */
\EasySCSSandJS\Styles::add('my_style_handle', __DIR__ .'/assets/scss/style.scss', [], [
'my_cool_color' => '#0000ff',
]);

/* 自行 enqueue */
\EasySCSSandJS\Styles::add('my_style_handle', __DIR__ .'/assets/scss/style.scss', [], [], false);
wp_enqueue_style('my_style_handle');
});

以及這篇文章的腳本:

<?php
add_action('wp_enqueue_scripts', static function(){
/* 完整版本 */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery'], [], true, true);

/* 最簡單的版本(預設 jquery 為依賴項) */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js');

/* 沒有依賴(也沒有 jQuery) */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', []);

/* 添加依賴(除了 jQuery 之外的依賴) */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery', 'other_script']);

/* 添加變數 */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery'], [
'my_variable' => 'testing this awesome plugin',
]);

/* 自行 enqueue */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery'], [], false);
wp_enqueue_script('my_script_handle');

/* 將腳本加到頁首而非頁尾 */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery'], [], true, false);
});

在 SCSS 中使用變數:

// 這是推薦的方式。如果 PHP 因某種原因未設定變數,它將會拋出嚴重錯誤。
// 如果 PHP 設定了,它將在 PHP 中定義的顏色替換 $my_cool_color。
$my_cool_color: #ffffff !default;

body{
background-color: $my_cool_color; // 這將是藍色(#0000ff)
}

在 JS 中使用變數:

alert(my_script_handle_vars.my_variable);

編譯後的檔案將儲存在 wp-content/uploads/compiled-scss-and-js 中。當該資料夾被清除時,所有程式都會被重新生成。

篩選器

有一些篩選器可以向所有(或選擇的)腳本和樣式添加通用變數,或添加額外內容到檔案中:
– easy_scss_extra_variables
– easy_scss_add_code_before_content
– easy_scss_add_code_after_content

外掛標籤

開發者團隊

⬇ 下載最新版 (v2.5.7) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Easy SCSS and JS」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

This plugin adds SCSS functionality, compresses JS for you and creates an easy way to enqueue scripts and styles as well as localize them.
How to use
Let’s assume this structure:
your theme
├── assets
│ ├── js
│ │ └── script.js
│ └── scss
│ └── style.scss
├── functions.php
└── …
You can now do this in your functions.php with styles:
'#0000ff',
]);

/* Enqueue it yourself */
\EasySCSSandJS\Styles::add('my_style_handle', __DIR__ .'/assets/scss/style.scss', [], [], false);
wp_enqueue_style('my_style_handle');
});

And this with scripts:
'testing this awesome plugin',
]);

/* Enqueue it yourself */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery'], [], false);
wp_enqueue_script('my_script_handle');

/* Add the script to the header instead of the footer */
\EasySCSSandJS\Scripts::add('my_script_handle', __DIR__ .'/assets/js/script.js', ['jquery'], [], true, false);
});

Use variables in SCSS:
// This is recommended. It will throw a fatal error if your PHP doesn't set the variable for some reason.
// If PHP does set it, it will replace $my_cool_color with the defined color in PHP.
$my_cool_color: #ffffff !default;

body{
background-color: $my_cool_color; // This will be blue (#0000ff)
}

Use variables in JS:
alert(my_script_handle_vars.my_variable);

Compiled files will be saved in wp-content/uploads/compiled-scss-and-js. When that folder is cleared, everything will be regenerated.
Filters
There are filters for adding generic variables to all (or a selection) of scripts and styles or for adding extra content to files:
– easy_scss_extra_variables
– easy_scss_add_code_before_content
– easy_scss_add_code_after_content
– easy_scss_create_source_map
– easy_scss_storage_folder_name
– easy_scss_storage_folder
– easy_scss_storage_folder_url
– easy_scss_after_compilation
– easy_js_extra_variables
– easy_js_storage_folder_name
– easy_js_storage_folder
– easy_js_storage_folder_url
– easy_js_after_compilation

延伸相關外掛

文章
Filter
Mastodon