下吧资源网_专注精品网站源码下载的网站_免费商业源码分享

WordPress不用插件实现文章AJAX点赞、文章点赞排行

WordPress点赞功能虽然对网站整体的SEO优化意义不大,但是如果很多人给你的文章点赞,那就是说文章得到了更多人的认可,你的文章给别人带来了帮助。
如果再加上一个文章点赞排行,那么就可以很精准的分析出哪些文章更受用户的欢迎,更了解用户痛点,从而更好的更新出对大家有帮助的文章。

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

使用教程

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

// AJAX点赞 functiоn 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=\"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=\"<?php the_permalink(); ?>\" rel=\"external nofollow\" target=\"_blank\"><?php echo mb_strimwidth(get_the_title(), 0, 46,\'…\'); ?></a> <?php endwhile; endif;?>

 

本文链接:https://www.xiaba.cc/html/2059.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

发表评论 共有 0 条评论)

联系客服
网站客服 业务合作 Q交流群
123456789
公众号
公众号
公众号
返回顶部