我想在特定的多个自定义帖子类型中搜索。我使用第二个代码确定帖子类型:
function custom_search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set(\'post_type\', array(\'post\',\'product\'));
}
}
}
add_action(\'pre_get_posts\',\'custom_search_filter\');
我无法搜索woocommerce产品,如果in-array post\\u类型不仅仅是“product”cpt。如果是唯一的“产品”,则此帖子类型是可查找的。
在我的搜索中。php文件代码为:
<?php if ( have_posts() ) : ?>
<?php
while ( have_posts() ) : the_post(); ?>
founded
<? endwhile;
endif;
?>
如果在数组(\'post\',\'page\')中,所有操作都正常,则可以查找帖子和页面。
SO网友:grazianodev
我最近遇到了一个类似的问题,它与查询的posts_per_page
参数尝试显式设置,如下所示:
function custom_search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set(\'posts_per_page\', 10 ); // Try setting it to the number you\'ve set in the Wordpress admin (Settings > Reading).
$query->set(\'post_type\', array(\'post\',\'product\'));
}
}
}
add_action(\'pre_get_posts\',\'custom_search_filter\');
希望这有帮助!