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

作者 : moke 本文共1924个字,预计阅读时间需要5分钟 发布时间: 2020-07-2 共50人阅读

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

 

爱生活,爱陌客
网站源码-PHP网站源码-商业源码分享-免费网站模版下载 » WordPress不用插件实现文章AJAX点赞、文章点赞排行

发表评论

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 1171280855@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者
开通SVIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡