Я создал собственную таксономию для пользовательского поста. Теперь я хочу показать все сообщения, связанные с определенным термином. Предположим, у меня есть два члена term1 и term2. При нажатии на term1 все сообщения, связанные с term1, будут отображаться, а сообщения, связанные с term2, не будут отображаться. Но теперь, когда я нажимаю term1, тогда сообщения, связанные с term1 и term2, отображаются одновременно. Я написал следующий код taxonomy.php
шаблон.
<div class="main-content">
<?php
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$the_query = new WP_Query( array(
'post_type' => array('newsbox_post'),
'tax_query' => array(
'taxonomy' => $term->taxonomy,
'field' => 'slug',
'terms' => $term->name,
),
) );
?>
<?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?>
<div class="post">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php the_content(); ?>
<?php echo get_the_term_list( $post->ID, $term->taxonomy, 'People: ', ', ' ); ?>
<hr />
</div>
<?php
endwhile;
wp_reset_postdata();
else:?>
<h3><?php _e('404 Error: Not Found'); ?></h3>
<?php
endif;
?>
</div>
Пожалуйста, скажите мне, как я могу этого достичь.
У меня есть ответ.
$the_query = new WP_Query( array(
'post_type' => array('newsbox_post'),
'tax_query' => array(
array(
'taxonomy' => $term->taxonomy,
'field' => 'slug',
'terms' => $term->slug,
),
),
) );
Вы должны использовать slug
вместо name
как следующий код: —
$the_query = new WP_Query( array(
'post_type' => array('newsbox_post'),
'tax_query' => array(
array(
'taxonomy' => $term->taxonomy,
'field' => 'slug',
'terms' => $term->slug,
),
),
) );
Надеюсь, что это поможет вам.