按月获得自定义帖子存档

时间:2013-12-24 09:22:15

标签: wordpress custom-post-type

我想制作一个自定义帖子archieve模板,我将按月显示自定义帖子..

我在archieve.php

中添加了此内容
$args = array( 'post_type' => 'news_letter', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();

    /** Include the post format-specific template for the content. If you want to
     * this in a child theme then include a file called called content-___.php
     * (where ___ is the post format) and that will be used instead.
     */
     get_template_part( 'newletter', get_post_format() );

其中news_letter是我的自定义帖子...由此我得到的所有帖子都没有任何月份排序,这意味着我将在12月份的所有月份发布链接。

制作archieve链接我使用了这个:

<li><?php wp_get_archives(array('type' => 'monthly','order'=>'ASC')); ?></li>

任何帮助都会受到赞赏..

感谢您的时间和分享知识... :)

1 个答案:

答案 0 :(得分:2)

我认为您在创建自定义帖子类型时没有使用'has_archive'参数。

请参阅以下代码以创建自定义帖子类型。

    add_action( 'init', 'create_post_type' );

    function create_post_type() {
        register_post_type( 'news_letter',
            array(
                'labels' => array(
                    'name' => __( 'News Letter' ),
                    'singular_name' => __( 'News Letter' )
                ),
            'public' => true,
            'has_archive' => true,
            )
        );
      }

然后在 archive- {posttype} .php 文件粘贴代码下面:

<?php
get_header();
if(have_posts()) : while(have_posts()) : the_post();
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
endwhile; endif;
get_footer();
?>

如果您有任何疑问,请与我们联系。

感谢。