搬码资源网广告位 搬码资源网广告位

纯代码WordPress文章添加点赞功能

下面是搬码源码网 abnma.com 通过网络收集整理的代码片段。搬码源码网小编现在分享给大家,也给大家做个参考。

wordpress 的文章点赞方法很多,而且大多数都是依赖插件和第三方的附属功能。功能丰富的 wordpress 点赞插件不少,但对于要在主题中集成简单文章点赞功能的需求,插件就显得不合适,于是乎非插件实现文章点赞功能的方法就诞生,实现思路是:可以通过 ajax 实时显示点赞数量,自定义字段保存赞数量,Cookies 禁止重新点赞。所以今天分享出来一款非常简洁的纯代码实现 wordpress 主题点赞的功能。而且运用 cookies 有效的解决了重复点赞 bug,下面就是方法:

1. 将下面代码添加进 function.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,1);

}

else {

update_post_Meta($id,($bigfa_raters + 1));

}

 

echo get_post_meta($id,true);

 

}

 

die;

}

2. 将以下代码扔进 footer.PHP 文件

<script type=”text/javascript”>

$.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();

});

</script>

3. 修改 single.PHP 文件,在你想要添加的地方,加入下列代码:

<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,true) ){

echo get_post_meta($post->ID,true);

} else {

echo ‘0’;

}?>

</span>

</a>

现在是不是就已经好了?还没有呢,现在的效果还不好看,添加一段代码就好了,将这段代码扔进 style.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}

以上是搬码源码网(abnma.com)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得搬码源码网网站内容还不错,欢迎将搬码源码网网站推荐给程序员好友。

声明:
本站发布的文章及附件仅限用于学习和研究目的;不得将上述内容用于商业或非法用途,否则后果请用户自负。
本站资源来自网络收集,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
如果您喜欢该程序,请支持正版软件,得到更好的正版服务。
本文链接:https://www.abnma.com/11091.html,转载请注明出处。
如有侵权,请邮件联系我们删除处理。

0
搬码资源网广告位

评论0

请先

没有账号? 注册  忘记密码?