找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 212|回复: 0

[cms教程] WordPress网站模板纯代码实现 AJAX点赞功能

[复制链接]

该用户从未签到

发表于 2015-6-16 09:17:21 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
wordpress网站里增加访客互动、展示文章热度的时候,除了阅读数、评论数外,还有个有趣的元素,那就是赞,如QQ空间里的说说一样,赞!
        网上也有很多的点赞插件,大家可以去下载,但是呢插件使用起来有点不方便,也不是不方便就是主题给别人用啊什么的如果有插件还要他们自己装,如果集成代码那么就省心多了。
        下面就直接给教程吧
        将下面的代码加入到你的functions.php中就是wordpress主题的函数文件
        add_action('wp_ajax_nopriv_bigfa_like', 'bigfa_like');
        add_action('wp_ajax_bigfa_like', 'bigfa_like');
        function bigfa_like(){
        global $wpdb,$post;
        $id = $_POST["um_id",;
        $action = $_POST["um_action",;
        if ( $action == 'ding'){
        $bigfa_raters = get_post_meta($id,'bigfa_ding',true);
        $expire = time() + 99999999;
        $domain = ($_SERVER['HTTP_HOST', != 'localhost') ? $_SERVER['HTTP_HOST', : false; // make cookies work with localhost
        setcookie('bigfa_ding_'.$id,$id,$expire,'/',$domain,false);
        if (!$bigfa_raters || !is_numeric($bigfa_raters)) {
        update_post_meta($id, 'bigfa_ding', 1);
        }
        else {
        update_post_meta($id, 'bigfa_ding', ($bigfa_raters + 1));
        }
        echo get_post_meta($id,'bigfa_ding',true);
        }
        die;
        }
        JS代码
        $.fn.postLike = function() {
        if ($(this).hasClass('done')) {
        return false;
        } else {
        $(this).addClass('done');
        var id = $(this).data("id")]
        action = $(this).data('action')]
        rateHolder = $(this).children('.count');
        var ajax_data = {
        action: "bigfa_like",
        um_id: id,
        um_action: action
        };
        $.post("/wp-admin/admin-ajax.php", ajax_data,
        function(data) {
        $(rateHolder).html(data);
        });
        return false;
        }
        };
        $(document).on("click", ".favorite",
        function() {
        $(this).postLike();
        });
        在你想显示的地方加入如下代码,推荐加到文章内容尾部
        ">喜欢
        ID,'bigfa_ding',true) ){
        echo get_post_meta($post->ID,'bigfa_ding',true);
        } else {
        echo '0';
        }?>
       
        参考css样式
        .post-like{text-align:center;padding:10px}
        .post-like a{ background-color:#21759B;border-radius: 3px;color: #FFFFFF;font-size: 12px;padding: 5px 10px;text-decoration: none;outline:none}
        .post-like a.done, .post-like a:hover{background-color:#eee;color:#21759B;}
        .post-like a.done{cursor:not-allowed}
        希望大家喜欢,哈哈
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-12-27 17:46

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表