Возникли проблемы с архивом пользовательской таксономии WordPress

У меня небольшая проблема с настраиваемым шаблоном таксономии. Я унаследовал сайт, который был разработан кем-то другим, и они используют плагин типов для добавления некоторых пользовательских таксономий.

Цель:

иметь шаблон архива, который показывает только сообщения с определенным термином таксономии в example-domain.com/people/harrison-ford

Проблема:

Этот код вводит сообщения, для которых не выбрана таксономия.

Вот мой полный код:

<?php
$year = get_post_meta($post->ID, 'year', true);
$post_type = 'post';
$tax = 'people';
$tax_terms = get_terms( $tax );
if ($tax_terms) {
    $args = array(
        'post_type' => $post_type,
        'people' => 'harrison-ford',
        "$tax" => $tax_term->slug,
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'caller_get_posts'=> 1,
            'orderby' => 'date',
            'order' => DESC
    );
    $my_query = null;
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) : ?>
        <h2 class="wwNews"><?php echo $tax_term->name; ?> News</h2>
        <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

<-- display stuff -->

        <?php endwhile; // end of loop ?>
    <?php endif; // if have_posts()
    wp_reset_query();

}
?>

person Robert    schedule 28.02.2014    source источник


Ответы (1)


Чего ты здесь ждешь? "$tax" будет 'people' =>, который заменит 'harrison-ford' значением $tax_term->slug.

'people' => 'harrison-ford',
"$tax" => $tax_term->slug,

Кроме того, я не знаю ни одного настраиваемого аргумента под названием people, я почти уверен, что вы хотите tax_query:

'tax_query' => array(
    'taxonomy' => 'people',
    'terms' => array('harrison-ford', $tax_term->slug)
)

Это даст вам результаты всех людей, соответствующих harrison-ford и значению $tax_term->slug в таксономии people

person Ohgodwhy    schedule 01.03.2014
comment
Спасибо, удаление первой строки $ tax сработало. Я не уверен, почему это было с самого начала. - person Robert; 01.03.2014