Один конкретный пользовательский тип записи Wordpress не отображается

Для шаблона Wordpress я создал несколько пользовательских типов сообщений в файле functions.php. На данный момент типы сообщений отображаются правильно на моем MacBook и iPhone, когда я выполняю следующие запросы:

Только определенный тип сообщения «Новости»:

$args = array( 'post_type' => 'news' ); query_posts($args);

Несколько пользовательских типов сообщений:

$args = array( 'post_type' => array('sponsors','news','teams','businessclub','events') ); query_posts($args);

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

Кто-нибудь может помочь мне с этой странной вещью?


person Mark de Vries    schedule 19.09.2012    source источник


Ответы (2)


Почему бы не вставить post_type из вашего первого массива $args в его собственный массив?

$args = array( 'post_type' => array('news') ); 
query_posts($args);
person crowjonah    schedule 19.09.2012
comment
Спасибо за ваш ответ. Проблема была не в самом Wordpress, а в плагине Role Scoper тип записи не отображался. Тот факт, что я не видел сообщения на других устройствах, был связан с тем, что я не вошел в систему на них. Глупый я. - person Mark de Vries; 20.09.2012

Добавьте это в свой файл function.php:

add_filter( 'pre_get_posts', 'my_get_posts' );

function my_get_posts( $query ) {

    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'news' ) );

    return $query;
}

Это должно заставить все это работать. Решение найдено здесь: http://justintadlock.com/archives/2010/02/02/showing-custom-post-types-on-your-home-blog-page

person Dan    schedule 07.10.2015