Wordpress:尝试访问没有权限的网站时如何重定向

时间:2017-06-30 13:55:20

标签: php wordpress redirect permissions bbpress

我正在建立一个安装了wordpress 4.8和bbPress版本2.5.12的社区网站。我还安装了一个名为Paid Memberships Pro的插件(以及为bbPress制作的扩展程序),用于处理论坛中的权限。

我想添加的内容是重定向到我网站上的某个页面,这个页面发生在没有权限点击成员区域的情况下。将打开的页面将讨论加入的好处。

Wordpress本身和成员插件都只允许我插入显示的文本,以防没有权限的人尝试进入成员区域。此文字很小,并且不包含足够的信息,我更愿意重定向到另一个页面。

我有两个问题。

首先,我不确定是否要在wordpress设置或插件设置中更改此设置。现在插件会覆盖wordpress的设置(意味着如果我在wordpress中有两个不同的文本,那么插件会从插件中选择文本)。所以我可以在插件中更改它,或者我在wordpress中更改它,但必须同时告诉wordpress读取它自己的文件而不是插件目录中的文件(我想说更改它在插件,但我想确保)。

其次,我不知道如何更改此代码,以便它实际重定向。我只是打破了网站,或者根本没有发生任何事情。

如果我转到bbpress-folder中的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 -->

在members-plugin中,我找到以下几行:

/**
 * 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
}

我尝试编辑第二个代码块,以便它不会搜索此消息,而是重定向到我想指向的网址。但没有什么真正有效,我希望有人可以帮助我!谢谢

1 个答案:

答案 0 :(得分:1)

我可以自己解决,而不需要更改代码(因为我没有足够的知识,因此对我来说真的不可能)。

我找到了一个名为重定向的插件,它的工作原理非常好。每当我点击一个我无法访问它的论坛时,我会将我重定向到我希望它去的页面。我不知道这是不是很好的做法,但它完全没问题!