繁体   English   中英

WordPress搜索

[英]Wordpress Search

有没有办法只是搜索

  • 页数
  • 自订类型
  • 帖子

我目前正在修改二十一个主题。

这是search.php的代码:

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

            <header class="page-header">
                <h1 class="page-title"><?php printf( __( 'Search Results for "%s"', 'twentyeleven' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
                <div class="SearchCount"><?php /* Search Count */ 
                $allsearch = &new WP_Query("s=$s&showposts=-1"); 
                //$key = wp_specialchars($s, 1); 
                $count = $allsearch->post_count; _e(''); _e(); 
                    echo $key; _e(); _e(); 
                    echo $count . ' '; _e(''); 
                wp_reset_query(); ?> Saved Results </div>
                <div id="topPagination"><?php twentyeleven_child_content_nav( 'nav-above' ); ?></div>
            </header>

            <?php /* Start the Loop */ ?>
            <?php while ( have_posts() ) : the_post(); ?>

                <?php
                    /* Include the Post-Format-specific template for the content.
                     * If you want to overload this in a child theme then include a file
                     * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                     */
                    get_template_part( 'content', 'search' );
                ?>

            <?php endwhile; ?>

            <?php twentyeleven_child_content_nav( 'nav-below' ); ?>

        <?php else : ?>

            <article id="post-0" class="post no-results not-found">
                <header class="entry-header">
                    <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
                </header><!-- .entry-header -->

                <div class="entry-content">
                    <p><?php _e( 'Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'twentyeleven' ); ?></p>
                    <?php get_search_form(); ?>
                </div><!-- .entry-content -->
            </article><!-- #post-0 -->

        <?php endif; ?>

这是content-search.php

<h2><a href="<?php the_permalink();?>"> 
        <?php $title = get_the_title(); $keys= explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">\0</strong>', $title); ?>
        <?php echo $title; ?>
    </a><br />
<span class="categoryClass"><?php the_category(','); ?></span></h2>

    <?php the_excerpt(); ?>
    <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->

谢谢

我的看法有两种选择。 一种是将wp_query修改为仅返回所需的类型。 第二个是搜索所有内容,但随后过滤结果。

这就是我相信您将通过使用类型参数修改wp_query方式

$allsearch = &new WP_Query("s=$s&showposts=-1"); //what you currently have
$customsearch = &new WP_Query("post_type=page&posts_per_page =5");

我相信这就是您过滤帖子搜索的方式

if ( have_posts() ) : while ( have_posts() ) : the_post();
   if (is_page()) {} //do something if page
endwhile;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM