各地市:
郑州网站建设 洛阳网站建设 开封网站建设 安阳网站建设 新乡网站建设 濮阳网站建设 焦作网站建设 鹤壁网站建设 三门峡网站建设 商丘网站建设 许昌网站建设 漯河网站建设 平顶山网站建设 驻马店网站建设 周口网站建设 南阳网站建设 信阳网站建设 济源网站建设 二七区网站建设 中原区网站建设 管城区网站建设 惠济区网站建设 金水区网站建设 上街区网站建设 巩义市网站建设 新密市网站建设 登封市网站建设 荥阳市网站建设 中牟县网站建设 经开区网站建设 高新区网站建设 涧西区网站建设 西工区网站建设 老城区网站建设 瀍河回族区网站建设 洛龙区网站建设 吉利区网站建设 偃师市网站建设 孟津县网站建设 新安县网站建设 洛宁县网站建设 宜阳县网站建设 伊川县网站建设 嵩县网站建设 栾川县网站建设 汝阳县网站建设 杞县网站建设 兰考县网站建设 通许县网站建设 尉氏县网站建设 开封县网站建设 金明区网站建设 顺河回族区网站建设 龙亭区网站建设 鼓楼区网站建设 禹王台区网站建设 安阳县网站建设 林州市网站建设 内黄县网站建设 汤阴县网站建设 滑县网站建设 龙安区网站建设 殷都区网站建设 文峰区网站建设 北关区网站建设 辉县市网站建设 卫辉市网站建设 新乡县网站建设 获嘉县网站建设 原阳县网站建设 延津县网站建设 封丘县网站建设 长垣县网站建设 卫滨区网站建设 红旗区网站建设 牧野区网站建设 凤泉区网站建设 华龙区网站建设 清丰县网站建设 南乐县网站建设 濮阳县网站建设 莘县网站建设 范县网站建设 台前县网站建设
当前位置: 主页 > 建站知识 > 技术支持 > 博客cms >

WordPress 纯代码实现 AJAX点赞功能

发布时间:2017-05-10 22:45 | 发布者:往流科技 | 浏览次数:

wordpress网站里增加访客互动、展示文章热度的时候,除了阅读数、评论数外,还有个有趣的元素,那就是赞,如QQ空间里的说说一样,赞!

以前也发过类似的插件给大家,喜欢用插件的可以进《wordpress 点赞 插件版》,而今天介绍的就是纯代码的形式,不喜欢用插件的朋友会喜欢的方式来实现 wordpress点赞功能

将下面的代码加入到你的functions.php

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();});

在你想显示的地方加入如下代码,推荐加到文章内容尾部

<div?class="post-like">?????????<a?href="javascript:;"?data-action="ding"?data-id="<?php?the_ID();??>"?class="favorite<?php?if(isset($_COOKIE['bigfa_ding_'.$post->ID]))?echo?'?done';?>">喜欢?<span?class="count">????????????<?php?if(?get_post_meta($post->ID,'bigfa_ding',true)?){????????????????????echo?get_post_meta($post->ID,'bigfa_ding',true);?????????????????}?else?{????????????????????echo?'0';?????????????????}?></span>????????</a>?</div>

参考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}