Timber: Как запросить сообщения одного пользовательского типа в файле archive.php - PullRequest
0 голосов
/ 18 января 2019

Я использую Timber для Wordpress, и когда я использую пользовательский запрос в archive.php для получения сообщений пользовательского типа, он возвращает сообщения нескольких типов.

Я пробовал точно такой же запрос в page.php, и он отлично работал.

Вот запрос, который я использую:

global $paged;
    if (!isset($paged) || !$paged){
        $paged = 1;
    }
$args = array(
    'post_type' => 'horse',
    'orderby' => 'title',
    'order' => 'ASC',
    'posts_per_page' => 20,
    'paged' => $paged
);
$context['horses'] = new Timber\PostQuery( $args );

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

Есть идеи, почему это может происходить?


Я не уверен, связано ли это с этим, но я также добавил это в functions.php внутри класса StarterSite, чтобы добавить свой собственный тип записи на страницу архива:

function namespace_add_custom_types( $query ) {
    if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {

        // Get all your post types
        $post_types = get_post_types();

        $query->set( 'post_type', $post_types );
        return $query;
    }
 }

И это было добавлено к существующей функции с именем __construct:

add_filter( 'pre_get_posts', array($this, 'namespace_add_custom_types') );

1 Ответ

0 голосов
/ 23 января 2019

Как вы называете это в файле ветки?

{% for post in horses %}
{{ post.name }}
{% endfor %}

Кроме того, вы уверены, что имя типа сообщения - лошадь, а не лошади? Если в post_type включено неверное имя типа записи, будут показаны все типы записей.

...