知言(Tincetion)主题实现特定内容对非VIP或未登录访客隐藏

知言(Tincetion)主题无可厚非是个非常强大的主题,里面有会员积分系统,今天本人就卖弄下,如何实现对特定内容实现非VIP或者未登录隐藏。这个想法不是我的,是一个站长朋友让我帮忙研究下,看了下还是很简单的,下面就是实现方法!
u=1148258379,4047574949&fm=21&gp=0

首先,我的想法是,既然知言(Tincetion)主题自带会员功能,肯定有现成的会员判断代码,于是研究了下/wp-content/themes/Tincetion/includes/store/product.php,果然有段代码:

<?php $currency = get_post_meta($post->ID,'pay_currency',true); ?>
<?php $discount_arr = product_smallest_price($post->ID);if($discount_arr[3]==0&&$discount_arr[4]==0){?>
<?php if(getUserMemberType()) { ?><strong><?php if($currency==1)echo '<em>¥</em>'.sprintf('%0.2f',$discount_arr[1]).'<em>(元)</em>'; else echo '<em><i class="fa fa-gift"></i></em>'.sprintf('%0.2f',$discount_arr[1]).'<em>(积分)</em>';?></strong><?php }else if(is_user_logged_in()){echo sprintf(__('非<a href="%1$s" target="_blank" title="开通会员">会员</a>不能享受该优惠','tinection'),tin_get_user_url('membership'));} else {_e('<a href="javascript:" class="user-login">登录</a> 查看优惠','tinection');} ?><?php }?>

既然有现成的,那就很简单咯!
删除部分代码,留下模版,即可!您需要复制的代码为以下代码:

<?php $currency = get_post_meta($post->ID,'pay_currency',true); ?>
<?php $discount_arr = product_smallest_price($post->ID);if($discount_arr[3]==0&&$discount_arr[4]==0){?>
<?php if(getUserMemberType()) { ?><strong>/***次数添加的是需要隐藏的代码或者内容**/</strong><?php }else if(is_user_logged_in()){echo sprintf(__('非<a href="%1$s" target="_blank" title="开通会员">会员</a>不能享受该优惠','tinection'),tin_get_user_url('membership'));} else {_e('<a href="javascript:" class="user-login">登录</a> 查看优惠','tinection');} ?><?php }?>

应用场景:文章下载演示内容
canvas
实现方法:
打开/wp-content/themes/Tincetion/includes/download.php在代码:

<?php if($dlmail==1&&!empty($dlinks)){ ?>

下面插入:

<?php $currency = get_post_meta($post->ID,'pay_currency',true); ?>
<?php $discount_arr = product_smallest_price($post->ID);if($discount_arr[3]==0&&$discount_arr[4]==0){?>
<?php if(getUserMemberType()) { ?><strong>

即可实现非会员非登录看不到此处的内容!
如果仅仅是对未登录用户实现隐藏。代码如下:

<?php $currency = get_post_meta($post->ID,'pay_currency',true); ?>
<?php $discount_arr = product_smallest_price($post->ID);if($discount_arr[3]==0&&$discount_arr[4]==0){?>
<?php if(is_user_logged_in()) { ?><strong>/***添加需要隐藏的内容**/</strong><?php }else if(is_user_logged_in()){echo sprintf(__('非<a href="%1$s" target="_blank" title="开通会员">会员</a>不能查看此处内容','tinection')/**,tin_get_user_url('membership')**/);} else {_e('<p class="jsz-content-ps"><a href="javascript:" class="user-login" style="color: #ff0000;">登录</a> 查看下载内容</p>','tinection');} ?><?php }?>

其实很简单,我们要善于利用主题自带的代码去实现自己想要的效果!万变不离其宗!如果想要对文章特定内容实现隐藏,这里给个思路,使用短代码的方式实现,具体大家自己尝试!也可以使用自定义栏目来触发实现对单一文章实现隐藏!反正只有你想不到,没有你做不到!
上面的代码还是有点问题的,修复方法是对/wp-content/themes/Tincetion/includes/download.php的每个下载函数逐一判断!

技术分享

折腾主题引起的500解决思路

2016-5-30 13:22:45

技术分享

360网站卫士SSL解决方案

2016-6-19 14:06:12

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索

关于我们

技术宅,专注分享,专注技术!分享互联网科技新闻轶事,分享生活小常识,各种数码使用小技巧!互联网的精神本就是分享,我们坚信分享会带来更多的进步!

Copyright © 2020 技术宅 苏ICP备17056378号 苏公网安备32010202010371号 - 查询 31 次,耗时 0.1776 秒 南京市玄武区酷芯壳网络科技中心 提供技术支持 安全联盟认证