2011-11-16 180 views
2

是有办法只是搜索WordPress的搜索

  • 自定义类型
  • 帖子

我目前正在修改第二十11的主题。

这里是的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; ?> 

这里是内容的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 --> 

谢谢

回答

0

我看到它的方式有两种选择。一种是修改wp_query以仅返回所需的类型。第二是搜索所有内容,然后过滤结果。

这是我如何相信你会用Type Parameters

$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;