Wordpress:如何在未经许可的情况下尝试访问网站时重定向
Wordpress: How to redirect when trying to access a site without permissions
我正在构建一个安装了 wordpress 4.8 和 bbPress 2.5.12 版的社区网站。我还安装了一个名为 Paid Memberships Pro 的插件(以及一个为 bbPress 制作的扩展)来处理我论坛中的权限。
我想添加的是重定向到我网站上的一个页面,这是在没有权限的人点击会员区时发生的。将打开的页面将讲述加入的好处。
Wordpress 本身和会员插件都只允许我插入一个显示的文本,以防有人没有权限试图进入会员区。此文本很小,没有包含足够的信息,我宁愿重定向到另一个页面。
我有两个问题。
首先我不确定我是否愿意在 wordpress 设置或插件设置中更改它。现在插件会覆盖 wordpress 的设置(这意味着如果我在 wordpress 和插件中有两个不同的文本,它会从插件中选择文本)。所以我可以在插件中更改它或者我在 wordpress 中更改它但必须同时告诉 wordpress 读取它自己的文件而不是插件目录中的文件(我会说在插件中更改它更有意义但我想要以确保)。
其次,我不知道如何更改此代码以使其真正进行重定向。我只是破坏了网站,否则什么也没有发生。
如果我转到 bbpress 文件夹中的文件 feedback-no-access.php,它包含以下代码:
<?php
/**
* No Access Feedback Part
*
* @package bbPress
* @subpackage Theme
*/
?>
<div id="forum-private" class="bbp-forum-content">
<h1 class="entry-title"><?php _e( 'Private', 'bbpress' ); ?></h1>
<div class="entry-content">
<div class="bbp-template-notice info">
<p><?php _e( 'You do not have permission to view this forum.',
'bbpress' ); ?></p>
</div>
</div>
</div><!-- #forum-private -->
在成员插件中,我找到以下几行:
/**
* Error Message Option
*/
function pmprobb_option_error_message() {
$options = pmprobb_getOptions();
if(isset($options['error_message']))
$error_message = $options['error_message'];
else
$error_message = "";
?>
<input id='pmprobb_option_error_message' name='pmprobb_option_error_message' size='40' type='text' value='<?php echo esc_attr($error_message);?>' />
<small>This message is shown when users attempt to view a forum or thread they don't have access to.</small>
<?php
}
我试图编辑这第二个代码块,这样它就不会搜索此消息,而是重定向到我想指向的 url。但没有任何结果,我希望有人能帮助我解决这个问题!谢谢
我可以在不更改代码的情况下自己解决它(这对我来说真的不可能,因为我没有足够的知识)。
我找到了一个名为重定向的插件,它工作得很好。每当我单击我无权访问的论坛时,它都会将我重定向到我希望它转到的页面。我不知道这是否是个好习惯,但效果非常好!
我正在构建一个安装了 wordpress 4.8 和 bbPress 2.5.12 版的社区网站。我还安装了一个名为 Paid Memberships Pro 的插件(以及一个为 bbPress 制作的扩展)来处理我论坛中的权限。
我想添加的是重定向到我网站上的一个页面,这是在没有权限的人点击会员区时发生的。将打开的页面将讲述加入的好处。
Wordpress 本身和会员插件都只允许我插入一个显示的文本,以防有人没有权限试图进入会员区。此文本很小,没有包含足够的信息,我宁愿重定向到另一个页面。
我有两个问题。
首先我不确定我是否愿意在 wordpress 设置或插件设置中更改它。现在插件会覆盖 wordpress 的设置(这意味着如果我在 wordpress 和插件中有两个不同的文本,它会从插件中选择文本)。所以我可以在插件中更改它或者我在 wordpress 中更改它但必须同时告诉 wordpress 读取它自己的文件而不是插件目录中的文件(我会说在插件中更改它更有意义但我想要以确保)。
其次,我不知道如何更改此代码以使其真正进行重定向。我只是破坏了网站,否则什么也没有发生。
如果我转到 bbpress 文件夹中的文件 feedback-no-access.php,它包含以下代码:
<?php
/**
* No Access Feedback Part
*
* @package bbPress
* @subpackage Theme
*/
?>
<div id="forum-private" class="bbp-forum-content">
<h1 class="entry-title"><?php _e( 'Private', 'bbpress' ); ?></h1>
<div class="entry-content">
<div class="bbp-template-notice info">
<p><?php _e( 'You do not have permission to view this forum.',
'bbpress' ); ?></p>
</div>
</div>
</div><!-- #forum-private -->
在成员插件中,我找到以下几行:
/**
* Error Message Option
*/
function pmprobb_option_error_message() {
$options = pmprobb_getOptions();
if(isset($options['error_message']))
$error_message = $options['error_message'];
else
$error_message = "";
?>
<input id='pmprobb_option_error_message' name='pmprobb_option_error_message' size='40' type='text' value='<?php echo esc_attr($error_message);?>' />
<small>This message is shown when users attempt to view a forum or thread they don't have access to.</small>
<?php
}
我试图编辑这第二个代码块,这样它就不会搜索此消息,而是重定向到我想指向的 url。但没有任何结果,我希望有人能帮助我解决这个问题!谢谢
我可以在不更改代码的情况下自己解决它(这对我来说真的不可能,因为我没有足够的知识)。
我找到了一个名为重定向的插件,它工作得很好。每当我单击我无权访问的论坛时,它都会将我重定向到我希望它转到的页面。我不知道这是否是个好习惯,但效果非常好!