@K1onny

Вывод постов конкретной таксономии?

Вопрос банален, мне стыдно, но работая над проектом, по которому возник вопрос, почти без знаний php, я подзаколебался. Мне нужно вывести таксономию, таксономия называется 'region'. Кастомный же тип поста для этой таксономии называется 'women'. Код шаблона для вывода таксономии (taxonomy-region.php) на данный момент недоделан (нет проверки на таксономию, выводит просто всё подряд из 'women') и выглядит так (вырезал лишнее, всякие div'ы и тп):

<?php
/**
 * Template Name: Region
 *
 */
 $post_type = 'women';

get_header(); ?>

	<div id="content-wrap" class="container clr">

			<?php while ( have_posts() ) : the_post(); ?>

			<?php endwhile; ?>

			<div class="row">

				<?php
					global $post, $paged, $more;
					$more = 0;
					if ( get_query_var( 'paged' ) ) {
						$paged = get_query_var( 'paged' );
					} else if ( get_query_var( 'page' ) ) {
						$paged = get_query_var( 'page' );
					} else {
						$paged = 1;
					}
					// Query posts
					$wp_query = new WP_Query( array(
						'post_type'        => 'women',
						'paged'            => $paged,
						'category__not_in' => wpex_blog_exclude_categories( true ),
						'orderby' => 'rand',
					) );
					if ( $wp_query->posts ) : ?>

				<div id="blog-entries" class="clr <?php wpex_blog_wrap_classes(); ?>">

					<?php $wpex_count = 0; ?>
					<?php while ( have_posts() ) : the_post(); ?>
					<div class="wpb_column vc_column_container vc_col-sm-3">
						.....
						.....
						.....
					</div>

					<?php endwhile; ?>
			</div></div><!-- #blog-entries -->

				<?php wp_reset_postdata(); wp_reset_query(); ?>

				<?php wpex_hook_content_bottom(); ?>

			</div><!-- #content -->

			<?php wpex_hook_content_after(); ?>

<?php get_footer(); ?>
?>


Что добавить/убрать в цикл для вывода постов из конкретной таксономии, то есть из 'region'?.. Огромное спасибо за помощь заранее.
  • Вопрос задан
  • 2897 просмотров
Решения вопроса 1
MedVedar
@MedVedar
e-commerce developer
Признаюсь, что разбираться в вашем коде лень. Просто скопипастил код из своего проекта, где была аналогичная задача:
$term      = get_queried_object();
$term_slug = $term->slug;
$_posts    = new WP_Query( array(
	'post_type'      => 'women',
	'posts_per_page' => 10,
	'tax_query'      => array(
		array(
			'taxonomy' => 'region',
			'field'    => 'slug',
			'terms'    => $term_slug,
		),
	),
) );
if ( $_posts->have_posts() ) :
	while ( $_posts->have_posts() ) :
		$_posts->the_post();
		get_template_part( 'template-parts/content', 'women' );
	endwhile;
	the_posts_navigation();
else :
	get_template_part( 'template-parts/content', 'none' );
endif;
wp_reset_postdata();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы