为什么我的 "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');