日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > WordPress > WordPress實現(xiàn)文章按最新評論時間排序

WordPress實現(xiàn)文章按最新評論時間排序

來源:程序員人生   發(fā)布時間:2014-01-08 18:06:00 閱讀次數(shù):3616次

WordPress的首頁、分類頁、標(biāo)簽頁等存檔頁,默認是按照發(fā)布時間對文章進行排序的,現(xiàn)在想按最新評論時間排序,其實這個功能就是類似論壇的帖子列表效果,新發(fā)布的帖子置頂,有新評論的帖子也同樣置頂,這樣做的好處是可以增加互動,增加帖子評論數(shù)。在WordPress下也是可以實現(xiàn)這樣的功能:

  • 新發(fā)布(新更改)的文章排在頂部
  • 有新評論的文章立即排到頂部
  • 所有文章按照其最新一條評論的時間排序

實現(xiàn)的方法是給每篇文章添加一個自定義字段commentTime,這個字段的值為最新一條評論的時間,然后使用query_posts函數(shù)實現(xiàn)所有文章按照自定義字段commentTime的值進行排序。實現(xiàn)原理就這么簡單,下面講講具體的實現(xiàn)方法:

一、給所有文章添加自定義字段commentTime

給每篇文章添加這個自定義字段的目的是為了方便對文章進行排序。可能叫你手動一篇一篇文章地添加自定義字段,尤其是你有幾百上千篇文章的情況下,一定會是你抓狂。不過請你放心,我不會讓你用這么做,這里我寫了個PHP腳本,可以幫你自動給所有文章添加字段commentTime。使用方法:下載以下文件,然后上傳到跟wp-config.php相同的目錄(就是WordPress的安裝目錄)下,然后在瀏覽器中運行這個文件,如 http://example/meta-sql.php

下載地址:meta-sql.php

二、添加相應(yīng)action代碼

這一步添加的代碼可以實現(xiàn)發(fā)布新文章(或新更改)、有新評論的時候,自動添加/更新自定義字段commentTime的值,不需要你手動干預(yù)。在你當(dāng)前使用主題的functions.php中添加以下php代碼:

function comment_meta_add($post_ID) {
// 發(fā)布新文章或修改文章,更新/添加commentTime字段值
global $wpdb;
if(!wp_is_post_revision($post_ID)) {
if( !update_post_meta($post_ID, 'commentTime', time()) ) {
add_post_meta($post_ID, 'commentTime', time());
}
}
}

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更改文章排序

如果你只想實現(xiàn)首頁的文章按最新評論時間排序,那么此步只修改主題目錄下的index.php即可,如果還想修改其他存檔頁面如分類頁、標(biāo)簽頁等,那就修改相應(yīng)的模板文件,如archive.php。

舉例說明,在index.php中查找代碼 if (have_posts())while (have_posts()),在上一行添加query_posts函數(shù)即可:

if(!$wp_query)
global $wp_query;

$args = array(
'meta_key' => 'commentTime',
'orderby' => meta_value,
'order' => DESC
);
$args = array_merge( $args, $wp_query->query );
query_posts($args);

對archive.php的修改也一樣!如果對query_posts的用法不熟悉,可以看這篇文章: WordPress函數(shù)query_posts用法匯總。

數(shù)據(jù)庫清理腳本

如果某一天你不想使用這個功能了,你可以下載以下文件幫助你自動清理數(shù)據(jù)庫中的無用信息,放到WordPress的安裝目錄下,然后在瀏覽器中執(zhí)行一下就可以了,如http://example/meta-clear-sql.php

下載地址:meta-clear-sql.php

好了,全部教程到此就結(jié)束了,完成以上步驟后就什么都不用管了,文章就是按照最新評論時間進行排序了。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關(guān)注
欄目熱點
關(guān)閉
程序員人生
主站蜘蛛池模板: 中文字幕 自拍偷拍 | 亚洲一级毛片 | 日日夜夜爽 | 欧美激情18p | 欧美夜夜 | 国产精品视频一区二区免费不卡 | 直接看av的网站 | 日韩在线观看中文字幕 | 毛片在线免费播放 | 欧美日韩免费在线观看 | 久久久久久免费精品一区二区三区 | 黄色一级大片在线免费看产 | 99精品视频在线观看 | av毛片| 精品亚洲精品 | 国产精品久久久久久久va果冻 | 欧美 亚洲 视频 | 国产精品免费观看 | 精品理论电影 | 欧美在线色图 | 操操日 | 国产日韩欧美 | 蜜桃视频一区二区三区 | 欧美激情综合五月色丁香小说 | a在线天堂 | 国产精品久久久久久亚洲伦 | 中文字幕第9页 | 欧美久久一区二区 | 在线一二三区 | 国产精品久久久一区二区三区 | 97国产视频| 久久久国产视频 | 精产国产伦理一二三区 | 久久精品91 | wwwww免费网站上线 | 日韩国产欧美一区二区三区 | 99re在线视频免费观看 | 成人爽a毛片一区二区免费 中文在线视频观看 | 色婷婷视频在线观看 | 成人日韩 | 国产精品卡一卡二 |