!
也想出现在这里? 联系我们
广告位

给WordPress分类\标签页面增加点赞功能

首先说明 WordPress AJAX 给 WordPress 主题分类\标签页面增加点赞功能或者是 WordPress 文章点赞都会给数据库增加表,自 WordPress 4.4 新增了 Term meta,意味着可以像文章点赞一样来实现分类\标签页面增加点赞功能,wordpress 当前把下面的代码加入到 functions.php:

  1. function wp_term_like( $preifx = null){
  2. global $wp_query;
  3. if(!is_tax() && !is_category() && !is_tag()) return ;
  4. $tax = $wp_query->get_queried_object();
  5. $id = $tax->term_id;
  6. $num = get_term_meta($id,'_term_like',true) ? get_term_meta($id,'_term_like',true) : 0;
  7. $active = isset($_COOKIE['_term_like_'.$id]) ? ' is-active' : '';
  8. $output = '<button class="button termlike' . $active . '" data-action="termlike" data-action-id="' . $id . '">' . $prefix . '<span class="count">' . $num . '</span></button>';
  9. echo $output;
  10. }
  11. add_action('wp_ajax_nopriv_termlike','wp_term_like_callback');
  12. add_action('wp_ajax_termlike','wp_term_like_callback');
  13. function wp_term_like_callback(){
  14. $id = $_POST['actionId'];
  15. $num = get_term_meta($id,'_term_like',true) ? get_term_meta($id,'_term_like',true) : 0;
  16. $domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false; // make cookies work with localhost
  17. setcookie('_term_like_'.$id,$id,$expire,'/',$domain,false);
  18. update_term_meta($id,'_term_like',$num + 1);
  19. echo json_encode(array(
  20. 'status'=>200,
  21. 'data'=> $num + 1,
  22. ));
  23. die;
  24. }

AJAX js 代码加入的你的 js 文件中,注意 admin-ajax.php 的路径!

  1. jQuery(document).on("click", ".termlike", function() {
  2. var _self = jQuery(this);
  3. if (_self.hasClass('is-active')) {
  4. alert('您已经赞过啦')
  5. } else {
  6. _self.addClass('is-active');
  7. jQuery.ajax({
  8. url: /wp-admin/admin-ajax.php,//注意你的该文件路径
  9. data: _self.data(),
  10. type: 'POST',
  11. dataType: "json",
  12. success: function(data) {
  13. if (data.status === 200) {
  14. _self.find('.count').html(data.data)
  15. } else {
  16. alert('服务器正在努力找回自我')
  17. }
  18. }
  19. })
  20. }
  21. });

完成以上所有的操作以后,我们开始讲 WordPress 分类/标签页面点赞调用方法:

  1. <?php wp_term_like();?>

在对应归档页面使用下面代码,如在其他地方调用则不会有任何输出。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress主题集成FancyBox图片灯箱

2024-6-5 9:34:17

WordPress教程

WordPress编辑器切换自动转义实体符号

2024-6-14 14:20:40

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索