// Поскольку предлагаемый ответ, по-видимому, вызывает некоторые новые проблемы и не решает исходную проблему в нескольких других случаях, есть варианты скрытия элементов в соответствии с типом пользователя, что-то вроде приведенного ниже - что-то вроде kludge, но может служить:
Сначала загрузите таблицу стилей администратора, применяя только к менеджерам магазина:
/**
* SHOP MANAGER STYLES
* Front (Optional) and Back End stylesheet
* Style interface for users logged in with'shop_manager' role
* Add to theme functions.php
*/
add_action('admin_enqueue_scripts', 'shop_manager_styles');
//if front end stylesheet needs to be added to cover admin bar:
//add_action('wp_enqueue_scripts', 'shop_manager_styles' ) ;
function shop_manager_styles() {
$user = wp_get_current_user() ;
//uncomment following and remove next if not confined to admin
//if ( $user && in_array( 'shop_manager', $user->roles ) ) {
if ( in_array( 'shop_manager', $user->roles ) ) {
//time() as stylesheeet version to help bust caching - may not be necessary but doesn't hurt:
wp_enqueue_style(
'shop_manager_styles', get_stylesheet_directory_uri()
. '/css/shop_manager_styles.css', array(), time()
);
}
}
... и css, чтобы скрыть метку статуса заказа и полное меню, а также соответствующие столбцы на подстраницах shop_order:
/** HIDE ORDER STATUS LABEL, SELECTION MENU IN ORDER EDIT
* AND RELATED COLUMNS IN shop_order SUB-PAGE
*/
.wc-order-status,
.column-order_status,
.column-wc_actions {
display: none;
}
Вы сохраните это в папке вашей темы css в новом shop_manager_styles. css.
Теперь у вас может возникнуть необходимость показать статус заказа менеджерам магазина без возможности их редактирования. Это также было бы выполнимо с CSS, если также (даже больше) клудж. Может случиться так, что у вас есть другие особенности в вашей установке, которые будут препятствовать тому, чтобы вышеупомянутый код или минимально настроенный его вариант работал, но, даже если он немного менее чист, чем удаление опции через функцию, такого рода вещи обычно будут работать в крайнем случае.
(отредактировано для предоставления опции для добавления таблицы стилей на внешний интерфейс - в случае, если соответствующие опции появляются в админ-панели, в противном случае нет необходимости ставить дополнительный сценарий без прав администратора.)