Title: Encute
Author: Mark Jaquith
Published: <strong>2021 年 10 月 26 日</strong>
Last modified: 2022 年 2 月 17 日

---

搜索插件

![](https://ps.w.org/encute/assets/banner-772x250.png?rev=2620522)

**该插件尚未通过WordPress的最新3个主要版本进行测试**。 当与较新版本的WordPress一起
使用时，可能不再受到维护或支持，并且可能会存在兼容性问题。

![](https://ps.w.org/encute/assets/icon-256x256.png?rev=2620522)

# Encute

 作者：[Mark Jaquith](https://profiles.wordpress.org/markjaquith/)

[下载](https://downloads.wordpress.org/plugin/encute.0.8.8.zip)

 * [详情](https://cn.wordpress.org/plugins/encute/#description)
 * [评价](https://cn.wordpress.org/plugins/encute/#reviews)
 * [开发进展](https://cn.wordpress.org/plugins/encute/#developers)

 [支持](https://wordpress.org/support/plugin/encute/)

## 描述

Encute provides a fluent, declarative API for site owners to manipulate the scripts
and styles that WordPress, themes, and plugins shove onto their site. Move things
into the footer, defer loading, remove assets entirely. Or load scripts async, or
as modules, or as nomodule!

Here’s an example of how you could use the plugin:

    ```
    <?php

    use CWS\Encute\{ Plugin, Script, Style };

    add_action(Plugin::class, function (Plugin $plugin) {
        $isContactPage = fn () => is_page('contact');
        Script::get('contact-form-7')->keepIf($isContactPage)->footer()->defer();
        Style::get('contact-form-7')->keepIf($isContactPage)->footer()->defer();

        Style::get(['mediaelement', 'wp-mediaelement'])->footer()->defer();
        Style::get('material-icons')->defer();
        Script::get('jquery')->remove();
    });
    ```

### Wrapper

Always run code in this wrapper:

    ```
    add_action(\CWS\Encute\Plugin::class, function (\CWS\Encute\Plugin $encute) {
        // Your code here.
    });
    ```

This wrapper will be a no-op if Encute is not available, and it will both wait for
Encute to be available to run, and pass you Encute’s main class instance.

### Fluency

Both `Script::get()` and `Style::get()` return an instance of themselves, as do 
all calls to their methods, so you can just chain your calls.

### Script

 * `static CWS\Encute\Script::get(string $handle): CWS\Encute\Script` — get a Script
   instance for that handle.
 * `CWS\Encute\Script::module(): CWS\Encute\Script` — make the script a module.
 * `CWS\Encute\Script::noModule(): CWS\Encute\Script` — make the script nomodule.
 * `CWS\Encute\Script::footer(): CWS\Encute\Script` — send the script to the footer(
   along with its entire dependency family).
 * `CWS\Encute\Script::async(): CWS\Encute\Script` — make the script async.
 * `CWS\Encute\Script::defer(): CWS\Encute\Script` — make the script defer.
 * `CWS\Encute\Script::remove(): CWS\Encute\Script` — remove the script.
 * `CWS\Encute\Script::removeIf(callable $callback): CWS\Encute\Script` — remove
   the script if the callback resolves as true.
 * `CWS\Encute\Script::keepIf(callable $callback): CWS\Encute\Script` — keep the
   script if the callback resolves as true (else remove it).

### Style

 * `static CWS\Encute\Style::get(string $handle): CWS\Encute\Style` — get a Style
   instance for that handle.
 * `CWS\Encute\Style::footer(): CWS\Encute\Style` — send the style to the footer(
   along with its entire dependency family).
 * `CWS\Encute\Style::defer(): CWS\Encute\Style` — defer the style’s loading.
 * `CWS\Encute\Style::remove(): CWS\Encute\Style` — remove the style.
 * `CWS\Encute\Style::removeIf(callable $callback): CWS\Encute\Style` — remove the
   style if the callback resolves as true.
 * `CWS\Encute\Style::keepIf(callable $callback): CWS\Encute\Style` — keep the style
   if the callback resolves as true (else remove it).

## 屏幕截图

 * [[
 * Code generation inside the plugin.

## 常见问题

### How do I use this?

Go to Tools > Encute and you’ll be guided through code generation.

### Can’t I do this through a UI?

Not currently. This is a pro-level tool. You need to know what you’re doing. If 
writing code isn’t for you, then this plugin probably isn’t for you.

## 评价

![](https://secure.gravatar.com/avatar/013fd021aeb178ed6e14273f5729b815e8c53fa17d7c3e0a07163e7c0bbf8edc?
s=60&d=retro&r=g)

### 󠀁[Useful tool](https://wordpress.org/support/topic/useful-tool-98/)󠁿

 [a2d](https://profiles.wordpress.org/a2d/) 2021 年 12 月 12 日

Given 4 stars because early days with this plugin, but it does it’s job and gives
full control of scripts/styles which many free plugins don’t. There’s a few points
that might not be clear from the documentation: The ‘plugin’ requires PHP 7.4 or
higher If you don’t have a directory at /wp-content/mu-plugins then create one and
put encute.php in it At first, tick the “Show debug HTML comments around scripts
and styles” checkbox. This outputs useful comments around script and style blocks
with the handle of each. You need this handle to set up ‘rules’. The plugin works
fine and the code generation tool is useful, but doesn’t remember ‘rules’ you add.
Would be useful if the plugin had a link (in new window) to the plugin description
page for code reference

 [ 阅读所有1条评价 ](https://wordpress.org/support/plugin/encute/reviews/)

## 贡献者及开发者

「Encute」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ Mark Jaquith ](https://profiles.wordpress.org/markjaquith/)

[帮助将「Encute」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/encute)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/encute/)，查看[SVN仓库](https://plugins.svn.wordpress.org/encute/)，
或通过[RSS](https://plugins.trac.wordpress.org/log/encute/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/encute/)。

## 额外信息

 *  版本 **0.8.8**
 *  最后更新：**4 年前**
 *  活跃安装数量 **20+**
 *  WordPress 版本 ** 5.8 或更高版本 **
 *  已测试的最高版本为 **5.8.13**
 *  PHP 版本 ** 7.4 或更高版本 **
 *  语言
 * [English (US)](https://wordpress.org/plugins/encute/)
 * 标签
 * [performance](https://cn.wordpress.org/plugins/tags/performance/)[scripts](https://cn.wordpress.org/plugins/tags/scripts/)
   [styles](https://cn.wordpress.org/plugins/tags/styles/)
 *  [高级视图](https://cn.wordpress.org/plugins/encute/advanced/)

## 评级

 4 星（最高 5 星）。

 *  [  0 条 5 星评价     ](https://wordpress.org/support/plugin/encute/reviews/?filter=5)
 *  [  1 条 4 星评价     ](https://wordpress.org/support/plugin/encute/reviews/?filter=4)
 *  [  0 条 3 星评价     ](https://wordpress.org/support/plugin/encute/reviews/?filter=3)
 *  [  0 条 2 星评价     ](https://wordpress.org/support/plugin/encute/reviews/?filter=2)
 *  [  0 条 1 星评价     ](https://wordpress.org/support/plugin/encute/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/encute/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/encute/reviews/)

## 贡献者

 *   [ Mark Jaquith ](https://profiles.wordpress.org/markjaquith/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/encute/)