Wordpress设置某个分类登录可见

一:将某个分类目录所有文章仅登录可见


使用一个插件:Protect pages and categories with login(后台搜索这个插件安装即可)
插件官方地址:https://wordpress.org/plugins/protect-pages-and-categories-with-login/
这个插件可以实现单篇文章或者单个页面仅登录可见,也可以将整个分类仅登录可见。使用方法也简单。
在分类目录的图像描述中,写上如下短代码即可


[sp4ppcl_protect_page_with_login]


这个插件默认的是被加密的分类如果未登录访问的话会直接跳转到登录界面,但有些站长可能想让跳转到一个提示页面,比如:“这个频道仅登录会员可访问哦,赶紧登录吧,然后再配合一个邀请码注册插件完美至极。”那就按照下方提示:


修改插件目录下的文件:
/protect-pages-and-categories-with-login/includes/plugin-class.php,找到如下代码:


auth_redirect();
这个代码共2处存在都要修改。


替换成


global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include( get_query_template( '404' ) );
die();


[tip type="tip success" ]

说明下上面代码里面的404可以修改成任意php文件名,比如我改成了vip,这样在主题目录下创建一个vip.php页面,然后在里面可以任意发挥,我的vip.php代码如下:

[/tip]


<?php get_header(); ?>
<!--上面是页头-->
<!--中间这个代码任意发挥-开始-->
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img src="https://ae01.alicdn.com/kf/Hf281034cb6d245fd97e33c6bd9f57863C.jpg" alt="" class="wp-image-250" width="640" height="400"/><figcaption><a href="/wp-admin">您访问的频道为会员频道,请登录后再访问</a></figcaption></figure></div>
<!--中间这个代码任意发挥-结束-->
<!--下面是页脚-->
<?php get_footer(); ?>


如果是直接通过文章链接访问的也会直接跳转到指定页面。


这个插件启动后,后面无意中发现一个问题。那就是在第二页(其他页没问题),即,https://www.xxx.com/page/2/,也会出现未登录的情况。这是个bug。
我研究了一两个小时,终于搞定了。
方法就是:加一个页码判定。如果是第二页,而不进行登录检测。
同样修改:/protect-pages-and-categories-with-login/includes/plugin-class.php


$paged = get_query_var(‘paged’);
if( has_shortcode( $description, ‘sp4ppcl_protect_page_with_login’)&&$paged!=2 )


红色加粗的部分是添加上去的。这样就解决了问题,暂时还没发现其他bug。


二:个别菜单导航会员登录可见


这用到另外一个插件:If Menu
插件官网地址:https://wordpress.org/plugins/if-menu/
这个插件可以按条件对菜单进行设置可见,比如登录可见,订阅者可见,编辑可见等,都能实现。
使用也很简单:
第1步先勾选Enable visibility rules,然后下拉框里面选择条件,我这里选择:Is logged in即可。


三:隐藏某个分类的文章首页不可见


现在一般的主题都带这个功能,如果没有的话,可以网上搜一下,这个一搜一大把

WordPress

看惯了单色FontAwesome图标,来享受彩色的吧!

2020-3-17 21:12:27

WordPress

WordPress隐藏分类以及文章,登陆可见

2020-3-24 21:46:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索