2014-09-01 208 views
0

我有不同的類別,其中顯示的帖子是由不同的元素來表徵的,因此當我在wordpress中使用搜索時,結果不會很好地顯示。 因此,我想根據其類別更改搜索結果中顯示的帖子的外觀。 例子: What I have now and what I would like to have. Image example.按類別自定義搜索結果

我的search.php模板是這樣的:

<?php get_header(); ?> 

    <div id="content"> 
     <div class="padder"> 

     <?php do_action('bp_before_blog_search'); ?> 

     <div class="page" id="blog-search" role="main"> 

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


       <?php bp_dtheme_content_nav('nav-above'); ?> 

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

        <?php do_action('bp_before_blog_post'); ?> 
<div class="blog-post"> 
// Here is displayed the blog post style and features 
</div><!--blog-post--> 
<div class="clear"> </div> 

        <?php do_action('bp_after_blog_post'); ?> 

       <?php endwhile; ?> 

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

      <?php else : ?> 

       <h2 class="center"><?php _e('No posts found. Try a different search?', 'OneCommunity'); ?></h2> 

      <?php endif; ?> 
<div style="display:inline"> 
<center><?php wp_pagenavi(); ?></center> 
</div> 

     </div> 

     <?php do_action('bp_after_blog_search'); ?> 

     </div><!-- .padder --> 
    </div><!-- #content --> 


<div id="sidebar"> 
    <?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('sidebar-blog')) : ?><?php endif; ?> 
    <?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('sidebar-ad-blog')) : ?><?php endif; ?> 
</div><!--sidebar ends--> 

<?php get_footer(); ?> 

我試圖實現顯示基於職位類別不同的​​「模板」的帖子,但沒有成功的結果。 我在wordpress.stackexchange.com上問了同樣的問題,但沒有成功,我指出了一個非工作解決方案,希望它能幫助您開發我需要的代碼。 https://wordpress.stackexchange.com/questions/141856/different-layout-on-search-page-depending-on-category-post

非常感謝您給予的任何幫助,請原諒我的英語。

+0

你有你鏈接的問題的答案,只是做了一系列如果基於該類別ID – Steve 2014-09-01 10:45:27

+0

是的,當然/人,但得到的答覆是不是非常有用,我提供的解決方案沒有的使用我的代碼。 – Benjamin 2014-09-01 12:19:35

回答

1

如果我正確理解你的問題,你可以簡單地使用post_class()功能:

<div <?php post_class('blog-post');?> > 
    // Here is displayed the blog post style and features 
</div><!--blog-post--> 

,這會使得這樣的:

<div class="post-3654 post type-post status-publish format-standard hentry category-buildings blog-post"> 
    // Here is displayed the blog post style and features 
</div><!--blog-post--> 

buildings類別的職位。

然後你的CSS會照顧其餘的:

.post.category-buildings { 
    border: 3px solid red; 
} 

但我覺得你的設置/想法只適用於類別的職位。

價:從Codex

post_class可以包括一個或多個用於 類屬性是以下值,依賴於網頁瀏覽。

  • .POST-ID
  • .POST
  • .attachment
  • .sticky
  • .hentry(hAtom微格式頁)
  • .category-ID
  • .category名
  • 。標籤名稱
  • 。格式名稱
+0

這個解決方案可以應用,如果我不得不改變只是風格,但我還需要添加PHP代碼和其他東西的基礎上的職位類別。是的,這個帖子通常只有一個類別。 – Benjamin 2014-09-01 12:11:16

+0

從您的問題中可以看出,您還將添加一些額外的PHP代碼以及對帖子進行造型。您可以隨時根據類別信息定義自己的函數或操作,其中回調將當前帖子ID或類別作爲輸入或自定義「get_template_part」。 – birgire 2014-09-01 13:37:55

+0

然後我應該換成if_category_id比得到正確的模板部分...我會嘗試這個解決方案,然後發佈代碼,如果它能工作。 – Benjamin 2014-09-01 14:14:29