2015-09-06 89 views
0

我正在使用自定義的Wordpress主題。 當我在我的網站上嘗試搜索時,它會將我重定向到search.php。 問題是它不僅顯示帖子,還顯示插件「The Events Calendar」中的頁面和事件。這是不好的,因爲他們沒有正確對齊,並出現一個到另一個。我認爲編輯它來正確顯示一切會更困難。將搜索結果設置爲僅顯示帖子

所以我希望我的搜索結果只顯示帖子。我不擅長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/

什麼需要任何想法改變,只顯示帖子?

回答

1

您可以使用下面的代碼在functions.php中排除的頁面結果

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

add_filter('pre_get_posts','SearchFilter'); 
+0

「解析錯誤:語法錯誤,意外''(T _ENCAPSED_AND_WHITESPACE),期望標識符(T_STRING)或變量(T_VARIABLE)或編號(T_NUM_STRING),您的代碼是否存在問題,或者我做錯了什麼? – dbsso

+0

我已更新代碼,請再次結帳。 – srmilon

+0

它完美的工作,謝謝 – dbsso