📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    WordPress增加点赞功能

    admin LV20
    2021-08-19 · 3770 阅读
    1、functions:

    [pre]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;
    }[/pre]

    2、JS

    [pre]$(document).ready(function() {
    $.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();
    });
    }); [/pre]

    3、single

    [pre]<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>[/pre]

    4、CSS

    [pre]
    .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}[/pre]



    ""
    还没有人打赏,支持一下
    回复

    举报

     
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服