将搜索结果设置为只显示帖子


Set search results to show posts only

我使用的是自定义Wordpress主题。当我尝试在我的网站上搜索时,它会将我重定向到search.php。问题是,它不仅显示的帖子,但也从插件页面和事件"事件日历"。这很糟糕,因为它们没有正确对齐,一个接一个地出现。我认为编辑它以正确显示所有内容会更困难。

所以我希望我的搜索结果只显示帖子。我不擅长PHP,但我认为这部分代码需要修改。

<div class="content<?php if($bpxl_goblog_options['bpxl_layout'] == 'c_layout' || $bpxl_goblog_options['bpxl_layout'] == 'gs_layout' || $bpxl_goblog_options['bpxl_layout'] == 'sg_layout' || $bpxl_goblog_options['bpxl_layout'] == 'g_layout') { echo ' masonry masonry-home'; } ?>">
        <?php
            if (have_posts()) : while (have_posts()) : the_post();
            get_template_part( 'content', get_post_format() );
        ?>
        <?php endwhile; else: ?>
            <div class="post">
                <div class="single-page-content error-page-content">
                    <p><strong><?php _e('Rien à afficher'); ?></strong></p>
                    <?php get_search_form(); ?>
                </div><!--noResults-->
            </div>  
        <?php endif; ?>
    </div><!--content-->

完整的搜索。php代码在这里https://jsfiddle.net/jzx4evy9/

有什么想法需要改变,只显示文章吗?

您可以在functions.php中使用以下代码来排除页面结果

function SearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}

add_filter('pre_get_posts','SearchFilter');