0
86
2015-07-08

Добавление элементов в меню WordPress Nav

Рассмотрим пример кода который позволит Вам добавить свой пункт меню в область меню WordPress.Снипет будет полезен при создании своей темы или плагина.
Понравилась страница? Поставь свою оценку!
PLUGIN_STAR_RATINGS.SCORE_TEXTPLUGIN_STAR_RATINGS.VOTES_TEXT

WordPress предоставляет фильтр под названием wp_nav_menu_items, который позволяет вам легко добавлять свои собственные элементы списка в меню. Данный пример кода будет полезен для отображения ссылки «Вход» или «Выход» условно, в зависимости от того, вошел ли пользователь в систему или нет, ну и т.п..

<?php
/**
* Добавьте пользовательскую ссылку в конец определенного меню, которое использует функцию wp_nav_menu()
*/
add_filter('wp_nav_menu_items', 'add_admin_link', 10, 2);
function add_admin_link($items, $args){
    if( $args->theme_location == 'footer_menu' ){
        $items .= '<li><a title="Admin" href="'. esc_url( admin_url() ) .'">' . __( 'Admin' ) . '</a></li>';
    }
    return $items;
}

Как видите, я делаю условную проверку для конкретного меню, которое я хочу отредактировать, поэтому вам нужно будет адаптировать его к вашему конкретному варианту использования. Вы также можете отредактировать имя функции, добавив собственный префикс и добавив текстовый домен вашего плагина или темы в функцию перевода __ () .

Другие отличные варианты использования этого фильтра:

  • Это позволяет вам делать интересные вещи, такие как автоматическое добавление ссылки «Admin» в конец меню нижнего колонтитула. Это особенно полезно при передаче сайта клиенту, и вы хотите убедиться, что всегда есть ссылка на область администратора, которую клиент не может случайно удалить.
  • Отображение ссылки «Профиль», только для зарегистрированных пользователей.
  • Добавление элемента списка, содержащего поле поиска.

Если вы желаете, использовать это снипет в публично опубликованной теме или плагине, просто не забудьте принять во внимание wp_nav_menu () и предоставить пользовательские значения для before , after , link_before и / или link_after параметров.




Статья была переведена для блога TechBlog.SDStudio.top

Источник: wpscholar.com