1、function添加以下代码 实现收藏的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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、前端页面添加收藏按钮
1 2 3 4 | <!--?php $shoucang1 = explode(',',get_post_meta(get_the_ID(),'shoucang',true)); $shoucang = array_filter($shoucang1); $user = get_current_user_id(); ?--> <a class=""shoucang">$v){if($v==$user){echo "on";}}} ;?>" data-id="<!--?php the_ID();?-->" href="javascript:;"> 收藏 </a> |
3、需要实现收藏功能的前端页面引入js(可以另存为js文件,使用is_single等WordPress的判断后再引入,没必要所有页面都引入,加快访问)
1 |
4、新建一个,在需要显示已收藏的文章的页面引入该php文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <!--?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args=array( 'cat' =--> // 分类ID,如果不需要限定是哪个分类,可以不写这个条件 'showposts' => 16, 'paged' => $paged, ); query_posts($args); if(have_posts()) : while (have_posts()) : the_post(); ?> <!--?php $shoucangmeta1 = explode(',',get_post_meta($id,'shoucang',true)); $shoucangmeta = array_filter($shoucangmeta1); ?--> <!--?php if(in_array(get_current_user_id(),$shoucangmeta)){ ?--> <ul> <li><a class="videolistbox" title="<?php the_title();?>" href="<?php%20the_permalink();?>"> </a> <div class="thumbbox"><!--?php $thumburl = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), array(400,270));?--> <img class="defaultthumb" title="<?php the_title();?>" alt="<?php the_title();?>" /> <i class="videobutton fa fa-caret-square-o-right"></i></div> <h3><!--?php the_title();?--></h3> <div class="videolisttag"><i class="fa fa-calendar" aria-hidden="true"></i> <!--?php the_time('m,d');?--> <i class="fa fa-eye" aria-hidden="true"></i> <!--?php post_views(' ', ' 次'); ?--> <div class="clearfix"></div> </div> <a class="posteditbutton shoucang" data-id="<?php the_ID();?>">取消收藏</a></li> </ul> <!--?php } ?--> <!--?php endwhile; else : ?--> <div class="sp-mod-empty"> <img class="empty-images" src="<?php%20bloginfo('template_directory');%20?>/images/empty.png" /> <p class="empty-txt">您还没有收藏任何内容哦~</p> </div> <!--?php endif;?--> <div class="clearfix"></div> <div class="page_navi text-center"><!--?php par_pagenavi(9); ?--></div> <!--?php wp_reset_query(); ?--> |
原文链接:https://xiaohost.com/3625.html,转载请注明出处。