正如你在我的下一个/上一个链接中所看到的,我在“上一个”之前有一个额外的空间,我似乎找不到它。非常感谢您的帮助:
http://themeforward.com/demo2/?p=1813&page=2
自定义功能:
// Custom Next/Previous Page
add_filter(\'wp_link_pages_args\', \'wp_link_pages_args_prevnext_add\');
/**
* Add prev and next links to a numbered link list
*/
function wp_link_pages_args_prevnext_add($args)
{
global $page, $numpages, $more, $pagenow;
if (!$args[\'next_or_number\'] == \'next_and_number\')
return $args; # exit early
$args[\'next_or_number\'] = \'number\'; # keep numbering for the main part
if (!$more)
return $args; # exit early
if($page-1) # there is a previous page
$args[\'before\'] .= _wp_link_page($page-1)
. $args[\'link_before\']. $args[\'previouspagelink\'] . $args[\'link_after\'] . \'</a>\'
;
if ($page<$numpages) # there is a next page
$args[\'after\'] = _wp_link_page($page+1)
. $args[\'link_before\'] . $args[\'nextpagelink\'] . $args[\'link_after\'] . \'</a>\'
. $args[\'after\']
;
return $args;
}
称之为:
<?php
wp_link_pages(array(
\'before\' => \'<p>\' . __(\'\'),
\'after\' => \'</p>\',
\'next_or_number\' => \'next_and_number\', # activate parameter overloading
\'nextpagelink\' => __(\'Next\'),
\'previouspagelink\' => __(\'Previous\'),
\'pagelink\' => \'%\',
\'echo\' => 1 )
);
?>
最合适的回答,由SO网友:Stephen Harris 整理而成
好吧,事实证明这与WordPress有更多的关系,然后我们意识到。这个wp_link_pages
问题中使用的钩子所在的函数是罪魁祸首,而不是您所做的任何事情。如果您想查看一下,该函数位于post模板中。wp includes目录中的php文件。
“违规”代码位于输出数字的循环中(WP3.3中的第651行):
for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
$j = str_replace(\'%\',$i,$pagelink);
$output .= \' \';//This adds a space before the page number link
if ( ($i != $page) || ((!$more) && ($page==1)) ) {
$output .= _wp_link_page($i);
}
$output .= $link_before . $j . $link_after;
if ( ($i != $page) || ((!$more) && ($page==1)) )
$output .= \'</a>\';
}
如果您真的想绕过它,(我不建议这样做),您可以返回页面列表的html,然后使用
preg_match
并将其移除。
但实际上,数字和a之间应该有一个空格,因此您可能只需要调整CSS,使其看起来正确(如上所述,这些元素周围有一个边距)。