这个documentation 指定:
类型(字符串)(可选)控制返回值的格式。可能的值包括:
“普通”-链接由换行符分隔的字符串“数组”-分页链接列表的数组,可完全控制显示为了将推特引导分页样式添加到wordpress评论分页中,我希望返回是一个数组。
当我在通话中添加$args时,我得不到任何回报。
我的代码:
<ol class="commentlist" style="list-style: none;">
<?php wp_list_comments(\'type=comment&callback=advanced_comment\'); ?>
</ol>
<div class="clear"></div>
<div class="pagination">
<?php
$args = array(
\'base\' => \'%_%\',
\'format\' => \'?page=%#%\',
\'total\' => 1,
\'current\' => 0,
\'show_all\' => False,
\'end_size\' => 1,
\'mid_size\' => 2,
\'prev_next\' => True,
\'prev_text\' => __(\'« Previous\'),
\'next_text\' => __(\'Next »\'),
\'type\' => \'array\',
\'add_args\' => False,
\'add_fragment\' => \'\'
);
paginate_comments_links($args);
?>
</div>
这是因为我正在使用自定义回调
wp_list_comments
?
我的advanced_comment()
回调:
<?php
function delete_comment_link($id)
{
if (current_user_can(\'edit_post\'))
{
echo \'<a href="\'.admin_url("comment.php?action=cdc&c=$id").\'" class="btn btn-default">del</a> \';
echo \'<a href="\'.admin_url("comment.php?action=cdc&dt=spam&c=$id").\'" class="btn btn-default">spam</a>\';
}
}
function advanced_comment($comment, $args, $depth)
{
$GLOBALS[\'comment\'] = $comment; ?>
<li <?php comment_class(); ?> id="comment-<?php comment_ID() ?>">
<div class="panel panel-default">
<div class="panel-heading"><?php comment_author(); ?> says: <?php echo substr(get_comment_excerpt(), 0, 25) . "..."; ?></div>
<div class="panel-body">
<div class="col-md-1">
<?php echo get_avatar($comment,$size=\'75\',$default=\'<path_to_url>\' ); ?>
</div>
<?php if ($comment->comment_approved == \'0\') : ?>
<em><?php _e(\'Your comment is awaiting moderation.\') ?></em>
<br />
<?php endif; ?>
<div class="comment-text col-md-10">
<div class="comment-meta">
<?php echo get_comment_author_link($comment->ID); ?>
</div>
<small>
<?php printf(__(\'%1$s at %2$s\'), get_comment_date(), get_comment_time()) ?><?php edit_comment_link(__(\'(Edit)\'),\' \',\'\') ?>
</small>
<?php comment_text() ?>
</div>
<div class="btn-group float-right">
<?php echo get_comment_reply_link(array_merge( $args, array(\'depth\' => $depth, \'max_depth\' => $args[\'max_depth\'], \'before\' => "<span class=\'btn btn-default\'>", \'after\' => \'</span>\'))) ?>
<?php delete_comment_link(get_comment_ID()); ?>
</div>
<div class="clear"></div>
</div>
</div>
</li>
<?php
}
请注意:
paginate_comments_links()
如果我不通过,效果很好
$args
.
解决方案:
<ul class="pagination">
<?php
$pages = paginate_comments_links( array( \'echo\' => false, \'type\' => \'array\' ) );
foreach($pages as $page)
{
echo "<li>" . $page . "</li>";
}
?>
</ul>
最合适的回答,由SO网友:Nicolai Grossherr 整理而成
首先要说的是,你不能说你没有被警告过——参见codex页面paginate_comments_links(), 第»节默认值«:
这些论点主要是为了paginate_links()
工作,所以be careful if you change them.
这是真的,paginate_comments_links() 几乎只是一个已经定制的评论版本paginate_links(), 使用这些默认值可以实现此功能:
添加查询参数(\'cpage\',\'%\\%\'),\'format\',\'total\'=>$max\\u页面,\'current\'=>$页面,\'echo\'=>true,\'add\\u fragment\'=>\'注释\'paginate_comment_links() 默认值为paginate_links()
, 这导致评论链接不再工作。如果我看得没错,您要更改的唯一参数是type
, 所以这是你唯一要通过的考试。
像这样:
$args = array(
\'type\' => \'list\'
);
paginate_comments_links( $args );
或:
paginate_comments_links( array( \'type\' => \'list\' ) );