1. David Wu首页
  2. WordPress
  3. WordPress安装教程

纯代码给WordPress添加文章点赞功能-WordPress开发教程

实现原理 通过自定义字段保存赞数量,通过cookies来禁止重复赞。 代码部署 将下面代码添加进function.phpadd_action('wp_ajax_nopriv_bigfa_like', &#3

实现原理

通过自定义字段保存赞数量,通过cookies来禁止重复赞。

代码部署

将下面代码添加进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, 'bigfa_ding', 1); 
    }  
    else { 
            update_post_meta($id, 'bigfa_ding', ($bigfa_raters + 1)); 
        } 
    
    echo get_post_meta($id,'bigfa_ding',true); 
     
    }  
     
    die; 
}

将以下代码扔进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>

然后打开你的single.php文件,搜索这段代码<?php the_content(); ?>,在这段代码后面添加以下代码

<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>

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

具体效果

纯代码给WordPress添加文章点赞功能-WordPress开发教程

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/121478

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

邮箱地址不会被公开。 必填项已用*标注