我试图在过滤器钩子中使用一些参数时收到警告 .
警告:在C:\ WAMP \ WWW \ FRANK \ WP-CONTENT \ THEMES \ TWENTYTHIRTEEN \ FUNCTIONS.PHP ON LINE 688中UPDATE_SALE()缺少论点2
警告:在C:\ WAMP \ WWW \ FRANK \ WP-CONTENT \ THEMES \ TWENTYTHIRTEEN \ FUNCTIONS.PHP ON LINE 688中UPDATE_SALE()缺少参数3
这是我试图挂钩的过滤器的签名
echo apply_filters(
'woocommerce_sale_flash',
'<span class="onsale">'.__( 'Sale!', 'woocommerce' ).'</span>',
$post,
$product);
这是我的自定义过滤器操作
function update_sale( $content, $post, $product ) {
$content = '<span class="onsale">'.__( '25% Off!', 'woocommerce' ).'</span>';
return $content;
}
add_filter('woocommerce_sale_flash', 'update_sale');
当我在我的函数声明中包含额外的参数$ post和$ product时,我会收到上面的警告 . 我认为$ post和$ product会让我访问术语数据 .
那我在这里错过了什么?
谢谢
1 回答
WordPress add_filter函数将调用您的update_sale函数,默认只有一个参数 . http://codex.wordpress.org/Function_Reference/add_filter同样在这些函数中,它甚至可以使用这些变量,因此您可以省略它们 . [编辑:OP指出当在调用函数中设置第4个参数时,全局变量可用而不显式调用它们 . ]
你可以尝试:
add_filter的第四个参数告诉WordPress你的update_sale函数接受三个参数 .