首頁  >  文章  >  CMS教程  >  如何使用wordpress鉤子函數在發表文章的同時新增一筆記錄

如何使用wordpress鉤子函數在發表文章的同時新增一筆記錄

藏色散人
藏色散人原創
2020-01-02 09:30:382462瀏覽

如何使用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裡面。

以上是如何使用wordpress鉤子函數在發表文章的同時新增一筆記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn