Имате проблеми с персонализирания таксономичен архив на 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