offset/

创建偏移包

1.1.0 2022-01-02 23:35 UTC

This package is not auto-updated.

Last update: 2024-09-25 01:48:13 UTC


README

安装

composer require offset/packs

使用

用于创建包

use Offset\Pack;
use Offset\Packs;

class PackDemo extends Pack
{
    public $title = 'Demo';
    public $name = 'demo';
    public $version = '1.0.0';
    public $dir = __DIR__ . '/blocks';
    public $url = '/wp-content/plugins/offset-demo/blocks';
    public $editor_styles = array(
        array(
            'handle' => 'offset-demo-editor-style',
            'src' => '/wp-content/plugins/offset-demo/assets/css/admin.css',
        ),
    );
    public $editor_scripts = array(
        array(
            'handle' => 'offset-demo-editor-script',
            'src' => '/wp-content/plugins/offset-demo/assets/js/admin.js',
        ),
    );
    public $styles = array(
        array(
            'handle' => 'offset-demo-style',
            'src' => '/wp-content/plugins/offset-demo/assets/css/style.css',
        ),
    );
    public $scripts = array(
        array(
            'handle' => 'offset-demo-script',
            'src' => '/wp-content/plugins/offset-demo/assets/js/script.js',
        ),
    );
}

$packs_manager = Packs::getInstance();
$pack_demo = new PackDemo();

$packs_manager->addPack($pack_demo);

过滤器

  • offset_packs_is_styles_enqueue
  • offset_packs_is_scripts_enqueue
  • offset_packs_styles
  • offset_packs_scripts
  • offset_packs_styles_enqueued
  • offset_packs_scripts_enqueued

offset_packs_is_styles_enqueue

移除所有需要与包一起加载的样式

示例
add_filter('offset_packs_is_styles_enqueue', '__return_false');

offset_packs_is_scripts_enqueue

移除所有需要与包一起加载的脚本

示例
add_filter('offset_packs_is_scripts_enqueue', '__return_false');

offset_packs_styles

参数
  • $packs - 数组 - 加载样式的包列表
示例
function packs_styles($packs) {
    return array_diff($packs, array('demo')); // Remove styles from "Demo" pack
}

add_filter('offset_packs_styles', 'packs_styles', 10, 1);

offset_packs_scripts

参数
  • $packs - 数组 - 加载脚本的包列表
示例
function packs_scripts($packs) {
    return array_diff($packs, array('demo')); // Remove scripts from "Demo" pack
}

add_filter('offset_packs_scripts', 'packs_scripts', 10, 1);

offset_packs_styles_enqueued

参数
  • $packs_styles - 数组 - 已加载的样式列表
// Remove bootstrap style load by packs
function packs_styles_enqueued($packs_styles) {
    return array_filter($packs_styles, function ($style) {
        return !is_int(mb_stripos($style['src'], 'bootstrap'));
    });
}
add_filter('offset_packs_styles_enqueued', 'packs_styles_enqueued', 10, 1);

offset_packs_scripts_enqueued

参数
  • $packs_scripts - 数组 - 已加载的脚本列表
// Remove bootstrap script load by packs
function packs_scripts_enqueued($packs_scripts) {
    return array_filter($packs_scripts, function ($script) {
        return !is_int(mb_stripos($script['src'], 'bootstrap'));
    });
}
add_filter('offset_packs_scripts_enqueued', 'packs_scripts_enqueued', 10, 1);