0

我正在使用 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/newsurl 时,它会加载所有带有分页的新闻项目。我想根据特定年份过滤它。这就是为什么我在上面的代码中包含了额外的 FOR 循环。

搜索后,我发现 WP Query 有可以使用的日期参数来解决我的问题。

但是我不确定如何应用它,因为这个存档页面已经在获取帖子。还有,如何在 URL 中传递年份。任何指针将不胜感激。

如果这不是提出这个问题的正确论坛,请随时将此主题移至 apt 论坛。谢谢你。

4

0 回答 0