08/13
2024
本站文章标题下面会显示有多少条回复(或显示“无回复”),它是有 URL 的:
上图的链接是我修改后的。之前一直存在的问题是,WordPress 生成的这个链接的末尾是 #comments
,但我使用的这个主题的评论区的 id 不是 comments
,而是 cmt
,所以之前的导航链接并不能起到定位的作用。我怀疑是主题作者图方便所以用了个缩写,但结果却是埋了个坑。
这个链接是 wp-includes/comment-template.php 的 get_comments_link()
生成的:
可以看到,如果这个文章有评论,就在末尾添加 #comments
定位到评论区;如果没有评论,就定位到评论框 #respond
。
要将 #comments
改为 #cmt
,可以在主题的 functions.php 里添加一个钩子,对 get_comments_link
生成的结果进行修改:
// 修改文章标题下的“xx 条回复”的链接末尾的 hash,因为当前主题的评论区 id 是 #cmt
function replace_comment_link( $comment_link ) {
$comment_link = str_replace( '#comments', "#cmt", $comment_link );
return $comment_link;
}
add_filter( 'get_comments_link', 'replace_comment_link', '', 1);
这样就解决了问题。
感觉这个目录的位置可以放在侧栏里,能随时点击,挺方便