最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
WordPress原生的文章AJAX点赞的功能
时间:2022-06-25 18:40:03 编辑:袖梨 来源:一聚教程网
文章AJAX点赞的功能实现原理
通过自定义字段保存赞数量,通过cookies来禁止重复赞.
WordPress不用插件来实现文章AJAX点赞的操作过程
我们直接将下面的代码加入到你的当前主题的 functions.php 中,内容如下:
add_action('wp_ajax_nopriv_specs_zan', 'specs_zan');   
add_action('wp_ajax_specs_zan', 'specs_zan');   
function specs_zan(){   
    global $wpdb,$post;   
    $id = $_POST["um_id"];   
    $action = $_POST["um_action"];   
    if ( $action == 'ding'){   
        $specs_raters = get_post_meta($id,'specs_zan',true);   
        $expire = time() + 99999999;   
        $domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false; // make cookies work with localhost   
        setcookie('specs_zan_'.$id,$id,$expire,'/',$domain,false);   
        if (!$specs_raters || !is_numeric($specs_raters)) {   
            update_post_meta($id, 'specs_zan', 1);   
        }    
        else {   
            update_post_meta($id, 'specs_zan', ($specs_raters + 1));   
        }   
        echo get_post_meta($id,'specs_zan',true);   
    }    
    die;   
} 
然后在您的当前主题的footer.php文件中加入以下代码,这里部落说明一下,是加入js代码:
$.fn.postLike = function() {   
    if ($(this).hasClass('done')) {   
        alert('您已赞过该文章');   
        return false;   
    } else {   
        $(this).addClass('done');   
        var id = $(this).data("id"),   
        action = $(this).data('action'),   
        rateHolder = $(this).children('.count');   
        var ajax_data = {   
            action: "specs_zan",   
            um_id: id,   
            um_action: action   
        };   
        $.post("/wp-admin/admin-ajax.php", ajax_data,   
        function(data) {   
            $(rateHolder).html(data);   
        });   
        return false;   
    }   
};   
$(document).on("click", ".specsZan",   
    function() {   
        $(this).postLike();   
}); 
再接下来,我们在你想显示的地方加入如下代码,推荐加到文章内容尾部.
:;" data-action="ding" data-id="" class="specsZan ID])) echo 'done';?>">喜欢
ID,'specs_zan',true) ){
echo get_post_meta($post->ID,'specs_zan',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}  
到此,所有过程走完,自己去看看效果吧.
相关文章
- 原神幽境危战霜役人打法教学 11-04
 - 超自然行动组最新小抄分享 2025实用攻略技巧汇总 11-04
 - 王者荣耀西施奖励网站在哪进 西施奖励最新网页在线入口 11-04
 - 超自然行动组可用的兑换码有哪些 2025最新有效兑换码领取 11-04
 - 超自然行动组官网入口是什么 超自然官网网页在线充值入口 11-04
 - 我的世界物品怎么一键丢弃 mc快捷键使用指南 11-04