如何显示按年份排序的所有帖子

时间:2017-10-05 作者:Juan

我想显示所有以年份分隔的帖子。就像那样。

2017

<2017年12月1日后7月2日后3月25日后

2016

<12月25日后,7月14日后,3月31日后,我实际拥有的代码与我想要的完全不同,因为在尝试之后,很多可能性都不起作用。顺便说一句,我在这里输入了我的实际情况。一个循环,包含标题、摘录、日期、标签、作者和阅读更多内容的链接。我只想保留帖子的名称、日期和阅读更多内容的链接。正如我之前解释的那样,这些帖子是按年份分开的。

<!-- language: lang-php --> 

<?php if( have_posts() ) : while ( have_posts() ) : the_post();  ?>
  <article class="">
  <div class"">
  <h2 class=""><a class="" href="<?php the_permalink();  ?>"><?php the_title();  ?></a></h2>
  <p>
  <span class=""> <small class=""></span> <?php comments_number( \'sin comentarios\', \'un comentario\', \'% comentarios\' ); ?></small>
  <span class=""> </span><small class=""> <?php the_date(); ?> </small>
      </p>
      </div>
      <?php the_post_thumbnail("medium") ?>
      <div class=""><?php the_excerpt(); ?></div>
      <div class="">
        <br>
        <small>Por: <?php the_author(); ?> </small>
        <small><?php the_author_meta("description"); ?></small>
      </div>
      <a class="" href="<?php the_permalink() ;?>">Seguir Leyendo</a>
    </article>
    <div class=""></div>
<?php endwhile; else : ?>
<?php endif; ?>
<p><?php get_the_posts_pagination() ?></p>
<P class=""><?php echo paginate_links( $args ); ?></P>

2 个回复
最合适的回答,由SO网友:socki03 整理而成

您需要添加一个if语句current循环来打印文章周围的年份容器。

<?php if( have_posts() ) : ?>

    <?php $current_year = date(\'Y\'); // Get the current year and set it

    $first = true; // Set a $first variable;

    while ( have_posts() ) : the_post();

        if ( $first || get_the_date(\'Y\') != $current_year ) :

            if ( !$first ) :

                // Not first, so close previous year container 
                echo \'</div><!-- .year-\' . $current_year . \' -->\';

            else :

                // Is first, so set $first to false
                $first = false;

            endif;

            // Set the new $current_year
            $current_year = get_the_date(\'Y\');

            // Print out new year container
            echo \'<div class="year year-\' . $current_year . \'">\' .
                     \'<div class="year-header">\' . $current_year . \'</div>\';

        endif; ?>

        <article>
            {{ Article Content Goes Here }}
        </article>

    <?php endwhile; ?>

    <?php // Close the last year container created by our while loop.
    echo \'</div><!-- .year-\' . $current_year . \' -->\'; ?>

<?php else : ?>

<?php endif; ?>
{{ Pagination Goes Here }}
只需记住将代码中的注释替换为实际的文章&;使用实际代码分页。

SO网友:carteruk

看看这篇文章:

http://alex.leonard.ie/2010/07/27/wordpress-tip-get-the-date-of-your-first-post/

使用函数获取第一个或最后一个帖子年份,并将其作为字符串添加到帖子页面。

192.168.0.16/wordpress。示例/blog/functionDateFirstPost()/?订单=12月

结束

相关推荐

回应最新的Sticky Post in Loop?

我希望在内容循环中回应最新的帖子。只有1个帖子。我是否需要在以下代码中添加某种参数:if (have_posts()) : while (have_posts()) : the_post(); the_content(); endwhile; endif; 我该怎么做?