如何更改POSTS_NAV_LINK();

时间:2018-02-28 作者:DGRFDSGN

我想更改posts\\u nav\\u link()的输出;(或者被指向一个新的方向,这对我来说很好)我想做的是展示<;上一个archivepage |下一个archivepage>即使没有上一个或下一个页面,当前它删除了任何未使用的链接,我希望它仍然显示文本<;上一个,所以我可以用浅灰色调(禁用)希望这有意义。

我已经尝试为我的存档页面创建自定义页面导航,但它不起作用。。

 <h1>custom loop</h1>
 </div>
 <div class="col-md-12">

 <?php 
 $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;

 $args = array(
     \'post_type\'=>\'post\', // Your post type name
     \'posts_per_page\' => 6,
     \'paged\' => $paged,
 );

 $loop = new WP_Query( $args );
 if ( $loop->have_posts() ) {
     while ( $loop->have_posts() ) : $loop->the_post();

              // YOUR CODE
 the_id();
 echo \'<br/>\';
     endwhile;
 ?>
<div class="navigation"><p><?php posts_nav_link(); ?></p></div>

所需输出:

< Previous archivepage | Next archivepage >

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

posts_nav_link() 仅输出get_previous_posts_link()get_next_posts_link() 它们之间有分隔符。有用的是根据两个页面是否都存在来处理分隔符的可见性。因为你总是想在任何一边展示一些东西,所以你不需要它。您可以手动输出下一个和上一个链接,但要检查是否有链接。如果没有,则可以输出一个范围。

看起来是这样的:

if ( get_previous_posts_link() ){
    previous_posts_link( \'Previous\' );
} else {
    echo \'<span aria-hidden="true">Previous</span>\';
}

echo \'|\';

if ( get_next_posts_link() ){
    next_posts_link( \'Next\' );
} else {
    echo \'<span aria-hidden="true">Next</span>\';
}
现在您可以设计<span> 作为非活动链接。

请注意,我使用了aria-hidden="true" 告诉屏幕读者忽略作为辅助功能的非活动“链接”的文本。

SO网友:Johansson

这个posts_nav_link() 函数接受3个参数。

<?php posts_nav_link( $sep, $prelabel, $nextlabel ); ?> 
您可以设置$sep\'|\' 并更改下一个和上一个标签。不需要单独输出来回导航。

结束

相关推荐

Permalinks - Archives

WordPress文档说:WordPress offers you the ability to create a custom URL structure for your permalinks and archives. https://codex.wordpress.org/Settings_Permalinks_Screen 我看到此屏幕将如何为特定帖子/页面创建永久链接,但我没有看到此设置屏幕上关于如何为存档帖子/页面创建链接的任何其他详细信息。有人能澄清一下吗?