Шаблон Texonomy не показывает отфильтрованные категории

Я создал категории для своего пользовательского типа сообщений, используя regiter_texonomy. Если я нажму на категорию, она перейдет к texonomy_template, но не покажет никаких пользовательских сообщений. Почему он показывает пустые сообщения?

index.php

<?php 
 $defaults = array(
        'taxonomy'            => 'portfolio_category',
        'title_li'            => __( 'Categories' )
    );
wp_list_categories($defaults); ?>

texonomy-portfolio_category.php

<?php 
if(have_posts()):
    echo 'Yes';
else:
    echo 'No';
endif;
?>

Но он показывает пустой список.


person Mr.Pandya    schedule 17.02.2017    source источник


Ответы (1)


может быть вероятность того, что у вас могут быть пустые категории, и из-за этого они могут не отображаться с использованием wp_list_categories, поэтому просто попробуйте приведенные ниже аргументы, которые должны работать.

<?php
$defaults = array(
  'hide_empty'          => false,  
  'taxonomy'            => 'portfolio_category',
  'title_li'            => __( 'Categories' )
);

wp_list_categories($defaults); 
?>
person Anand thakkar    schedule 17.02.2017
comment
категории показываются. Но когда я нажимаю на любую категорию, сообщения не отображаются. - person Mr.Pandya; 17.02.2017
comment
Пожалуйста, опубликуйте полный цикл здесь, чтобы я мог проверить, поскольку вы добавили только if(have_posts()): echo 'Yes'; иначе: эхо 'Нет'; конец; - person Anand thakkar; 17.02.2017
comment
$args = array( 'post_type' =› 'портфолио' ); $a = get_posts($args); Это показывает нормально. Но когда я использую have_post(), сообщения не отображаются в определенной выбранной категории. - person Mr.Pandya; 17.02.2017
comment
если вы пытаетесь использовать его через texonomy-portfolio_category.php, то он должен был загрузить по умолчанию последний пост со страницы категории, которую вы проверяете, есть в то время как ( have_posts() ): the_post(); // зациклить содержимое endwhile; определите цикл на этой странице, поскольку в принципе нет необходимости в $args = array( 'post_type' => 'portfolio' ); $a = get_posts( $args ), так как эти сообщения будут автоматически заполняться WP_Query при доступе к странице. - person Anand thakkar; 17.02.2017
comment
Я. Я только что попытался использовать while(have_posts()):the_post(). Он ничего не показывает. В основном have_posts() возвращает true, если есть какие-либо сообщения. Но он показывает false. - person Mr.Pandya; 17.02.2017