
下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。
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['@R_419_6822@_HOST'] != 'localhost') ? $_SERVER['@R_419_6822@_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(); ?>" >喜欢 <span >
<?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}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的纯代码WordPress文章添加点赞功能全部内容,希望文章能够帮你解决纯代码WordPress文章添加点赞功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)