WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Рекомендуемые продукты со скидкой от Template Monster

Таксономии

Создал файл taxonomy.php

На этой странице должны выводиться все посты у которых добавлена одинаковая таксономия.

            <div id="primary" class="eight columns portfolio-list">
				<div id="portfolio-wrapper" class="bgrid-halves cf">

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

						<!-- начало работы -->
						<div class="columns portfolio-item">
							<div class="item-wrap">
								<a href="<?php the_permalink(); ?>">
									<?php the_post_thumbnail(); ?>
									<div class="overlay"></div>
									<div class="link-icon"><i class="fa fa-link"></i></div>
								</a>
								<div class="portfolio-item-meta">
									<h5><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></h5>
									<p><?php the_excerpt(); ?></p>
								</div>
							</div>
						</div>
						<!-- конец работы -->

					<?php endwhile; else : ?>
						<p>Записей нет.</p>
					<?php endif; ?>

				</div>
			</div> <!-- primary end-->

Визуально это выглядит так:

У меня вопрос. Почему выводится только 2 поста, когда с данной таксономией у меня 3 поста? Куда-то один пост подевался.

Спасибо заранее.

Заметки к вопросу:
Maestro 2 мес назад

Если вы дополнительно не делаете запрос в базу данных все должно работать. Позволю себе предположить что к 3 посту вы не прикрепили картинку. Или же используете какой то кривой фильтр.

Ну и ссылка в помощь )

Попробуйте перед цыклом сделать запрос:

<?php
	$posts = new WP_Query([
		'post_type'         => 'Тип записи',
		'posts_per_page'    => -1,
		'tax_query'         => [
			[
				'taxonomy' => 'Ваша такса',
				'field'    => 'Поле таксы берем',
				'terms'    => 'Категория',
				'operator' => 'AND',
			],
		],
	]);
?>

Вместо этого:

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

Юзать это:

<?php if ( $posts->have_posts() ) : while ( $posts->have_posts() ) : $posts->the_post(); ?>

После цыкла обязательно:

<?php
	wp_reset_postdata();
?>
0
pavliggs
2 месяца назад 2

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация