使用wordpress钩子函数在发表文章的同时添加一条记录 | 张恒镭的博客

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

时间:13-12-20 栏目:网站建设 作者: 评论:0 点击: 2,223 次

我要对文章进行排序,按照投票数的多少排,已经投票的都会记录投票数,而没有投票的文章没有记录,默认投票为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里面。 原文地址:http://www.cnblogs.com/tanteng/p/3440934.html

声明: 本文由( )原创编译,转载请保留链接: 使用wordpress钩子函数在发表文章的同时添加一条记录

使用wordpress钩子函数在发表文章的同时添加一条记录:等您坐沙发呢!

发表评论




------====== 本站公告 ======------
欢迎关注我的博客。

其他