我正在使用The7主题。由于我想创建一个NEWS部分来发布最新新闻(除Blog之外,Blog是单独的),因此我使用了Custom Post Type 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查询具有date parameters,可以使用它来解决我的问题。
但是由于该存档页面已经在提取帖子,因此不确定如何应用此功能。还有,如何在URL中传递年份。任何指针将不胜感激。
如果这不是问这个问题的合适论坛,请随时将此线程移至apt论坛。谢谢。