WEB主題公園
WordPress原創(chuàng)主題,高端網(wǎng)站模板建站,網(wǎng)站模板建站資源以及開發(fā)知識分享,盡在WEB主題公園
WEB主題公園致力于開發(fā)適合中國人習慣的中文WordPress網(wǎng)站模板,并提供全程視頻教程,讓您能夠輕松的使用網(wǎng)站模板建立好自己的網(wǎng)站!
將wordpress原生評論改造成論壇形式
回看網(wǎng)站出現(xiàn)的最早出現(xiàn)的形式,就是以bbs的形式出現(xiàn)的,即發(fā)一篇文章,可以讓別的用戶回復,這樣一個最初非常簡單的形式,現(xiàn)在得到了眾多擴展,但是所有的網(wǎng)站不管是門戶網(wǎng)站、博客、商鋪等等都可以發(fā)現(xiàn)他們共同的特點,那就是以bbs的最原始方式的多種體現(xiàn)。
所以,今天我們來說一說,如何將wordpress的原生評論機制,作為一個bbs來呈現(xiàn)。
我們的新版官網(wǎng)加入這一功能,可以提供給大家一個提問和交流的社區(qū),那么,我們?nèi)绻枰薷膚ordpress原生評論,需要怎么做呢?
下面我們來看一看論壇的基本形式:
1.注冊用戶可以發(fā)帖2.論壇的排序機制—— 有新評論的文章被頂?shù)降谝恍?br /> 3.可以回帖,最新的回帖在第一行
4.顯示發(fā)帖人和回帖人的信息(頭像、昵稱、描述等)
這樣一看,wordpress的原生評論需要修改的地方就變成如下幾個地方:
1.增加wordpress前端投稿功能
2.改進論壇區(qū)域的文章(帖子)排列機制——按照評論的新舊排列
3.回帖的樣式修改(增加調(diào)用發(fā)帖人-回帖人的頭像、名稱等信息)
說了這么多,小編吧這次官網(wǎng)已經(jīng)改造好的bss頁面截圖發(fā)一些,你就可以清晰的看到和原生評論有所不同的地方了。

改造你的wordpress原生評論為bbs
1.增加前端投稿功能
前端投稿功能,目前的網(wǎng)絡上有很多,具體可以參考露兜博客的一篇文章? wordpress添加投稿功能
利用這篇文章制作一個投稿頁面,這個功能的實現(xiàn)是利用wordpress的一個函數(shù):wp_insert_post?? 插入文章
你可以對其進行改造,默認的功能是會將用戶的用戶昵稱、電子郵件和用戶網(wǎng)站發(fā)送到正文,你可以將這些刪除掉? ,具體可以將“添加表單處理代碼”中的62行(詳見露兜博客博文)
$post_content = '昵稱: '.$name.'<br />Email: '.$email.'<br />blog: '.$blog.'<br />內(nèi)容:<br />'.$content;
修改為:
$post_content = $content;
這樣就可以只輸出正文了
2.改造評論和發(fā)帖人
發(fā)帖人的帖子正文模塊很容易解決,這個模塊和wordpress的文章模塊一樣,不同的是,我們需要調(diào)用作者(發(fā)帖人)的信息,如頭像、發(fā)帖人昵稱、網(wǎng)站、發(fā)貼數(shù)量等等。
下面是調(diào)用作者信息的代碼(php):
get_avatar( get_the_author_email(), 60 );//調(diào)用作者頭像
get_the_author()//作者昵稱
get_author_posts_url( get_the_author_meta( 'ID' )) ; //作者歸檔鏈接
echo the_author_posts();? //發(fā)帖數(shù)量
這樣你就能輕松的調(diào)用好發(fā)帖人(樓主)的信息了
3.評論列表的改造
評論列表的改造也非常簡單,使用wp_list_comments,網(wǎng)上有大量的可使用的列表資料,這里不做闡述
這里我們要說的是,需要判斷一下,是否是樓主回復
function is_author_comment( $comment_ID = 0 ) {
$comment = get_comment( $comment_ID );
$authorid=get_the_author_meta( "id");
$admin_comment = false; //設置一個布爾類型的變量用于判斷該留言的ID是否為樓主(作者)的回復
if($comment->user_id == $authorid){
$author_comment = true;
}
return$author_comment;
}
這段代碼添加進到functions.php中
然后在wp_list_comments中找到一個合適的位置,寫入判斷:
<?php? if (is_author_comment($comment->comment_ID)) :?>
//樓主回復,可以使用圖片,或者文字提示下
<?php endif; ?>
這樣就能夠把樓主的回復和其他人的回復區(qū)分開了。
4.帖子的排序問題
這些問題解決之后,最后解決一下排序的問題,我們想要像論壇一樣,有人頂貼,帖子會被頂起來,這需要使用最后的評論時間來作為判斷
將如下代碼放入functions.php中
function comment_meta_update($comment_ID) {
// 發(fā)布新評論更新commentTime字段值
$comment = get_comment($comment_ID);
$my_post_id = $comment->comment_post_ID;
update_post_meta($my_post_id, 'commentTime', time());
}function comment_meta_delete($post_ID) {
// 刪除文章同時刪除commentTime字段
global $wpdb;
if(!wp_is_post_revision($post_ID)) {
delete_post_meta($post_ID, 'commentTime');
}
}
add_action('save_post', 'comment_meta_add');
add_action('delete_post', 'comment_meta_delete');
add_action('comment_post', 'comment_meta_update');
在論壇列表中,使用query_posts來控制一下文章的輸出:
<?php$posts = query_posts($query_string . '&orderby=meta_value&showposts=10&meta_key=commentTime&order=DESC'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
原理:加入到functions.php中的代碼會再文章發(fā)布時候,自動添加一個自定義字段commentTime記錄評論的時間,有新評論時會自動更新時間。下面使用query_posts? 正是使用這一自定義欄目判斷,來達到頂帖子的效果。
現(xiàn)在,你明白如何利用wordpress制作一個bbs嗎?? 當然,wordpress制作出來的是非常簡單的bbs,小型的社區(qū)也基本上夠用啦,并且,還可以擴展一下他的功能,比如安裝一下會員相關(guān)插件,增加用戶等級,稱號,積分等等,又比如可以增加一個必須要回復才能顯示的內(nèi)容,這些都是可以達到的。
當然,昨天我發(fā)布的一篇文章也許對大家也有用,這里可以附帶再說一下:如果你使用了多說,那么你改造的bbs也會被多說給覆蓋掉,利用之前發(fā)布的代碼,在文章插入時,自動關(guān)閉多說評論即可
在露兜的那篇文章中找到這段代碼:
$status = wp_insert_post( $tougao );
在這段代碼下面添加:
$status = wp_insert_post( $tougao );
add_post_meta($status, 'duoshuo_status', 'disabled');
即可在前端發(fā)布帖子時,自動關(guān)閉多說的評論了。
說了這么多,如果你有興趣可以自己試一試,等到官網(wǎng)更新之后,歡迎來我們的bbs進行討論哦!~
如未標明出處,所有文章均為WEB主題公園原創(chuàng),如需轉(zhuǎn)載,請附上原文地址,感謝您的支持和關(guān)注。
本文地址:http://www.dengyin90.cn/jwordpressysplgzcltxs.html
推薦閱讀
- 2016年11月2日
- 2016年7月18日
- 2013年9月1日
- 2016年9月15日
- 2016年2月4日
- 2015年9月11日
- 2018年10月19日
- 2024年11月14日
- 2012年8月14日




