WordPress极简博客 WordPress极简博客
  • 新鲜事
  • 战疫情
  • UI素材
    • UI素材
    • 电商/节日
    • PPT
      • 节日庆典
      • 工作汇报
      • 商业计划书
    • word
      • 简历竞聘
      • 合同/公文
  • 创客头条
    • 音乐分享
    • 初创文章
    • 极客头条
    • 生活趣事
    • 生活日记
    • 防骗指南
  • 编程教学
    • API日记
    • Linux安全栏目
      • Linux运维安全汇总
      • DDOS攻击防护
      • XSS攻击防护
      • SQL安全防护
    • Python技术栏目
      • Python基础入门
      • Python基础结构
    • WordPress技术栏目
      • WP主题
      • WordPress技术教程
      • RIPRO主题美化
    • WordPress漏洞发布
    • 技术教程汇总
    • 严选源码
  • 专题
  • 基友
  • 隐私
  • 注册
    登录
立即登录
  • 首页
  • 云优化
  • 新疫情
  • 新鲜事
    • 热文
    • 极客
    • 生活
  • 技术篇
    • WP主题
    • 技术教程
    • Python入门
    • Python基础
  • 专题篇
  • 友链君
首页 技术教程(干货) WordPress不用插件实现文章AJAX点赞、文章点赞排行

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

夏柔 4月 19, 2020

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="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;?>

 

2
等 2 人赞过
J2dcg1.png
猜你喜欢
  • Nginx添加跨域限制规则
  • 使用测速脚本对国内Linux服务器进行测速
  • 域名爆破之自动化信息收集脚本
  • 利用免费接口实现国家开放大学刷网课脚本
  • RiProV2定制导航条
  • 判断是否在微信浏览器打开
  • 微信内自动播放音频非百度方案
  • 利用veImageX加速您的网站,想不快都难!
  • SWAPIDC减少注册信息及防刷注册量教学
  • Python实现定时发送每日早报及生活指数
09 2月, 2024
FastCDN系统介绍及搭建教程
夏柔
站长
夏山如碧 - 怀柔天下
1700
文章
25
评论
58145K
获赞
版权声明

文章采用创作共用版权 CC BY-NC-ND/2.5/CN 许可协议,与本站观点无关。

如果您认为本文侵犯了您的版权信息,请与我们联系修正或删除。
投诉邮箱wpsite@aliyun.com

栏目推荐
Python基础入门33
WordPress技术教程267
前沿技术情报所22
城市创新——新消费11
最近有哪些不可错过的热文23
程序员的养生之道0
节
春
  • 新鲜事
  • 疫情实况
  • UI素材
  • 技术教程
  • 音乐分享
  • 专题
  • 友情
  • 隐私
  • 云优化
Copyright © 2019-2025 WordPress极简博客. Designed by 夏柔. 辽公网安备21010502000474号 辽ICP备19017037号-2