Я писал небольшой плагин для удаления некоторых элементов меню для пользователей, не являющихся администраторами, из бэкэнда и обнаружил, что мой плагин ничего не делает, если в своем коде не указан приоритет:
add_action('admin_bar_menu', 'remove_toolbar_items', 999);
Без этого 999
код не удаляет элементы в моей remove_toolbar_items
функции, и с этим он прекрасно работает:
function remove_toolbar_items( $wp_admin_bar ) {
if ( !current_user_can( 'manage_options' ) ) {
$wp_admin_bar->remove_node('new-post');
$wp_admin_bar->remove_node('comments');
}
}
В документах для государства параметров приоритета:
Используется для указания порядка, в котором выполняются функции, связанные с конкретным действием. Меньшие числа соответствуют более раннему выполнению, а функции с одинаковым приоритетом выполняются в том порядке, в котором они были добавлены к действию. Значение по умолчанию: 10
Однако я не нашел ничего, что объясняет, как вы должны определить, какой приоритет использовать. Как вы определяете, когда использовать приоритет и какой приоритет использовать? Я чувствую, что мог бы часами чесать голову, если бы не играл с параметром приоритета.
Кроме того, я вижу, что приоритет по умолчанию - 10, но есть ли известный диапазон значений приоритетов?