【问题标题】:How to get monthly archive posts in wordpress?如何在 wordpress 中获取每月存档帖子?
【发布时间】:2012-06-27 08:45:05
【问题描述】:

在我的 wordpress 博客中,我可以按月查看所有存档列表。但是点击月份链接后,它不会显示该月份的博客文章。它只是刷新页面。是否有任何 php 文件要添加或运行? 那么如何获取单击存档列表中月份链接的特定月份的所有帖子?

EX:当我点击存档列表中的“六月”链接时,它不会显示六月的帖子。它只是刷新页面

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    默认情况下,wordpress 中安装了存档小部件,您只需将该小部件放在侧边栏中要显示存档帖子的任何位置。

    register_sidebar( array(
            'name' => __( 'Primary Widget Area', 'twentyten' ),
            'id' => 'primary-widget-area',
            'description' => __( 'The primary widget area', 'twentyten' ),
            'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
            'after_widget' => '</li>',
            'before_title' => '<h3 class="widget-title">',
            'after_title' => '</h3>',
        ) );
    

    在您的主题 function.php 中注册一个侧边栏,然后在该侧边栏中分配该小部件。

    这里是主题下archive.php文件的代码

        <?php
    /**
     * The template for displaying Archive pages.
     *
     * Used to display archive-type pages if nothing more specific matches a query.
     * For example, puts together date-based pages if no date.php file exists.
     *
     * Learn more: http://codex.wordpress.org/Template_Hierarchy
     *
     * @package WordPress
     * @subpackage Twenty_Ten
     * @since Twenty Ten 1.0
     */
    
    get_header(); ?>
    
            <div id="container">
                <div id="content" role="main">
    
    <?php
        /* Queue the first post, that way we know
         * what date we're dealing with (if that is the case).
         *
         * We reset this later so we can run the loop
         * properly with a call to rewind_posts().
         */
        if ( have_posts() )
            the_post();
    ?>
    
                <h1 class="page-title">
    <?php if ( is_day() ) : ?>
                    <?php printf( __( 'Daily Archives: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
    <?php elseif ( is_month() ) : ?>
                    <?php printf( __( 'Monthly Archives: <span>%s</span>', 'twentyten' ), get_the_date( 'F Y' ) ); ?>
    <?php elseif ( is_year() ) : ?>
                    <?php printf( __( 'Yearly Archives: <span>%s</span>', 'twentyten' ), get_the_date( 'Y' ) ); ?>
    <?php else : ?>
                    <?php _e( 'Blog Archives', 'twentyten' ); ?>
    <?php endif; ?>
                </h1>
    
    <?php
        /* Since we called the_post() above, we need to
         * rewind the loop back to the beginning that way
         * we can run the loop properly, in full.
         */
        rewind_posts();
    
        /* Run the loop for the archives page to output the posts.
         * If you want to overload this in a child theme then include a file
         * called loop-archive.php and that will be used instead.
         */
         get_template_part( 'loop', 'archive' );
    ?>
    
                </div><!-- #content -->
            </div><!-- #container -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    
    
    archive.php
    

    【讨论】:

    • 在 Widgets ares 中显示“未定义侧边栏”但我制作了 sidebar.php 文件?如何解决?
    • 效果很好。但即使将小部件放在侧边栏中,也不会显示该月下的帖子。它只会刷新未显示的帖子。例如:当我点击存档列表中的“六月”链接时,它不会显示六月的帖子。
    • 我认为您已经更改了主题中的 Archie.php 文件。请分享您的网站网址以防它上线
    • 你能解释一下 Archive.php 的样子吗?有什么特殊的函数可以调用吗?因为网站还没有上线。
    • 我已经用archive.php代码再次编辑了答案
    猜你喜欢
    • 1970-01-01
    • 2015-04-02
    • 2012-08-31
    • 2013-02-09
    • 2011-04-17
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 2014-02-19
    相关资源
    最近更新 更多