我有以下片段:
<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
.
为什么会这样?我该怎么解决呢?
最合适的回答,由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在评论中的建议。