alleyinteractive/wp-filter-side-effects

使用WordPress过滤器就像使用动作一样。

v2.0.0 2022-12-29 19:26 UTC

This package is auto-updated.

Last update: 2024-09-13 22:35:48 UTC


README

add_filter_side_effect() 允许在不要求回调函数返回过滤值甚至返回任何值的情况下将其附加到WordPress过滤器。它包装了 add_filter() 并接受相同的参数和默认值。

回调函数可以返回 void 或返回一个值。如果回调函数返回一个值,该值将被忽略,不会传递回过滤器。因此,过滤副作用的行为类似于 add_action() 回调,可以在需要调用 apply_filters() 来指示某些行为需要发生,但没有方便的动作来运行它的情况下使用。

安装

使用以下命令安装最新版本:

$ composer require alleyinteractive/wp-filter-side-effects

基本用法

<?php

use function Alley\WP\add_filter_side_effect;

add_filter_side_effect(
    'rest_pre_insert_post',
    function ( $prepared_post, $request ): void {
        // Do something before the post is saved, like...
        $language_slug    = $request['lang'];
        $default_category = $this->get_custom_default_language_category( $language_slug );

        if ( $default_category ) {
            add_filter( 'pre_option_default_category', fn() => $default_category );
        }
    },
    10,
    2,
);

关于

许可证

GPL-2.0-or-later

维护者

Alley Interactive