【问题标题】:Set search results to show posts only将搜索结果设置为仅显示帖子
【发布时间】:2015-12-02 00:02:22
【问题描述】:

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

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

关于需要更改哪些内容以仅显示帖子的任何想法?

【问题讨论】:

    标签: php html wordpress


    【解决方案1】:

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

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

    add_filter('pre_get_posts','SearchFilter');
    

    【讨论】:

    • " 解析错误:语法错误,意外 '' (T_ENCAPSED_AND_WHITESPACE),期待标识符 (T_STRING) 或变量 (T_VARIABLE) 或数字 (T_NUM_STRING),您的代码有问题还是我在做什么错了吗?
    • 欢迎,我合适
    猜你喜欢
    • 2013-03-30
    • 2011-03-24
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多