雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門教程網(wǎng)!

WordPress

當(dāng)前位置:主頁(yè) > CMS教程 > WordPress >

如何使用wordpress鉤子函數(shù)在發(fā)表文章的同時(shí)添加一條記錄

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-11|欄目:WordPress|點(diǎn)擊:

我要對(duì)文章進(jìn)行排序,按照投票數(shù)的多少排,已經(jīng)投票的都會(huì)記錄投票數(shù),而沒(méi)有投票的文章沒(méi)有記錄,默認(rèn)投票為0,這時(shí)排序就有問(wèn)題了,它先把有記錄的文章進(jìn)行排序,因?yàn)橥镀笨赡苁秦?fù)數(shù),排完了負(fù)數(shù)再排列沒(méi)有投票記錄的文章,這個(gè)時(shí)候就會(huì)出現(xiàn)沒(méi)有投票的文章也就是投票數(shù)為0的排在負(fù)數(shù)的后面,如圖:

 

 

投票記錄表

生成的sql語(yǔ)句: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語(yǔ)句應(yīng)該怎樣寫呢?

解決辦法:
使用wordpress的鉤子函數(shù),在發(fā)表文章的同時(shí)添加一條記錄到投票表不就可以了?

直接上代碼:


復(fù)制代碼
代碼如下:

//發(fā)表文章的同時(shí)插入數(shù)據(jù)到喜歡表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里面。

上一篇:從站外調(diào)用WordPress站內(nèi)文章的實(shí)現(xiàn)方法

欄    目:WordPress

下一篇:wordpress開(kāi)發(fā)之插件開(kāi)發(fā)初識(shí)(wordpress插件開(kāi)發(fā)基礎(chǔ))

本文標(biāo)題:如何使用wordpress鉤子函數(shù)在發(fā)表文章的同時(shí)添加一條記錄

本文地址:http://www.jygsgssxh.com/a1/WordPress/12765.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有