当侧边栏在 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('« Previous posts') ?></li>
<li class="page-item"><?php next_posts_link('Next posts »') ?></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 中时,侧边栏分页不显示的主要内容,如果未能解决你的问题,请参考以下文章