WordPress 搜索仅适用于帖子,不适用于页面

Posted

技术标签:

【中文标题】WordPress 搜索仅适用于帖子,不适用于页面【英文标题】:WordPress search only works with posts, not pages 【发布时间】:2011-07-06 01:27:03 【问题描述】:

我正在开发自己的自定义 WordPress 主题,使用空白的默认模板开始。我还没有编辑 search.php 文件。

我的许多 WordPress 帖子都是页面。不幸的是,站点搜索只检索帖子,而不是页面。

知道如何让主题同时搜索帖子和页面吗?

这里是大部分search.php:

<?php if (have_posts()) : ?>

    <h3>Search Results</h3>

    <?php include (TEMPLATEPATH . '/inc/nav.php' ); ?>

    <?php while (have_posts()) : the_post(); ?>

        <div <?php post_class() ?> id="post-<?php the_ID(); ?>">

            <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>

            <?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>

            <div class="entry">
                <?php the_excerpt(); ?>
            </div>

        </div>

    <?php endwhile; ?>

    <?php include (TEMPLATEPATH . '/inc/nav.php' ); ?>

<?php else : ?>

    <h3>No posts found.</h3>

<?php endif; ?>

【问题讨论】:

【参考方案1】:

在您的 search.php 中,找到 The Loop 并在其后面插入此代码。您可以识别循环,因为它通常以:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>

要插入的代码:

if (is_search() && ($post->post_type=='page')) continue; 

所以,你的代码应该是这样的:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
<?php if (is_search() && ($post->post_type=='page')) continue; ?>

让我知道它是否有效。

【讨论】:

【参考方案2】:

WP Search http://wpsear.ch/ 具有该功能。您可以调整要在结果页面中显示的帖子类型。

【讨论】:

无法访问页面。【参考方案3】:

将此代码添加到您的functions.php 文件中。

function wpshock_search_filter( $query ) 
    if ( $query->is_search ) 
        $query->set( 'post_type', array('post','page') );
    
    return $query;

add_filter('pre_get_posts','wpshock_search_filter');

http://wpth.net/limit-wordpress-search-results-to-specific-post-types

【讨论】:

【参考方案4】:

缺少页面搜索和按发布日期而不是相关性排序的搜索结果是典型的 WP 问题。试试http://wordpress.org/extend/plugins/relevanssi/

【讨论】:

这不是问题所在。这与相关性无关,而与完全缺失的页面有关。 为什么这个答案被标记为正确?检查这一点的“管理员”在哪里。它们仅在我拼写错误的句子时才起作用 malnacidos 我认为这个答案不应该被否决。这不是公认的正确答案,但作者指出默认的 WordPress 搜索功能很烂是公平的。

以上是关于WordPress 搜索仅适用于帖子,不适用于页面的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 永久链接仅适用于帖子

适用于 codepen 但不适用于 Wordpress

复选框(Icheck)限制不适用于数据表中的其他页面,仅适用于第一页

AsyncTask 的 Android 下载文件不适用于 3G 仅适用于 Wi-Fi

Disqus 插件不适用于新的 wordpress 帖子

Select2 :仅适用于一个选择选项,但不适用于两个或更多选择选项