Intereting Posts
Параметры запроса в $ _GET не соответствуют URL-адресу, названному Как удалить текст нижнего колонтитула администратора из внутренней дочерней темы? WordPress использует URL-адрес, отличный от определенного в rewrite arg типа пользовательского сообщения Получить мета-ключи пользовательских категорий meta_query с мета значениями как сериализуемые массивы старые сообщения в блогах, не показывающиеся в новой теме Как переписать URL-адрес вызова AJAX для admin-ajax.php для соответствия URL-адресам стиля REST Мой CPT не будет отображаться независимо от того, что я делаю Как отображать обычные сообщения и настраиваемые типы сообщений, которые попадают под категорию, используя шаблон общей категории? Отфильтровать список пользователей, что meta_value пуст Пусть редакторы просматривают сообщение в admin, но не могут выполнять сохранение / редактирование Последние сообщения по категориям – как исключить текущую должность? Скрытие сообщений в списке из указанных категорий Force shortcode для отображения, где он встроен Получить все категории и должности в этих категориях

Как я могу указать позицию элемента панели администратора, добавленную с помощью $ wp_admin_bar-> add_menu () или add_node ()?

Я хочу добавить ссылку на свой сайт в панели администратора и сделать ссылку на самый левый элемент в панели администратора. Я могу добавить ссылку с этим в функцию плагина:

$wp_admin_bar->add_menu( array( 'id' => 'my-link', 'title' => __('MySite'), 'href' => site_url() ) ); 

Но я бы хотел сделать это самой левой ссылкой в ​​панели администратора, то есть полностью в левом верхнем углу. Есть ли способ сделать это?

Solutions Collecting From Web of "Как я могу указать позицию элемента панели администратора, добавленную с помощью $ wp_admin_bar-> add_menu () или add_node ()?"

Если я прав, это позиции по умолчанию:

  • wp_admin_bar_wp_menu – 10
  • wp_admin_bar_my_sites_menu – 20
  • wp_admin_bar_site_menu – 30
  • wp_admin_bar_updates_menu – 40
  • wp_admin_bar_comments_menu – 60
  • wp_admin_bar_new_content_menu – 70
  • wp_admin_bar_edit_menu – 80

небольшой фрагмент кода из того, что я использую:
add_action('admin_bar_menu', 'your_function_name', 10);

10 должны довести его до самой левой стороны в админбаре.

В данный момент мы находимся в WP версии 3.8 и все еще работаем как шарм.

Добавленный пример:

 function add_item($admin_bar) { $args = array( 'id' => 'your-link', // Must be a unique name 'title' => 'Yoursite', // Label for this item 'href' =>__ ('your_site_url'), 'meta' => array( 'target'=> '_blank', // Opens the link with a new tab 'title' => __('Yoursite'), // Text will be shown on hovering ), ); $admin_bar->add_menu( $args); } add_action('admin_bar_menu', 'add_item', 10); // 10 = Position on the admin bar 

Я попытался решить Чарльза, но безуспешно. Я выяснил, что вы можете указать, добавляется ли какая-либо панель админ-бара вашего контента.

С помощью

 add_action( 'admin_bar_menu,'yourfunctionname'); 

добавит ваш новый контент в левую часть панели администратора до содержимого по умолчанию.

С помощью

 add_action( 'wp_before_admin_bar_render', 'yourfunctionname' ); 

добавит ваш новый контент в правую часть панели администратора после содержимого по умолчанию.

Если вы хотите полностью реорганизовать панель администратора, вы должны использовать WP_Admin_Bar() .

Пример:

 function reorder_admin_bar() { global $wp_admin_bar; // The desired order of identifiers (items) $IDs_sequence = array( 'wp-logo', 'site-name', 'new-content', 'edit' ); // Get an array of all the toolbar items on the current // page $nodes = $wp_admin_bar->get_nodes(); // Perform recognized identifiers foreach ( $IDs_sequence as $id ) { if ( ! isset($nodes[$id]) ) continue; // This will cause the identifier to act as the last // menu item $wp_admin_bar->remove_node($id); $wp_admin_bar->add_node($nodes[$id]); // Remove the identifier from the list of nodes unset($nodes[$id]); } // Unknown identifiers will be moved to appear after known // identifiers foreach ( $nodes as $id => &$obj ) { // There is no need to organize unknown children // identifiers (sub items) if ( ! empty($obj->parent) ) continue; // This will cause the identifier to act as the last // menu item $wp_admin_bar->remove_node($id); $wp_admin_bar->add_node($obj); } } add_action( 'wp_before_admin_bar_render', 'reorder_admin_bar'); не function reorder_admin_bar() { global $wp_admin_bar; // The desired order of identifiers (items) $IDs_sequence = array( 'wp-logo', 'site-name', 'new-content', 'edit' ); // Get an array of all the toolbar items on the current // page $nodes = $wp_admin_bar->get_nodes(); // Perform recognized identifiers foreach ( $IDs_sequence as $id ) { if ( ! isset($nodes[$id]) ) continue; // This will cause the identifier to act as the last // menu item $wp_admin_bar->remove_node($id); $wp_admin_bar->add_node($nodes[$id]); // Remove the identifier from the list of nodes unset($nodes[$id]); } // Unknown identifiers will be moved to appear after known // identifiers foreach ( $nodes as $id => &$obj ) { // There is no need to organize unknown children // identifiers (sub items) if ( ! empty($obj->parent) ) continue; // This will cause the identifier to act as the last // menu item $wp_admin_bar->remove_node($id); $wp_admin_bar->add_node($obj); } } add_action( 'wp_before_admin_bar_render', 'reorder_admin_bar'); 

https://codex.wordpress.org/Class_Reference/WP_Admin_Bar