У меня есть три CPT, которые разделяют категорию (slug = whats-new id = 1373). Я могу заставить страницу архивов (или ‘category-whats-new.php’ или archive.php) показывать ЛИБО только сообщения из этой категории, но каждую дату ИЛИ только сообщения из всех категорий, но конкретные даты. Я хочу, чтобы на моей странице архивов отображались только сообщения из whats-new (из всех post_types), но по дате, поэтому, когда я использую виджет Archive и нажимаю на месяц, будут отображаться сообщения от cat whats-new за этот месяц.
Файл archive.php (и category-whats-new.php) оба имеют:
<?php
if ( have_posts() ) : ?>
<?php
$args = array(
'post_type' => 'any',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'whats-new',
),
),
'date_query' => array(
'year' => '2018',
'month' => date('m'),
)
);
$the_query = new WP_Query( $args );
/* Start the Loop */
while ($the_query -> have_posts()) : $the_query -> the_post();
get_template_part( 'template-parts/archives/whats-new-archives', 'page' );
endwhile;
endif; ?>
И тогда мой файл части шаблона имеет:
<div class="recent-all">
<div class="display-posts-archives">
<ul>
<?php
/* $args = array(
'post_type' => 'any',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'whats-new',
),
),
);
$the_query = new WP_Query( $args ); */
?>
<?php /*while ($the_query -> have_posts()) : $the_query -> the_post();*/
if (have_posts()) {
$post_type = get_post_type( $post->ID );
$art_img = types_render_field("article-image", array("raw"=>"true"));
$doc_img = types_render_field("document-image", array("raw"=>"true"));
?>
<li class="display-post-section">
<?php if($art_img != ''): echo(types_render_field("article-image", array(row =>true))); endif; ?>
<?php if($doc_img != ''): echo(types_render_field("document-image", array(row =>true))); endif; ?>
<a class="display-post-title" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
<span style="font-size: 9px; font-style:italic; color: red;"><?php echo $post_type?></span>
</li>
<?php
}
wp_reset_postdata();
?>
</ul>
Но мой вывод просто показывает все сообщения (ну, большинство из них) в категории, но не сортирует по дате. Мысли?
Задача ещё не решена.
Других решений пока нет …