WP-链接-帖子页眉和页脚中的页面

时间:2013-08-20 作者:Robert Ramsey

我想工作的wp\\u链接\\u网页功能一点。

在从第二页开始的帖子的标题中,我想有一个到前一页的链接,

Continued from page 1
其中1是上一页的编号,如果是第一页,则不会显示任何内容。

在帖子的页脚,我希望他们像这样出现:

<< Previous Page | 1 | 2 | 3 | 4 | Next Page >> 
并且不应链接当前页码。

谢谢

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

对于页眉,首先您必须知道如何检索当前页面,这是由

get_query_var(\'page\')
知道了这一点,写下你想要的东西很容易。如果要正确链接上一页,可能有点困难。在这种情况下,您必须使用wordpress的内部功能,_wp_link_page:

$now = get_query_var(\'page\');
if  ( $now > 1 ) {
  $prev = $now-1;
  $anchor =  sprintf( __(\'Continued from page %d\'), $prev );
  $prev_link = _wp_link_page( $prev ) . $anchor . \'</a>\';
  echo \'<p>\' . apply_filters( \'wp_link_pages_link\', $prev_link, $prev ) . \'</p>\';
}
页脚的Codex 对于wp_link_pages 您知道此函数的行为通常显示页码or 显示下一个和上一个链接,而不是同时显示所需的两个链接。对我来说,解决方案是创建一个自定义版本的函数,将下一个代码放入functions.php:

function wp_link_pages_customized() {
  global $page, $numpages, $multipage;
  if ( $multipage ) {
    $output = \'\';
    $prev =  ( $page < 2 ) ? false : _wp_link_page( $page-1 ) . __(\'&laquo; Previous page \') . \'</a>\';
    $next =  ( $page == $numpages ) ? false : _wp_link_page( $page+1 ) . __(\'Next page &raquo;\') . \'</a>\';
    for ( $i = 1; $i <= $numpages; $i++ ) {
      if ( $i != $page ) {
        $output .= _wp_link_page( $i ) . $i . \'</a> | \';
      } else {
        $output .= $i . \' | \';
      }
    }
    if ( $prev ) $output = $prev . \' | \' . $output;
    $output = ( $next ) ? $output . $next : rtrim($output, \'| \');
    echo $output;
  }
}
然后,在页脚模板中,只需像这样使用:

<p><?php wp_link_pages_customized(); ?></p>

结束

相关推荐

Pre_Get_Posts在POST类型的存档中工作,但在单个POST中不起作用

我有一个自定义的帖子类型“学者”,它有一个档案。我想按一个名为“year”的自定义元字段进行排序,我正在使用pre_get_posts:add_action(\'pre_get_posts\', \'my_queries\'); function my_queries($query) { if (!$query->is_main_query()) return; if ($query->query[\'post_type\'] == \'sch