WordPress实现点击按钮收藏功能,并在个人中心显示已收藏文章

作者: 站长 上传时间: 浏览: N/A 下载: N/A 格式: N/A 评分: N/A

1、function添加以下代码 实现收藏的函数

function post_shoucang(){
if(!get_current_user_id()){
exit(json_encode(['msg'=>'请先登录才能收藏哦!']));
}
$id = $_POST["id"];
$meta = get_post_meta($id,'shoucang',true);
$shoucang1 = explode(',',get_post_meta($id,'shoucang',true));
$shoucang = array_filter($shoucang1);
$user = get_current_user_id();
if(in_array($user,$shoucang)){
foreach($shoucang as $k=>$v){
if($v==$user){
unset($shoucang[$k]);
}
}
update_post_meta($id, 'shoucang', implode(",",$shoucang));
exit(json_encode(['msg'=>'已取消收藏']));
}else{
array_push($shoucang,$user);
update_post_meta($id, 'shoucang', implode(",",$shoucang));
exit(json_encode(['msg'=>'收藏成功']));
}
}
add_action('wp_ajax_post_shoucang','post_shoucang');
add_action('wp_ajax_nopriv_post_shoucang','post_shoucang');

2、前端页面添加收藏按钮

$v){if($v==$user){echo "on";}}} ;?>" data-id="" href="javascript:;">
收藏

3、需要实现收藏功能的前端页面引入js(可以另存为js文件,使用is_single等WordPress的判断后再引入,没必要所有页面都引入,加快访问)
[cc]

[/cc]

4、新建一个,在需要显示已收藏的文章的页面引入该php文件

// 分类ID,如果不需要限定是哪个分类,可以不写这个条件 'showposts' => 16, 'paged' => $paged, );
query_posts($args); if(have_posts()) : while (have_posts()) : the_post(); ?>


您还没有收藏任何内容哦~