当侧边栏在 single.php 中时,侧边栏分页不显示

Posted

技术标签:

【中文标题】当侧边栏在 single.php 中时,侧边栏分页不显示【英文标题】:Sidebar pagination not shown when sidebar is in single.php 【发布时间】:2019-10-13 06:04:54 【问题描述】:

一个简单的问题。所以我在一个名为sidebar-extra.php 的新文件中创建了一个循环,我通过header.php 将其包含到我的single.php 文件中

问题:当我转到一个帖子(single.php)时,我看不到这个导航,而我可以在我的主页上看到它,其中我还包括sidebar-extra.php

<ul class="pagination">
        <li class="page-item"><?php previous_posts_link('&laquo; Previous posts') ?></li>
        <li class="page-item"><?php next_posts_link('Next posts &raquo;') ?></li>
    </ul>

有什么方法可以确保my sidebar-extra.php 到处都显示帖子导航,包括single.php

编辑.. 看起来是这样的:

在 sidebar.php 中

 <?php 
            // the query
            $the_query = new WP_Query(  array( 'posts_per_page' => 25,
                                               'paged' => $paged
                                                ) ); 
            $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

            if ( $the_query->have_posts() ) : 
            ?>
                <!-- pagination here -->
                <!-- the loop -->
                <?php 
                while ( $the_query->have_posts() ) : $the_query->the_post(); 
                ?>  

在 header.php 中

  <?php get_sidebar() ?>

在single.php中

<?php get_header(); ?>

【问题讨论】:

【参考方案1】:

previous_posts_link()next_posts_link() 适用于包含列表帖子的页面,切换到下一个/上一个帖子集(数量取决于“每页帖子”设置)

要切换到下一个和上一个单个帖子/在单个页面上使用它,您应该使用next_post_link()previous_post_link()

(注意:“post”,而不是“posts”,另见https://codex.wordpress.org/Template_Tags/previous_post_link)

【讨论】:

但究竟如何?我的意思是,侧边栏有一个帖子列表,并且被注入到 single.php 以及其他页面中。我如何确保它将为所有页面提供导航,无论它是 single.php 还是其他东西?我的意思是,如果我按照你告诉我的去做,当我输入 single.php 时,我的侧边栏区域没有导航,仍然...... 啊——我误会你了,对不起!但我认为在侧边栏中不可能有一个“分页”的帖子列表。除了需要将 AJAX 加载到现有 DOM 中的其他事情之外,我认为这些 WP 函数不是为类似的事情而设计的。 嗯。你的意思是这根本不可能?那么,当在通过 header.php 注入 index.php 的侧边栏中设置分页时,它为什么在主页上工作(侧边栏被调用的地方)? 我想知道那是什么样子的? AFAIK,WP 分页仅适用于整个页面,重新加载整个页面。您所描述的宁愿将新内容加载到页面的 part (侧边栏),这只有 AJAX 才有可能。您是否为此使用插件或任何特定脚本? 我已经根据我的使用方式编辑了我的帖子。这没什么特别的,但它让你有一个洞察力......

以上是关于当侧边栏在 single.php 中时,侧边栏分页不显示的主要内容,如果未能解决你的问题,请参考以下文章