我的插件中有这个应用过滤器。
$pre_html = apply_filters( \'events_views_html\', null, $view_slug, $query, $context );
我想换衣服
$view_slug
使用从子主题动态获取值
add_filter
因为我不想修改插件文件。但该代码不起作用。它显示的值为
$view_slug
而不是显示完整的页面内容。
function add_extra_val( $view_slug, $query, $context ){
if (is_singular(\'tribe_events\')) {
$view_slug = \'single-event\';
}
return $view_slug;
}
add_filter(\'events_views_html\', \'add_extra_val\', 10, 3);
这是一个基本问题,但我对WordPress过滤器和挂钩的知识有限。请提供一些相关指南。
SO网友:vancoder
过滤器仅允许您直接修改first 传递给他们的值。对你来说null
. 如果你换了位置view_slug
在一个地方,可以使用events_view_html
标签
add_filter( \'events_view_html\', \'my_callback\', 10, 3); // passing 3 args to the callback, assuming you need them for something.
function my_callback( $view_slug, $query, $context ) {
// Do whatever you need to do to $view_slug
// $query and $context can be read but not changed
return $view_slug;
}