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);
您可能需要修改代码,但更改正在使用的挂钩是关键。