温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用wordpress钩子函数在发表文章同时添加一条记录的方法

发布时间:2020-08-17 16:27:11 来源:亿速云 阅读:145 作者:小新 栏目:建站服务器

小编给大家分享一下使用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钩子函数在发表文章同时添加一条记录的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI