### [如何使用wordpress钩子函数在发表文章的同时添加一条记录](https://www.prosaas.cn/article/9303) **Published:** 2020-01-02T01:30:38 **Author:** 5201314 **Excerpt:** 如何使用wordpress钩子函数在发表文章的同时添加一条记录?本文为大家介绍下如何使用wordpress的钩… ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212132221483.jpg) **如何使用wordpress钩子函数在发表文章的同时添加一条记录?** 本文为大家介绍下如何使用wordpress的钩子函数,在发表文章的同时添加一条记录到投票表,下面是具体的实现,大家不要错过   推荐:《**WordPress教程**》 我要对文章进行排序,按照投票数的多少排,已经投票的都会记录投票数,而没有投票的文章没有记录,默认投票为0,这时排序就有问题了,它先把有记录的文章进行排序,因为投票可能是负数,排完了负数再排列没有投票记录的文章,这个时候就会出现没有投票的文章也就是投票数为0的排在负数的后面,如图:  ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212132221946.png)  ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212132221406.png) 投票记录表  生成的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钩子函数在发表文章的同时添加一条记录的详细内容,更多请关注知企PROSAAS其它相关文章! **Tags:** function, php, sql, WordPress **Categories:** WordPress ---