设置搜索结果仅显示帖子

时间:2015-09-06 08:34:27

标签: php html wordpress

我正在使用自定义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/

有关需要更改的内容的任何想法仅显示帖子?

1 个答案:

答案 0 :(得分:1)

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

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

add_filter('pre_get_posts','SearchFilter');