具有日期条件的自定义帖子类型存档

时间:2019-05-25 14:44:54

标签: wordpress codex

我正在使用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论坛。谢谢。

0 个答案:

没有答案