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


本文整理自网络,侵删。

我要对文章进行排序,按照投票数的多少排,已经投票的都会记录投票数,而没有投票的文章没有记录,默认投票为0,这时排序就有问题了,它先把有记录的文章进行排序,因为投票可能是负数,排完了负数再排列没有投票记录的文章,这个时候就会出现没有投票的文章也就是投票数为0的排在负数的后面,如图:

 

 

投票记录表

生成的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

相关阅读 >>

wordpress文章标题链接添加正在加载中提示的方法

wordpress 照片lightbox效果的运用几点

wordpress别名已被其它条目使用的解决方法

wordpress设置友情链接只在首页显示的方法

如何让phpnow支持wordpress静态化链接的方法

wordpress分类目录、标签丢失问题的解决方法

docker一键安装wordpress的方法步骤

wordpress wp_head()函数使页面顶部总空白28px

wordpress中j.parentnode为空或不是对象的解决方法

详解wordpress中简码格式标签编写的基本方法

更多相关阅读请进入《wordpress》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...