最新公告
  • 欢迎您光临站库网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • WordPress不用插件实现文章AJAX点赞、文章点赞排行

    WordPress点赞功能虽然对网站整体的SEO优化意义不大,但是如果很多人给你的文章点赞,那就是说文章得到了更多人的认可,你的文章给别人带来了帮助。

    如果再加上一个文章点赞排行,那么就可以很精准的分析出哪些文章更受用户的欢迎,更了解用户痛点,从而更好的更新出对大家有帮助的文章。

    功能丰富的WordPress点赞插件不少,但是因为这么个小功能使用一个插件,有点不太好,也说不上哪里不好,小编就是觉得不好。
    所以今天站库网给大家带来一份wordpress不用插件实现文章点赞、文章点赞排行的wordpress教程。

    使用教程

    第一步:把下面代码复制到主题的functions.pnp文件内。

    // AJAX点赞
    function dotGood()
    {
    global $wpdb, $post;
    $id = $_POST["um_id"];
    if ($_POST["um_action"] == 'topTop') {
    $specs_raters = get_post_meta($id, 'dotGood', true);
    $expire = time() + 99999999;
    $domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false; // make cookies work with localhost
    setcookie('dotGood_' . $id, $id, $expire, '/', $domain, false);
    if (!$specs_raters || !is_numeric($specs_raters)) update_post_meta($id, 'dotGood', 1);
    else update_post_meta($id, 'dotGood', ($specs_raters + 1));
    echo get_post_meta($id, 'dotGood', true);
    }
    die;
    }
    add_action('wp_ajax_nopriv_dotGood', 'dotGood');
    add_action('wp_ajax_dotGood', 'dotGood');
    

    第二步:把下面代码写进需要添加ajax点赞的文章页面

    <div class="zan ">
    <a href="https://www.zhankw.com/javascript:;" rel="external nofollow"  data-action="topTop" data-id="<?php the_ID(); ?>" class="dotGood <?php echo isset($_COOKIE['dotGood_' . $post->ID]) ? 'done' : ''; ?>">
    <?php echo ($dot_good=get_post_meta($post->ID, 'dotGood', true)) ? $dot_good : '0'; ?>人点赞
    </a>
    </div>
    

    第四部:css美化下点赞按钮。(可以根据自己的喜好修改css样式)

    .zan {}
    .zan a {padding:8px 16px 9px 13px;font-size: 14px;color: #fff;background-color: #fe7f6f;}
    .zan a:hover {background-color: #ed1c24}
    .zan a:hover {color: #fff}
    .zan .count {font-size: 13px;}
    .reward {background-color: #f5a754!important}
    .zan .done {background-color: #ed1c24!important}
    

    第五部:更新文章页面,看看是不是多了一个点赞的按钮呢?

    文章点赞排行

    wordpress AJAX点赞功能已经实现了,接下来实现文章点赞排行。

    实现原理跟获取最新文章、热门文章大同小异,只添加了'meta_key' => 'dotGood' 字段

    <?php
    $args = array(
    'ignore_sticky_posts' => 1,
    'meta_key' => 'dotGood',
    'orderby' => 'meta_value_num',
    'showposts' => 20
    );
    query_posts($args); if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <a href="https://www.zhankw.com/<?php the_permalink(); ?>" rel="external nofollow"  target="_blank"><?php echo mb_strimwidth(get_the_title(), 0, 46,'…'); ?></a>
    <?php endwhile; endif;?>
    

    发表评论

    你的前景,远超我们想象

    选择学么=选择高薪,选择=成功

    • 原创课程

      课程独家原创

    • 零基础

      人人都能轻松入门

    • 注重实战

      轻理论重实战讲实效

    • 高品质

      一对一在线答疑

    • 用心服务

      解除后顾之忧

    • 手机学习

      随时随地轻松学习