• Добрый день!

    Создал на своём сайте пользовательский тип содержимого «Статьи», чтобы документы, размещённые в этом формате, не отображались в ленте блога, как обычные записи, но чтобы при этом их можно было, в отличие от обычных страниц, распределять по рубрикам и присваивать им метки. Вроде бы всё получилось, в административном меню появился раздел «Статьи», в редакторе «статей» имеется виджет «Рубрики». Создал несколько рубрик, написал на пробу две «статьи», каждую запихнул в одну из созданных рубрик — в консоли обе «статьи» отображаются как опубликованные, но при попытке просмотреть на сайте содержимое какой-нибудь рубрики отображаются только относящиеся к ней записи, «статьи» не отображаются.

    Не подскажет ли кто-нибудь, что я делаю неправильно?
    Спасибо

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Юрій

    (@yube)

    В рубриках по умолчанию выводятся только записи типа post.

    См. http://codex.wordpress.org/Class_Reference/WP_Query

    Кажется, частично разобрался. То есть, если я хочу, чтобы в архивах (по дате, по рубрикам, по меткам) помимо записей типа post отображались и записи типа article, то мне нужно использовать конструкцию $query = new WP_Query( 'post_type=article' ); в шаблоне loop.php где-то после строки if ( is_archive() || is_search() ) или создать для этого собственный шаблон loop-archive.php?

    Покопался в шаблоне loop.php темы Twenty Ten, в связи с чем ещё один вопрос. Из примера, приведённого в Кодексе, следует, что нужно переписать начало цикла в файле loop.php примерно так:

    <?php
    
    if ( is_archive() || is_search() ) :
       $the_query = new WP_Query( array( 'post_type' => array( 'post', 'article' ) ) );
    endif;
    
    while ( $the_query->have_posts() ) : $the_query->the_post();
    
    ?>

    Я нашёл соответствующее место в файле loop.php, но там вместо методов $the_query->have_posts() и $the_query->the_post() используются функции have_posts() и the_post(), без ссылок на какой-либо объект. Означает ли это, что они всё равно на самом деле вызывают соответствующие методы класса WP_Query и их достаточно просто заменить конструкцией, приведённой выше, или потребуется более радикальная правка файла loop.php?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Категории для пользовательских типов содержимого» закрыта для новых ответов.