С момента последнего обновления WooCommerce пользователи с ролью «shopmanager» больше не могут редактировать пользователей с ролью «subscriber».
Я обнаружил, что за это отвечает следующая функция:
function wc_modify_editable_roles( $roles ) {
if ( is_multisite() && is_super_admin() ) {
return $roles;
}
if ( ! wc_current_user_has_role( 'administrator' ) ) {
unset( $roles['administrator'] );
if ( wc_current_user_has_role( 'shop_manager' ) ) {
$shop_manager_editable_roles = apply_filters( 'woocommerce_shop_manager_editable_roles', array( 'customer' ) );
return array_intersect_key( $roles, array_flip( $shop_manager_editable_roles ) );
}
}
return $roles;
}
add_filter( 'editable_roles', 'wc_modify_editable_roles' );
Мне нужно добавить subscriber
к массиву в apply_filters( 'woocommerce_shop_manager_editable_roles', array( 'customer' ) );
, но это то, где я застрял.
Как мне подключиться к этому фильтру, чтобы добавить дополнительную роль?
Это то, что у меня так далеко (вообще не работает, но это начало :))
add_filter( 'woocommerce_shop_manager_editable_roles', 'addanotherrole' );
function addanotherrole() {
$shop_manager_editable_roles = array( 'customer', 'subscriber' );
}