为什么我的 "product posts" 搜索显示 "journal posts"?
Why is my "product posts" search displaying "journal posts"?
在 wordpress 搜索中,我试图只搜索 post 类型 "products"。
但是它仍然显示我的 "journal posts"。
我正在使用一个名为 "search-everything" 的插件来允许我的搜索扩展到一些额外的 post 功能,例如标签,(我已经将 "shoes" 这个词标记为所有鞋类产品,甚至使用 "shoes" 这个词=31=] 在产品标题中,这是 Wordpress 即使没有任何搜索插件也会调查的内容。
除此之外,搜索模板运行良好。
请查看网站进行测试:http://jadepalacecollective.com/?s=shoes
上面的示例是搜索 "mules"。
它还从日志中检索 post(底部的大图)
这是我的代码(为了便于阅读,我已经精简了它)
我先去这个主 search.php 页面
<?php
if (get_post_type() == 'product' ) : ?>
<header class="page-header">
<h1 class="page-title searchresults-for"><?php printf( esc_html__( 'Search Results for: %s', 'palace' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', 'search' );
endwhile;
else :
get_template_part( 'template-parts/content', 'none' );
endif; ?>
如果 search.php 找到某些东西,它会获取模板 search-content。php 以显示有关产品的一些信息。
<?php if (get_post_type() == 'product' ) : ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(); ?>
</a>
</article><!-- #post-## -->
<?php endif; ?>
你能猜到为什么会这样吗?我做错了什么吗?
您可以在 functions.php
中使用此代码限制特定 post 类型的搜索结果
function search_rules($query) {
if ($query->is_search) {
$query->set('post_type', 'product');
}
return $query;
}
add_filter('pre_get_posts','search_rules');
在 wordpress 搜索中,我试图只搜索 post 类型 "products"。 但是它仍然显示我的 "journal posts"。 我正在使用一个名为 "search-everything" 的插件来允许我的搜索扩展到一些额外的 post 功能,例如标签,(我已经将 "shoes" 这个词标记为所有鞋类产品,甚至使用 "shoes" 这个词=31=] 在产品标题中,这是 Wordpress 即使没有任何搜索插件也会调查的内容。 除此之外,搜索模板运行良好。
请查看网站进行测试:http://jadepalacecollective.com/?s=shoes
这是我的代码(为了便于阅读,我已经精简了它) 我先去这个主 search.php 页面
<?php
if (get_post_type() == 'product' ) : ?>
<header class="page-header">
<h1 class="page-title searchresults-for"><?php printf( esc_html__( 'Search Results for: %s', 'palace' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', 'search' );
endwhile;
else :
get_template_part( 'template-parts/content', 'none' );
endif; ?>
如果 search.php 找到某些东西,它会获取模板 search-content。php 以显示有关产品的一些信息。
<?php if (get_post_type() == 'product' ) : ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(); ?>
</a>
</article><!-- #post-## -->
<?php endif; ?>
你能猜到为什么会这样吗?我做错了什么吗?
您可以在 functions.php
中使用此代码限制特定 post 类型的搜索结果function search_rules($query) {
if ($query->is_search) {
$query->set('post_type', 'product');
}
return $query;
}
add_filter('pre_get_posts','search_rules');