Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按年代顺序显示Wordpress帖子_Php_Wordpress_Loops_Sorting - Fatal编程技术网

Php 按年代顺序显示Wordpress帖子

Php 按年代顺序显示Wordpress帖子,php,wordpress,loops,sorting,Php,Wordpress,Loops,Sorting,我想按年度对我的帖子进行分类。下面的代码几乎可以完美地工作。 但当前年份(2017年)显示多次,而其他年份仅显示一次(按预期显示)。我不明白这背后的逻辑。谢谢你的帮助 2017 -帖子6 2017 -帖子5 2016 -帖子4 -帖子3 2015 -帖子2 -帖子1 *代码已更新,但仍然存在相同的问题 <?php $starting_year = date('Y'); $ending_year = 2010; while ($starting_y

我想按年度对我的帖子进行分类。下面的代码几乎可以完美地工作。 但当前年份(2017年)显示多次,而其他年份仅显示一次(按预期显示)。我不明白这背后的逻辑。谢谢你的帮助

2017
-帖子6
2017
-帖子5
2016
-帖子4
-帖子3
2015
-帖子2
-帖子1

*代码已更新,但仍然存在相同的问题

    <?php

    $starting_year = date('Y');
    $ending_year = 2010;

        while ($starting_year > $ending_year):

                $args = array( 'post_type' => 'ausstellungen', 'posts_per_page' => 99999, 'cat' => 6, 'year' => $starting_year );
                $loop = new WP_Query( $args );?>

                <?php while ( $loop->have_posts() ) : $loop->the_post();?>

                        <a class="lesetypo medium"><?php the_date('Y');?></a>

                        <li>
                            <?php while ($year =! $year): ?>
                                <div class="hide">
                                <?php $slug =  $post->post_name;?>
                                <p><a href="<?php echo $slug ?>"><?php the_title();?></a></p>
                                </div>
                            <?php endwhile;?>
                        </li>

                <?php endwhile;

        $starting_year--;

        endwhile;
    ?>


您好,我已经更新了您的代码片段,请仔细阅读下面的代码

  $starting_year = date('Y');
    $ending_year = 2010;

        while ($starting_year > $ending_year):

          $args = array( 'post_type' => 'ausstellungen', 'posts_per_page' => 99999, 'cat' => 9, 'year' => $starting_year );
          $loop = new WP_Query( $args );?>
               <a class="lesetypo medium"><?php echo $starting_year;?></a>
                <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

                        <li>
                            <?php while ($year =! $year): ?>
                                <div class="hide">
                                <?php $slug =  $post->post_name;?>
                                <p><a href="<?php echo $slug ?>"><?php the_title();?></a></p>
                                </div>
                            <?php endwhile;?>
                        </li>


                <?php endwhile;

        $starting_year--;

        endwhile;
$start_year=日期('Y');
$END_year=2010年;
而($起始年>$结束年):
$args=array('post\u type'=>'ausstellungen','posts\u per\u page'=>99999,'cat'=>9,'year'=>$start\u year);
$loop=新的WP_查询($args);?>


一个好的答案不仅提供代码,还提供解释。很难看出发生了什么变化以及为什么会这样。我在第二个while循环外调用$starting_year变量,而不是在第二个while循环内调用_date('Y')