如何为WordPress分类页面或者标签页面添加点赞功能?

如何为WordPress分类页面或者标签页面添加点赞功能? (https://www.wpzt.net/) WordPress开发教程 第1张

很多站长朋友想要在WordPress主题分类\标签页面增加点赞功能,那么如何为WordPress分类页面或者标签页面添加点赞功能?,我们可以尝试将下面的代码加入到 functions.php:

function wp_term_like( $preifx = null){

global $wp_query;

if(!is_tax() &**p;&**p; !is_category() &**p;&**p; !is_tag()) return ;

$tax = $wp_query->get_queried_object();

$id = $tax->term_id;

$num = get_term_meta($id,’_term_like’,true) ? get_term_meta($id,’_term_like’,true) : 0;

$active = isset($_COOKIE[‘_term_like_’.$id]) ? ‘ is-active’ : ”;

$output = ‘<button class=”button termlike’ . $active . ‘” data-action=”termlike” data-action-id=”‘ . $id . ‘”>’ . $prefix . ‘<span class=”count”>’ . $num . ‘</span></button>’;

echo $output;

}

add_action(‘wp_ajax_nopriv_termlike’,’wp_term_like_callback’);

add_action(‘wp_ajax_termlike’,’wp_term_like_callback’);

function wp_term_like_callback(){

$id = $_POST[‘actionId’];

$num = get_term_meta($id,’_term_like’,true) ? get_term_meta($id,’_term_like’,true) : 0;

$do**in = ($_SERVER[‘HTTP_HOST’] != ‘localhost’) ? $_SERVER[‘HTTP_HOST’] : false; // **ke cookies work with localhost

setcookie(‘_term_like_’.$id,$id,$e**ire,’/’,$do**in,false);

update_term_meta($id,’_term_like’,$num + 1);

echo json_encode(array(

‘status’=>200,

‘data’=> $num + 1,

));

***;

}

创客主机

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

jQuery(document).on(“click”, “.termlike”, function() {

var _self = jQuery(this);

if (_self.hasClass(‘is-active’)) {

alert(‘您已经赞过啦’)

} else {

_self.addClass(‘is-active’);

jQuery.ajax({

url: /wp-admin/admin-ajax.php,//注意你的该文件路径

data: _self.data(),

type: ‘POST’,

dataType: “json”,

success: function(data) {

if (data.status === 200) {

_self.find(‘.count’).HTML(data.data)

} else {

alert(‘服务器正在努力找回自我’)

}

}

})

}

});

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

<?php wp_term_like();?>

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

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容