知言(Tincetion)主题实现特定内容对非VIP或未登录访客隐藏
知言(Tincetion)主题无可厚非是个非常强大的主题,里面有会员积分系统,今天本人就卖弄下,如何实现对特定内容实现非VIP或者未登录隐藏。这个想法不是我的,是一个站长朋友让我帮忙研究下,看了下还是很简单的,下面就是实现方法!
首先,我的想法是,既然知言(Tincetion)主题自带会员功能,肯定有现成的会员判断代码,于是研究了下/wp-content/themes/Tincetion/includes/store/product.php
,果然有段代码:
1 2 3 | <?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 }?> |
既然有现成的,那就很简单咯!
删除部分代码,留下模版,即可!您需要复制的代码为以下代码:
1 2 3 | <?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 }?> |
应用场景:文章下载演示内容
实现方法:
打开/wp-content/themes/Tincetion/includes/download.php
在代码:
1 | <?php if($dlmail==1&&!empty($dlinks)){ ?> |
下面插入:
1 2 3 | <?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> |
即可实现非会员非登录看不到此处的内容!
如果仅仅是对未登录用户实现隐藏。代码如下:
1 2 3 | <?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
的每个下载函数逐一判断!
本文最后更新于2016年6月15日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
原创文章,作者:飞鱼小岛主,如若转载,请注明出处。