4

我陷入了深深的困境。请帮助我找到以下解决方案。

我有使用 Woocommerce 插件的 wordpress 网站。通常 Woocommerce 不允许普通用户(客户、用户 - 这些是您可以从 Wordpress 管理区域 > 添加新用户 > 角色中选择的角色)。问题是只有管理员(角色)权限的人有权查看管理区域仪表板和完整设置。

我需要所有用户进入仪表板区域而不重定向到我的帐户页面。因为现在当具有角色客户或类似角色的用户尝试输入管理员的登录凭据时,他们将被重定向到我的帐户页面。只有管​​理员权限角色才能进入仪表板和设置。

于是我在谷歌上搜索,找到了以下链接:

WooCommerce 管理栏和仪表板访问 - 角色编辑器页面链接

我通过在 functions.php 中编写以下代码尝试了以下链接,但现在我看不到管理员设置,请看我以普通用户身份进入时可以看到的屏幕截图。

普通用户登录

我需要所有用户访问才能查看管理区域仪表板和管理区域设置(能够查看帖子、页面、设置等)并且不想重定向到我的帐户页面。

请帮助找到解决方案,因为我为此苦苦挣扎了很长时间。

4

3 回答 3

5

我花了很多时间寻找这个问题的答案,它可以在 prevent_admin_access 函数下的 class-wc-admin.php 文件中找到。

添加以下代码:

add_filter( 'woocommerce_prevent_admin_access', '__return_false' );

到您的函数 PHP 文件,它将阻止它阻止没有:“edit_posts”、“manage_woocommerce”、“view_admin_dashboard”的用户访问仪表板。

为了更好地衡量,您还可以添加它,它会覆盖帐户永久链接作为您的管理页面 - 这可能是相关的。

function my_account_permalink($permalink) {

    return admin_url();
}

add_filter( 'woocommerce_get_myaccount_page_permalink', 'my_account_permalink', 1); 
于 2018-01-19T01:05:45.483 回答
1

正如 LauraTheExplorer 所说,使用这个过滤器:

add_filter( 'woocommerce_prevent_admin_access', '__return_false' );

使用此过滤器还可以启用管理栏:

add_filter('woocommerce_disable_admin_bar', '__return_false');

于 2018-10-16T18:14:59.757 回答
0

可能有另一个插件将用户重定向到WooCommerce我的帐户页面。

对于强大的表单插件和强大的注册插件,如果登录/注销页面设置为我的帐户页面,则可能会发生这种情况。此设置可在强大、全局设置、注册和全局页面下更改登录/注销 - 单击下拉列表并滚动到此列表顶部的空白行。

但是,在您的情况下,您可能有不同的插件来做类似的事情。

于 2017-10-30T10:15:15.073 回答