我正在使用 The7 主题。因为我想创建一个 NEWS 部分来发布最新消息(除了博客,它是独立的),我使用自定义帖子类型 UI插件来创建一个名为的自定义帖子类型news
archive.php
我通过复制父主题文件的内容并将其命名为,在我的子主题中创建了一个新文件archive-news.php
,并稍作修改:
<?php
/**
* Archive pages.
*
* @since 1.0.0
*
* @package The7\Templates
*/
defined( 'ABSPATH' ) || exit;
$config = presscore_config();
$config->set( 'template', 'archive' );
$config->set( 'layout', 'masonry' );
$config->set( 'template.layout.type', 'masonry' );
get_header();
?>
<!-- Content -->
<div id="content" class="content" role="main">
<div class="news_years text-center">
<?php for( $i = date('Y'); $i >= 2009; $i-- ) { ?>
<a href="#" class="news_year_btn"><?php echo $i; ?></a>
<?php } ?>
</div>
<?php
//the_archive_description( '<div class="taxonomy-description">', '</div>' );
if ( have_posts() ) {
the7_archive_loop();
} else {
get_template_part( 'no-results', 'search' );
}
?>
</div><!-- #content -->
<?php do_action( 'presscore_after_content' ); ?>
<?php get_footer(); ?>
所以所做的修改是我注释掉了将显示在页面顶部的描述,并添加了年份按钮。
在此之后,当www.mysite.com/news
被访问时,它很好地加载了我的所有news
项目,当单击一个项目时,它也加载了详细页面。而且分页效果也很好,因为它继承了父主题的模板文件。
我面临的问题是,我想让它也显示年度项目。例如,现在,当访问www.mysite.com/news
url 时,它会加载所有带有分页的新闻项目。我想根据特定年份过滤它。这就是为什么我在上面的代码中包含了额外的 FOR 循环。
搜索后,我发现 WP Query 有可以使用的日期参数来解决我的问题。
但是我不确定如何应用它,因为这个存档页面已经在获取帖子。还有,如何在 URL 中传递年份。任何指针将不胜感激。
如果这不是提出这个问题的正确论坛,请随时将此主题移至 apt 论坛。谢谢你。