WordPress筛选器是一个函数,它接收字符串、数组或对象,对其执行某些操作,并返回经过筛选的字符串、数组或对象。
所以你要做的是"WHERE post_type = \'post\' AND post_status = \'publish\'"
进入"WHERE post_type = \'post\' OR post_type = \'events\' AND post_status = \'publish\'"
. 这相当简单。
从表面上看getarchives_where
筛选器接受两个参数。因此,您将像这样钩住过滤器:
add_filter( \'getarchives_where\', \'my_fancy_filter_function\', 10, 2 );
然后,您需要编写一个函数,该函数接受两个参数,对它们进行过滤,并返回一个字符串:
function my_fancy_filter_function( $text, $r ) {
return "WHERE post_type = \'post\' OR post_type = \'events\' AND post_status = \'publish\'";
}
现在,此函数将接收任何输入,但它将始终返回指定过滤器的字符串。有很多更高级的方法可以添加查询参数,但这将完全满足您的问题。