搬码资源网广告位搬码资源网广告位

WordPress纯代码实现文章收藏功能

上面是搬码源码网 abnma.com 经由过程收集网络收拾整顿的代码片断。搬码源码网小编此刻分享给各人,也给各人做个参考。

近来在开发咱们本身的吉他资源平台-乐瑶吉他的时辰,用到了文章保藏的功效,之前做这个功效的时辰都是合用的现成的插件,此次不想用那么多的插件了,以是就间接本身用代码写了一下这个文章保藏功效。起首将上面的代码放到您的 functions.php 文件中。

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,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,implode(",",$shoucang));

exit(json_encode(['msg'=>'已勾销保藏']));

}else{

array_push($shoucang,$user);

update_post_meta($id,$shoucang));

exit(json_encode(['msg'=>'保藏乐成']));

}

}

add_action('wp_ajax_post_shoucang','post_shoucang');

add_action('wp_ajax_nopriv_post_shoucang','post_shoucang');

其次,是在文章页中放进上面的 html 代码(保藏按钮):

<?php

$shoucang1 = explode(',get_post_meta(get_the_ID(),true));

$shoucang = array_filter($shoucang1);

$user = get_current_user_id();

?>

<a class="shoucang <?php if(in_array($user,$shoucang)){ foreach($shoucang as $k=>$v){if($v==$user){echo "on";}}} ;?>" data-id="<?php the_ID();?>" href="javascript:;">

<span>保藏</span>

</a>

样式方面就本身界说吧,此中,假如文章曾经保藏过了,会在保藏按钮的 a 标签上多一个 on 的类,你可以应用这个类界说保藏过的样式。末了,还需求有一段 JS 文件,你可以放到您的 footer.php 中。

<script> $('a.shoucang').click(function(){

var id = $(this).data("id");

$.ajax({

url: "/wp-admin/admin-ajax.php",

type:'post',

dataType:'json',

data:{action:'post_shoucang',id:id},

success: function(data){

layer.alert(data.msg,function(){

location.reload();

});

}

});

});</script>

为了更好的体验后果,保藏乐成以及勾销乐成的动静提醒应用了 layer 这个 jQuery 弹出层插件,以是,您还需求在主题中引进这个框架的文件(下载地址),下载后把整个文件夹放到您的主标题问题录中,然后在主题头部引进 layer.js

经由过程以上要领曾经实现了对文章的保藏及勾销保藏功效(只有登任命户才气保藏)。保藏后各人必定还需求获掏出来每个用户本身保藏的文章的列表,以去应用插件获取保藏列表的时辰样式都是固定的,自界说起来就要改插件,可是应用下面的要领,获取保藏列表的时辰你想铺示什么样的列表就望你本身了。获取要领如下:

<?php

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args=array(

'cat' => 5,// 分类ID,假如不需求限制是哪个分类,可以不写这个前提

'showposts' => 16,

'paged' => $paged,

);

query_posts($args);

if(have_posts()) : while (have_posts()) : the_post();

?>

<?php

$shoucangmeta1 = explode(',true));

$shoucangmeta = array_filter($shoucangmeta1);

?>

<?php if(in_array(get_current_user_id(),$shoucangmeta)){ ?>

<li>

<a class="videolistbox" href="<?php%20the_permalink();?>" title="<?php the_title();?>">

<div class="thumbbox">

<?php $thumburl = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()),array(400,270));?>

<img class="defaultthumb" src="<?php%20echo%20$thumburl[0];?>" alt="<?php the_title();?>" title="<?php the_title();?>">

<i class="videobutton fa fa-caret-square-o-right"></i>

</div>

<h3><?php the_title();?></h3>

<div class="videolisttag">

<span>

<i class="fa fa-calendar" aria-hidden="true"></i>

<?php the_time('m,d');?>

</span>

<span>

<i class="fa fa-eye" aria-hidden="true"></i>

<?php post_views(' ',' 次'); ?>

</span>

<div class="clearfix"></div>

</div>

</a>

<a class="posteditbutton shoucang" data-id="<?php the_ID();?>" href="javascript:;">勾销保藏</a>

</li>

<?php } ?>

<?php endwhile; else : ?>

<div class="sp-mod-empty">

<img src="<?php%20bloginfo('template_directory');%20?>/images/empty.png" class="empty-images">

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

细心望下面的代码,实在就是平凡的轮回获取文章,只不外在轮回中多了个判定,判定以后用户的 id 是否在获取到的文章的”shoucang”这个字段里,假如在则显示进去。

以上是搬码源码网(abnma.com)为你网络收拾整顿的全数代码内容,但愿文章可以或许帮你解决所碰到的步伐开提问题。假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

总结

以上是搬码源码网为你网络收拾整顿的WordPress纯代码完成文章保藏功效全数内容,但愿文章可以或许帮你解决WordPress纯代码完成文章保藏功效所碰到的步伐开提问题。

假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

0
分享到:
搬码资源网广告位

评论0

请先

为了配合净网行动 , 本站下架所有娱乐源码 , 如有疑问 , 请联系站长qq 43233524
没有账号? 忘记密码?