Додаємо кнопку до admin bar. Додати до кошику.
Дуже корисно іноді чистити сайт від старих оголошень, наприклад, від оголошень з бази нерухомості. Розглянемо приклад як саме додати свою кнопку відправки посту до кошика в адмін-барі.
Усі стандартні кнопки можна знайти у масиві, що міститься в об'єкті $post_type_object->labels. Інформація про кнопки, які можна розмістити, нескладно знайти у файлі wp-includes/link-template.php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function fb_add_admin_bar_trash_menu() { global $wp_admin_bar; if ( !is_super_admin() || !is_admin_bar_showing() ) return; $current_object = get_queried_object(); if ( empty($current_object) ) return; if ( !empty( $current_object->post_type ) && ( $post_type_object = get_post_type_object( $current_object->post_type ) ) && current_user_can( $post_type_object->cap->edit_post, $current_object->ID ) ) { $wp_admin_bar->add_menu( array( 'id' => 'delete', 'title' => __('Move to Trash'), 'href' => get_delete_post_link($current_object->term_id) ) ); } } add_action( 'admin_bar_menu', 'fb_add_admin_bar_trash_menu', 35 ); |
Якщо трохи доповнити код, то можна зробити кнопку з іконкою.
1 |
'title' => __('<img src="/wp-content/themes/themes-name/images/trash_(delete)_16x16.gif" alt="Move to Trash" title="Move to Trash" style="margin-top:5px" />' ) |
Видалити зайві пункти з admin bar WordPress
Крім додавання нових кнопок до адмін бару WordPress ми можемо також їх видаляти, знаючи потрібний індекс. Це корисно, якщо не хочете показувати окремий пункт для зареєстрованих користувачів.
Приклад видалення кнопки коментарів з адмін бару:
1 2 3 4 5 |
function fb_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->remove_menu('comments'); } add_action( 'wp_before_admin_bar_render', 'fb_admin_bar_render' ); |
Ще корисно обмежити деякі пункти, для користувачів і перевірити вимкнений адмін бар чи ні, це зробити дуже просто. Для видалення пунктів достатньо вказати коротку умову у файл functions.php вашої теми.
1 2 3 4 5 6 |
function wp_admin_bar_init() { if (!is_super_admin() || !is_admin_bar_showing() ) return; add_action( 'wp_before_admin_bar_render', 'fb_admin_bar_render' ); } |
Також можна перевірити користувача на рівень його привілеїв.
1 2 3 4 5 |
get_currentuserinfo() ; global $user_level; if ($user_level <> 10) { ... тут код ... } |
Детальніше про привілеї англійською читайте тут: user level wordpress. Якщо захочете написати статтю на мій сайт про це можете зареєструватися або просто увійти через соціальну мережу. Після входу ви отримаєте можливість писати статтю. Якщо стаття вийде корисною, я її викладу, можливо з поправками.
Код показаний у статті працює все перевірив ). Ще одна стаття на тему для вас: додавання цілого меню до адмін бару WordPress.
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.