2014-09-01 3 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

У вас есть ответ на вопрос, который вы связаны, просто сделать серию, если/иначе базируется категория идентификатор – Steve

+0

Да, конечно, но ответ не был очень полезным и решение я не предусмотрено работать с моим кодом. – Benjamin

ответ

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 имя-
  • .tag-name
  • .format-name
+0

Это решение может быть применено, если мне нужно будет изменить только стиль, но мне нужно добавить также PHP-код и другие вещи, основанные на категории сообщения. И да, почта обычно имеет только одну категорию. – Benjamin

+0

Неясно, из вашего вопроса, что вы также собираетесь добавить дополнительный PHP-код, а также стиль сообщений. Вы всегда можете определить свои собственные функции или действия, в которых обратный вызов принимает текущий идентификатор или категории в качестве входного или пользовательского 'get_template_part' на основе информации о категории. – birgire

+0

Тогда я должен обернуть в if_category_id, чем получить нужную часть шаблона ... Я попробую это решение, а затем опубликую код, если он будет работать. – Benjamin

Смежные вопросы