pre_get_posts
只接受一个参数,但您似乎在使用它posts_where
. 事实并非如此pre_get_posts
作品您必须修改$query
对象,而不是构造并返回SQL
条款
我不可能轻易地测试这个,但我认为你想要的钩子是posts_where
或者posts_search
逻辑上最有意义的过滤器。
add_action(\'posts_where\', \'__adapted_search_function\',1,2);
或
add_action(\'posts_search\', \'__adapted_search_function\',1,2);
您可能需要修改代码,但更改正在使用的挂钩是关键。