这是一个9个月的问题,但由于我遇到了同样的问题并找到了解决方案,我来这里发布它。
已存档wp-content/plugins/woocommerce/classes/class-wc-query.php
, 作用pre_get_posts( $q )
, WooCommerce在第114行定义:
add_filter( \'posts_where\', array( $this, \'search_post_excerpt\' ) );
这就是WooCommerce将您的查询搞砸的时候!
功能search_post_excerpt
定义在第132行,您可以看到他将摘录添加到搜索查询中。
因此,您有两种解决方案:
糟糕的是,评论第114行!
//add_filter( \'posts_where\', array( $this, \'search_post_excerpt\' ) );
好的一个,我没有实现自己,但应该像添加过滤器一样
posts_where
在WooCommerce之后运行并修复它。或者取下过滤器。
我会更好地寻找好的解决方案,我保证我会把它张贴在这里。但糟糕的解决方案很好地解决了这一问题。