如何使用wordpress鉤子函數在發表文章的同時添加一條記錄

如何使用wordpress鉤子函數在發表文章的同時添加一條記錄

如何使用wordpress鉤子函數在發表文章的同時添加一條記錄?

本文為大家介紹下如何使用WordPress的鉤子函數,在發表文章的同時添加一條記錄到投票表,下面是具體的實現,大家不要錯過

? 推薦:《WordPress教程

我要對文章進行排序,按照投票數的多少排,已經投票的都會記錄投票數,而沒有投票的文章沒有記錄,默認投票為0,這時排序就有問題了,它先把有記錄的文章進行排序,因為投票可能是負數,排完了負數再排列沒有投票記錄的文章,這個時候就會出現沒有投票的文章也就是投票數為0的排在負數的后面,如圖:?

如何使用wordpress鉤子函數在發表文章的同時添加一條記錄

?如何使用wordpress鉤子函數在發表文章的同時添加一條記錄

?

投票記錄表?

生成的sql語句:

SELECT?wp_posts.ID?FROM?wp_posts?LEFT?JOIN?wp_wti_like_post?on?wp_wti_like_post.post_id=wp_posts.ID?WHERE?1=1?AND?(?(?post_date_gmt?>?’2013-11-16?12:17:03′?)?)?AND?wp_posts.post_type?=?‘post’?AND?(wp_posts.post_status?=?‘publish’?OR?wp_posts.post_status?=?‘private’)?ORDER?BY?wp_wti_like_post.value?DESC,wp_posts.post_date?DESC?LIMIT?5,?5

sql語句應該怎樣寫呢??

解決辦法:?

使用wordpress的鉤子函數,在發表文章的同時添加一條記錄到投票表不就可以了??

直接上代碼:?

代碼如下:

//發表文章的同時插入數據到喜歡表 function?new_article($post_ID){?global?$wpdb;?$ip?=?WtiGetRealIpAddress();?$query?=?"INSERT?INTO?{$wpdb->prefix}wti_like_post?SET?";?$query?.=?"post_id?=?'"?.?$post_ID?.?"',?";?$query?.=?"value?=?'0',?";?$query?.=?"date_time?=?'"?.?date('Y-m-d?H:i:s')?.?"',?";?$query?.=?"ip?=?'$ip'";?$success?=?$wpdb->query($query);?if($success){?return?$post_ID;?}}add_action('publish_post',?'new_article');

把這段代碼放到主題function.php里面。

以上就是如何使用

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享