簡體   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