以前从未创建过自过滤器。在我的插件中,我将变量作为数组。我希望其他用户可以在不修改插件的情况下更改此阵列。我正在我的plugin.php
:
<?php
/*
Plugin Name: Test plugin
*/
$arr = [
\'val\',
\'val2\',
\'val3\'
];
$arr = apply_filters( \'my_hook\', $arr );
print_r( $arr );
在我的
functions.php
我把这个代码:
add_filter( \'my_hook\', \'modify\', 10, 1 );
function modify( $arr ) {
unset($arr[0]);
return $arr;
}
我期望没有第一个元素的输出,但它输出具有3个值的原始数组;
怎么了?
SO网友:user3013494
谢谢你的回答。根据上面的评论,我修改了代码。现在它工作了。这是正确的方式吗?
<?php
/*
Plugin Name: Test plugin
*/
$arr = [];
add_action( \'init\', \'set_var_data\' );
function set_var_data() {
global $arr;
$arr = [
\'val\',
\'val2\',
\'val3\'
];
$arr = apply_filters( \'my_hook\', $arr );
}
print_r( $arr );