首页 > 解决方案 > 如何在 Wordpress 中查看以后是否有帖子?

问题描述

我的存档页面中有两个按钮,一个返回上个月,另一个前进。问题是,如果某个月份没有帖子,它会破坏网站。有没有办法确定一个月是否有零帖子,如果是,确定下一个月有帖子,以便我可以替换存档中的按钮?

问题是我无法确定下个月或上个月是否在存档中有帖子。如果没有,我想提供一个指向下一个可用月份存档的链接,其中包含帖子。

<div class="btns wide"><a href="/episodes/<?php echo date("Y", strtotime($post->post_date)); ?>/<?php echo date("m", strtotime($post->post_date . "first day of last month")); ?>" class="btn outline blue prev"><i class="fas fa-podcast"></i>Episodes from <?php echo date("F Y", strtotime($post->post_date . "first day of last month")); ?></a>
    <?php
    $next_month = date("F", strtotime("first day of next month"));

    if ($next_month != date("F", strtotime($post->post_date . "first day of next month")))
    {
    ?>
    <a href="/episodes/<?php echo date("Y", strtotime($post->post_date)); ?>/<?php echo date("m", strtotime($post->post_date . "first day of next month")); ?>" class="btn outline blue next"><i class="fas fa-podcast"></i>Episodes from <?php echo date("F Y", strtotime($post->post_date . "first day of next month")); ?></a></div>
    <?php
    } else { ?>
    <?php
    }
    ?>

标签: wordpress

解决方案


像这样解决它:

<?php
   /**** start archive pagination **/
   global $post;
   $monthPaginationInfo = getMonthPaginationInfo($post);
   ?>
   <div class="btns wide <?php if($monthPaginationInfo["next"] == false || $monthPaginationInfo["prev"] == false): ?>end<?php endif; ?>">
     <?php if($monthPaginationInfo["prev"] != false): ?>
     <a href="/episodes/<?php echo $monthPaginationInfo["prev"]["year"]; ?>/<?php echo $monthPaginationInfo["prev"]["month"]; ?>/" class="btn outline blue prev"><i class="fas fa-podcast"></i> Episodes from <?php echo $monthPaginationInfo["prev"]["monthName"]; ?> <?php echo $monthPaginationInfo["prev"]["year"]; ?>
     </a>
     <?php endif; ?>
     <?php if($monthPaginationInfo["next"] != false): ?>
     <a href="/episodes/<?php echo $monthPaginationInfo["next"]["year"]; ?>/<?php echo $monthPaginationInfo["next"]["month"]; ?>/" class="btn outline blue next"><i class="fas fa-podcast"></i> Episodes from <?php echo $monthPaginationInfo["next"]["monthName"]; ?> <?php echo $monthPaginationInfo["next"]["year"]; ?>
    </a>
   </div>
   <?php endif; ?>
   <?php
   /**** end archive pagination **/

推荐阅读