來源于:
https://www.yaxi.net/2016-10-13/1083.html
自建博以來已經快兩年了,期間承蒙博友們的支持,最直觀的就是博客文章評論數多了起來。有時候博友之間會有一些互動,互相回復,盡管我的主題開啟了嵌套評論,有時候評論者到底回復給誰還不是那么直觀。筆者參考其他站點給評論列表的新回復增加@原評論者昵稱功能,可能很多主題都已經集成了,但是筆者還是想分享一下,萬一有人需要呢?
參考了幾個教程,最終摘錄了?@露兜?的代碼,在此表示感謝!
代碼有兩種,第一種啟用后會將@評論者 寫入數據庫,也就是說數據庫中每一條評論內容前面會有@評論者 字段,你在后臺就能看到;第二種是不寫入數據庫的,即只在網站前臺評論列表顯示@評論者 ,而后臺的評論內容是沒有的。
代碼一
// 評論添加@
function?wp_comment_add_at(?$commentdata?)?{
if(?$commentdata['comment_parent']?>?0)?{
$commentdata['comment_content']?=?'@<a href="#comment-'?.$commentdata['comment_parent']?.?'">'.get_comment_author($commentdata['comment_parent']?)?.?'</a> ':?.?$commentdata['comment_content'];
}
?
return?$commentdata;
}
add_action(?'preprocess_comment'?,?'wp_comment_add_at',?20);
代碼二
// 評論添加@
function?wp_comment_add_at(?$comment_text,?$comment?=?'')?{
if(?$comment->comment_parent?>?0)?{
$comment_text?=?'@<a href="#comment-'?.?$comment->comment_parent?.'">'.get_comment_author(?$comment->comment_parent?)?.?'</a>: '?.?$comment_text;
}
return?$comment_text;
}
add_filter(?'comment_text'?,?'wp_comment_add_at',?20,?2);
使用方法:將代碼一或者代碼二直接放入function.php就可以了。
效果如下:
兩段代碼各有優勢,代碼一寫入數據庫,就算你更換了主題模板,曾經加過@評論者的評論也依然會顯示;代碼二更換主題模板后,就沒有@評論者效果了;但是代碼二不寫入數據庫,在一定程度上能夠減輕數據庫的壓力,故筆者推薦代碼二,大家根據自己情況進行選擇。