假设我有这样一个函数:
function cc_get_content_preview() {
return apply_filters( \'cc_get_content_preview\', get_the_excerpt(), 55 );
}
在这里
get_the_excerpt()
是
$value
我可以在
add_filter
对的
问题:如您所见,第二个参数apply_filters
(get_the_excerpt()
), 不是变量。在add_filter
作用如下所示($cctoreturn)
:
//Set custom content preview for Aff posts
function cc_custom_content_preview($cctoreturn){
$post_id = get_the_ID();
if (is_sticky($post_id)) :
$cctoreturn = $post_id;
endif;
return $cctoreturn;
}
add_filter( \'cc_get_content_preview\', \'cc_custom_content_preview\', 20, 1);
最合适的回答,由SO网友:Jacob Peattie 整理而成
我真的搞不懂你想做什么。此代码:
apply_filters( \'cc_get_content_preview\', get_the_excerpt(), 55 );
将让开发人员
cc_get_content_preview
钩子以更改
cc_get_content_preview()
函数返回。当开发人员钩住一个动作或过滤器时,他们使用
callback function. 此函数将接收传递给的任何其他参数
apply_filters()
作为回调函数的参数。
在您特定的函数中,看起来是这样的:
function my_callback_function( $a, $b ) {
echo $a; // This will be the value of get_the_excerpt().
echo $b; // This will be the number 55.
}
add_filter( \'cc_get_content_preview\', \'my_callback_function\', 10, 2 );
但看起来您正在尝试执行类似JavaScript的操作并传递完整的函数?那是行不通的。您不能像在JavaScript中那样将函数放入变量中,然后再执行它们。