GET_COMMENT_AUTHER_LINK工作不正常

时间:2013-07-31 作者:user1770896

我有以下片段:

<span><a href="<?php bloginfo(\'url\'); ?>/writer/<?php echo get_comment_author_link(); ?>"><?php echo get_comment_author_link(); ?></a></span>
我正在显示作者的用户名,但这很奇怪,因为它在帖子上效果很好。。。在帖子下方,用户名链接如下/writer/username, 这很好,但在注释下面,用户名链接如下/writer/Username. 例如,一个用户被称为Blackboy 3,而不是在它得到的帖子下面/writer/blackboy-3, 在它得到的评论下面/writer/Blackboy 3. 这就产生了一个问题。。。因为如果有一个帖子叫Blackboy 3, 而不是评论下面的链接让我进入帖子author page.

为什么会这样?我该怎么解决呢?

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

简单的解决方案在您的functions.php

function your_get_comment_author_link () {
    global $comment;

    if ($comment->user_id == \'0\') {
        if (!empty ($comment->comment_author_url)) {
            $url = $comment->comment_author_url;
        } else {
            $url = \'#\';
        }
    } else {
        $url = get_author_posts_url($comment->user_id);
    }

    echo "<a href=\\"" . $url . "\\">" .get_comment_author () . "</a>";
}
如果用户已注册,则将链接到/writer/username, 如果他们不是,它将链接到他们的url或# 如果他们没有提供。

显然,要使用它,您需要在代码中使用它

<span><?php your_get_comment_author_link() ?></span>
摘自Johan在评论中的建议。

结束

相关推荐

Paginate a list of users?

我目前正在使用以下代码显示所有用户的列表。唯一的问题是我需要分页,一次只显示10个用户。我熟悉使用CPT和POST的分页,但不熟悉用户。这可能吗?如果是,我从哪里开始? <?php /** * @package WordPress * @subpackage themename * Template Name: Vendors Page */ get_header(); ?> <?php $