Woocommerce 自定义角色重定向到商店登陆页面

Woocommerce Custom Role Redirects to Shop Landing Page

大家好,我创建了一个非常简单的 'order_manager' 角色,应该只能查看和编辑订单。代码如下:

// Add a custom Order Manager

add_role(
    'order_manager',
    __( 'Order Manager' ),
    array(
        'read_shop_order'   => true,  
        'edit_shop_order'   => true,
    )
);

我可以在管理面板中分配这个角色并且这个人接受了邀请,但是当他们去登录时,它会将他们重定向到站点的登录页面('/' 路由)!我从 https://www.role-editor.com/woocommerce-view-edit-orders/ 中获取 $capabilities 并避免使用任何插件 :) 我将 link 中的图片放大为 "Orders",他们列出了所有订单类型,并进行了自定义用户直接从那里。我还在隐身模式下完成了此操作,删除了用户并重新添加了他们,并通过管理面板将用户从任何现有会话中注销。

EDIT 我已经在两个电子邮件地址中确认了这种行为。新用户和当前用户的角色变化。我还在角色中添加了 'read' => 'true' 。仍然将 302 转到商店的主页(不是管理面板)

编辑 2 看起来这些是错误的 $capabilities,让他们可以访问管理面板中的订单。我只是让他们能够查看自己的未结订单……任何人都知道让他们在管理仪表板中查看订单的正确功能吗? :)

编辑 3 我 运行 将以下内容通过管道传递给管理员屏幕

$data = get_userdata( get_current_user_id() );

if ( is_object( $data) ) {
    $current_user_caps = $data->allcaps;

    // print it to the screen
    echo '<pre>' . print_r( $current_user_caps, true ) . '</pre>';
}

所以这吐出了 woocommerce 的所有管理员角色。我现在的问题是如何更轻松地获取这些数据?是否有像 place WP 这样的终端可以回显响应?这太丑了,在我的管理页面(然后更新 functions.php)又消失了。你怎样才能最大限度地减少那里的周期?

将来,woocommerce 中的所有管理员权限都是:

Array
(
    [switch_themes] =>; 1
    [edit_themes] =>; 1
    [activate_plugins] =>; 1
    [edit_plugins] =>; 1
    [edit_users] =>; 1
    [edit_files] =>; 1
    [manage_options] =>; 1
    [moderate_comments] =>; 1
    [manage_categories] =>; 1
    [manage_links] =>; 1
    [upload_files] =>; 1
    [import] =>; 1
    [unfiltered_html] =>; 1
    [edit_posts] =>; 1
    [edit_others_posts] =>; 1
    [edit_published_posts] =>; 1
    [publish_posts] =>; 1
    [edit_pages] =>; 1
    [read] =>; 1
    [level_10] =>; 1
    [level_9] =>; 1
    [level_8] =>; 1
    [level_7] =>; 1
    [level_6] =>; 1
    [level_5] =>; 1
    [level_4] =>; 1
    [level_3] =>; 1
    [level_2] =>; 1
    [level_1] =>; 1
    [level_0] =>; 1
    [edit_others_pages] =>; 1
    [edit_published_pages] =>; 1
    [publish_pages] =>; 1
    [delete_pages] =>; 1
    [delete_others_pages] =>; 1
    [delete_published_pages] =>; 1
    [delete_posts] =>; 1
    [delete_others_posts] =>; 1
    [delete_published_posts] =>; 1
    [delete_private_posts] =>; 1
    [edit_private_posts] =>; 1
    [read_private_posts] =>; 1
    [delete_private_pages] =>; 1
    [edit_private_pages] =>; 1
    [read_private_pages] =>; 1
    [delete_users] =>; 1
    [create_users] =>; 1
    [unfiltered_upload] =>; 1
    [edit_dashboard] =>; 1
    [update_plugins] =>; 1
    [delete_plugins] =>; 1
    [install_plugins] =>; 1
    [update_themes] =>; 1
    [install_themes] =>; 1
    [update_core] =>; 1
    [list_users] =>; 1
    [remove_users] =>; 1
    [promote_users] =>; 1
    [edit_theme_options] =>; 1
    [delete_themes] =>; 1
    [export] =>; 1
    [manage_woocommerce] =>; 1
    [view_woocommerce_reports] =>; 1
    [edit_product] =>; 1
    [read_product] =>; 1
    [delete_product] =>; 1
    [edit_products] =>; 1
    [edit_others_products] =>; 1
    [publish_products] =>; 1
    [read_private_products] =>; 1
    [delete_products] =>; 1
    [delete_private_products] =>; 1
    [delete_published_products] =>; 1
    [delete_others_products] =>; 1
    [edit_private_products] =>; 1
    [edit_published_products] =>; 1
    [manage_product_terms] =>; 1
    [edit_product_terms] =>; 1
    [delete_product_terms] =>; 1
    [assign_product_terms] =>; 1
    [edit_shop_order] =>; 1
    [read_shop_order] =>; 1
    [delete_shop_order] =>; 1
    [edit_shop_orders] =>; 1
    [edit_others_shop_orders] =>; 1
    [publish_shop_orders] =>; 1
    [read_private_shop_orders] =>; 1
    [delete_shop_orders] =>; 1
    [delete_private_shop_orders] =>; 1
    [delete_published_shop_orders] =>; 1
    [delete_others_shop_orders] =>; 1
    [edit_private_shop_orders] =>; 1
    [edit_published_shop_orders] =>; 1
    [manage_shop_order_terms] =>; 1
    [edit_shop_order_terms] =>; 1
    [delete_shop_order_terms] =>; 1
    [assign_shop_order_terms] =>; 1
    [edit_shop_coupon] =>; 1
    [read_shop_coupon] =>; 1
    [delete_shop_coupon] =>; 1
    [edit_shop_coupons] =>; 1
    [edit_others_shop_coupons] =>; 1
    [publish_shop_coupons] =>; 1
    [read_private_shop_coupons] =>; 1
    [delete_shop_coupons] =>; 1
    [delete_private_shop_coupons] =>; 1
    [delete_published_shop_coupons] =>; 1
    [delete_others_shop_coupons] =>; 1
    [edit_private_shop_coupons] =>; 1
    [edit_published_shop_coupons] =>; 1
    [manage_shop_coupon_terms] =>; 1
    [edit_shop_coupon_terms] =>; 1
    [delete_shop_coupon_terms] =>; 1
    [assign_shop_coupon_terms] =>; 1
    [administrator] =>; 1
)

如上所示,问题显然是我不了解角色的权限。我已将它们张贴在上面,希望它能帮助下一个偶然发现此问题的人!