设置分类权限给不同级别会员

文章可以单独给不同级别设置不同权限以此来达到营收或者流量等方式,但过于繁琐,每篇文章都需要设置,能不能直接设置几个分类来实现呢?

如下所说:

分类0加入游客可见权限

分类1加入登录查看权限(兼容游客)

分类2加入登录,黄金会员查看权限(兼容游客、登录)

分类3加入登录,黄金会员、钻石会员查看权限(兼容游客、登录、黄金会员)

可以实现:目前以提出需求,看老唐愿不愿意弄吧,不愿意弄可以先按照我的方法来试试:

先看效果图:

1,未登录状态访问黄金会员和钻石会员类目提示:

微信图片_20220111182234.png

2,登录状态(但不是会员)访问黄金会员和钻石会员类目提示:

222.png

3,登录状态,已充值为黄金会员访问钻石会员界面提示:(访问黄金会员权限类目就没必要展示了已经正常访问了)

微信图片_20220111182601.png

 

OK!接下来看教程

不啰嗦,直接走教程:

1,首先设置好分类,记住分类ID

2,在functions.php里添加如下代码:

3,在主题根目录里添加2个PHP文件,名字分别命名为111.php222.php

111里面的代码设置为:

<?php get_header(); ?>
        <div class="container-fluid container-footer">
        <center><div class="wp-block-image"><figure class="size-large is-resized"><img src="/svg/stop.svg"  width="10%" height="10%"/></figure></div><center>
                    <!--未登录提示-->
                     <?php if (!is_user_logged_in()){
                         echo ' <div class="mb20 wp-posts-content"><div class="hide-post mt6"><div class=""><button><span><i class="fa fa-unlock-alt mr6"></i>未授权!该区域需要登录!</span><div class="liquid"></div></button></div>';
                        echo '<div class="flex jc" style="min-height:30vh;">';
                        echo zib_get_nocan_info($cuid, 'watermark', '你还没有登录');
                        echo '</div>';
                    }?>
                     <!--会员1级以下提示-->
                    <?php if (is_user_logged_in() && zib_get_user_vip_level($vip_level)<1){ 
                    echo '<div class="mb20 wp-posts-content">
                    <div class="hide-post mt6">
                    <div class="">
                    <i class="fa fa-unlock-alt mr6"></i>权限不足</div><div class="text-center em09 mt20"><p class="separator muted-3-color mb20">以下用户组可使用</p><p><a class="but mm3 pay-vip" vip-level="1" href="javascript:;"><img class="img-icon mr6 em12 ls-is-cached lazyloaded" src="/wp-content/themes/zibll/img/vip-1.svg" data-src="/wp-content/themes/zibll/img/vip-1.svg" data-toggle="tooltip" title=""  data-original-title="正式工">正式工及以上级别(点击升级)</a></p>
                    </div>
                    </div>                       
                    <div data-quantity="1" data-radius="false" style="text-align:center" class="wp-block-zibllblock-buttons"><span class="an_1 but jb-yellow">赞助商介绍<a href="http://about" data-type="URL" data-id="about" target="_blank" rel="noreferrer noopener"></a>商介绍</span></div>
                       </div>';
                    } ?>
          </div>
        <?php get_footer(); ?>

222里面的代码设置为:

<?php get_header(); ?>
            <div class="container-fluid container-footer">
                
            <center><div class="wp-block-image"><figure class="size-large is-resized"><img src="/svg/stop.svg"  width="10%" height="10%"/></figure></div><center>
                    <!--未登录提示-->
                     <?php if (!is_user_logged_in()){
                         echo ' <div class="mb20 wp-posts-content"><div class="hide-post mt6"><div class=""><button><span><i class="fa fa-unlock-alt mr6"></i>未授权!该区域需要登录!</span><div class="liquid"></div></button></div>';
                        echo '<div class="flex jc" style="min-height:30vh;">';
                        echo zib_get_nocan_info($cuid, 'watermark', '你还没有登录');
                        echo '</div>';
                    }?>
                    
                    
                     <!--会员1级以下提示-->
                    <?php if (is_user_logged_in() && zib_get_user_vip_level($vip_level)<2){ 
                    echo '<div class="mb20 wp-posts-content">
                         <div class="hide-post mt6">
                         <div class=""><i class="fa fa-unlock-alt mr6"></i>权限不足</div>
                         <div class="text-center em09 mt20">
                           <p class="separator muted-3-color mb20">以下用户组可使用</p><p><a class="but mm3 pay-vip" vip-level="1" href="javascript:;"><img class="img-icon mr6 em12 ls-is-cached lazyloaded" src="/wp-content/themes/zibll/img/vip-2.svg" data-src="/wp-content/themes/zibll/img/vip-2.svg" data-toggle="tooltip" title=""  data-original-title="董事会">董事会及以上级别(点击升级)</a></p>
                       </div>
                       </div>
                       <div data-quantity="1" data-radius="false" style="text-align:center" class="wp-block-zibllblock-buttons"><span class="an_1 but jb-yellow">赞助商介绍<a href="http://about" data-type="URL" data-id="about" target="_blank" rel="noreferrer noopener"></a>商介绍</span></div>
                       </div>
                       ';
                     
                    } ?>
          </div>
                    <?php get_footer(); ?>

最后就搞定了!简单明了,可能会出现CSS错乱等现象,看着调试就行了,这个想必很简单。

该教程适用其他主题,只要改zib_get_user_vip_level($vip_level)<1)这个为对应的就行了。

注意事项:

以上级别对应的是黄金会员或钻石会员以及登录状态,子比主题里有账号等级之分,这个是评论等提示出来的,如果需要这样的级别来区分的话,只需要改下里面的级别识别代码就行了。

觉得不错的赞助个万儿八千的吧O(∩_∩)O哈哈~!!

个别内容来自https://www.zibll.com/forum-post/3593演变,感谢该作者分享。

对老唐来讲就是跟添加分类的时候加个开关的事,小菜一碟,期待早日加入主题选项!

我的演示站就不发了, 0访客多几个也没啥用,建议大家给需求加加分,让老唐早日提上日程:https://www.zibll.com/forum-post/3778

请登录后发表评论