2015-06-27 5 views
0

Я пытаюсь правильно работать с WP.Отображать сообщения подкатегории wordpress на странице подкатегории

Я хочу, чтобы он отображал сообщения с выбранной страницы подкатегории, например, при навигации по: www.example.com/category/fruits/apples/, отображать все пользовательские сообщения в категории «яблоки». Я хочу сделать это динамически, так что независимо от количества подкатегорий (яблоки, апельсины, груши и т. Д.) Это работает каждый раз при посещении страницы подкатегории.

Ниже приведена моя текущая функция, но я не знаю, правильно ли выполнена функция get_query_var('cat'). В настоящее время, когда я посещаю страницу подкатегории, она отображает ВСЕ записи с родительской категорией «фрукты», но я хочу, чтобы она отображала только сообщения «яблоки».

<?php 

$cat = get_query_var('cat'); // get current category 
$yourcat = get_category($cat); 

// only display product CPT posts 
query_posts(array('post_type' => 'products')); 

if (have_posts()) : while (have_posts()) : the_post(); 
?> 
    <div class="col-sm-3"> 
    <div class="thumbnail"> 
     <div class="more"><a href="<?php the_permalink(); ?>"><span class="fa fa-location-arrow"></span></a></div> 
     <?php the_post_thumbnail(); ?> 
     <div class="caption"> 
      <a href="<?php the_permalink(); ?>" class="btn btn-default" role="button"><?php the_title(); ?></a> 
     </div> 
     </div> 
    </div> 
<?php endwhile; endif; wp_reset_query(); ?> 
+0

Думаю, мне удалось это решить! Я не был знаком с сообщениями о запросах, но, посмотрев на код, нашел то, что искал. Вот обновленный бит кода: '$ category = get_category (get_query_var ('cat')); $ cat = $ category-> cat_name; // показывать только сообщения CPT query_posts (array ('post_type' => 'products', 'category_name' => $ cat)); ' –

+0

Молодцы. Вставьте отредактированный код в ответ и отметьте его. Это облегчит людям выявление нерешенных проблем. – RST

ответ

0

добавил переменную $ cat в массив query_posts, чтобы получить текущие выбранные должности категории.

$category = get_category(get_query_var('cat')); 
$cat = $category->cat_name; 

// only display product CPT 
posts query_posts(array('post_type' => 'products', 'category_name' => $cat));