如何在WordPress中对页面进行密码保护

时间:2017-04-28 作者:php-b-grader

我在这个主题上找到的每一篇文章和帮助文档都集中在WordPress的内置功能上,使用页面->可见性设置,这对于真正的页面保护来说是非常有限和无用的。

我希望员工在我使用Profile Press完成的用户中注册他们自己的个人登录,登录时,我可以将他们重定向到特定页面-很简单。

问题首先出现在人们试图直接访问受保护的页面时,以便解决此问题:

我复制了Page Template 并将其重命名Protected Page Templatefunctions.php:

function check_is_logged_in( ) { global $post; if ( !is_user_logged_in () && get_page_template_slug($post->ID)==\'page-protected.php\' ) : wp_redirect( home_url().\'/log-in/\', 302 ); exit; endif; } add_action( \'get_header\', \'check_is_logged_in\' );

这部分解决了我的问题,因此,如果有人试图直接访问页面,他们会被重定向,现在,我只需将页面模板设置为Protected Page Template - 固定的

但是

现在我已经安装了PressApps知识库插件,我希望它也有密码保护,但是,get\\u page\\u template\\u slug()返回empty 不包括在内。

我是否可以使用和测试其他值来标识页面模板或页面类型?

1 个回复
SO网友:Aishan

模板名称存储在Posteta表中,您可以通过不同的方式识别页面模板,但我会这样做:

1. $template = get_post_meta( $post->ID, \'_wp_page_template\', true );
    echo "Template: " . $template;
2. echo basename( get_page_template() ) 

相关推荐

How to change password

我有一个博客。我的电脑几个月前死机了,我的用户名是admin 我试图恢复我的密码,但由于密码丢失,创建一个新的密码,他们发送了一个巨大的长地址密码,不允许我复制,我只是不知道该怎么办。我最近再次支付了网站托管费用,无法使用我的仪表板。