返回的URL中没有分页基础的GET_COMMENT_LINK吗?

时间:2015-04-30 作者:pereyra

在带有分页注释的页面上,get\\u comment\\u link以以下格式返回URL:

http://samplesite.com/sample-page/comment-page-3/#comment-256
我怎样才能让它返回这样的URL?

http://samplesite.com/sample-page/#comment-256

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

奇怪的是,您希望在注释链接没有注释分页基础的情况下使用注释分页。

但您可以尝试以下方法(未经测试):

/**
 * Remove the comments pagination base from comments links
 */

! is_admin() && add_filter( \'get_comment_link\', function( $link, $comment, $args )
{ 
    if( $args[\'per_page\'] )
        $link = sprintf( "%s#comment-%d",
            get_permalink( $comment->comment_post_ID ),
            $comment->comment_ID
        );
    return $link;
}, 10, 3 );
另一种选择是将其替换为以下内容:

$link = preg_replace( \'%comment-page-\\d+/%\', \'\', $link );
可以通过以下方式动态获取基:

global $wp_rewrite;
if ( $wp_rewrite->using_permalinks() )
    $comments_pag_base = $wp_rewrite->comments_pagination_base;

结束

相关推荐

从GET_COMMENTS的参数中排除特定的用户ID

我基本上是在多个页面上使用“最新评论”系统,其中一个特定用户被列为评论的第一个回复(用特殊CSS突出显示),然后在这个“特殊评论”下面列出2-3个普通用户。我希望将特定用户从普通用户列表中排除,但我无法确定。如果HTML有点混乱,很抱歉,但真正重要的是第二个$args数组。<?php $args = array( \'user_id\' => $curauth->ID, \'number\' => 5,