Как вывести меню WordPress в теме. Все аргументы wp_nav_menu(). Области для меню. Урок #2
HTML-код
- Опубликовано: 3 май 2018
- В этом видео изучим, как вывести меню в теме WordPress с помощью функции wp_nav_menu(), как зарегистрировать области меню и применить их на деле. Мы затронем все параметры, которые принимает функция wp_nav_menu(), а также немного просмотрим ее исходный код. Познакомимся с несколькими важными вспомогательными функциями, без которых сложно себе представить работу с меню.
Закрепите материал:
bit.ly/2GxXJu8 - Все уроки о меню в WordPress
bit.ly/2Gv7kSe - wp_nav_menu() выводит меню на экран.
bit.ly/2GtG82f - register_nav_menu() регистрирует одну область меню.
bit.ly/2IoCPdf - register_nav_menus() регистрирует одну и более областей меню.
bit.ly/2FsstqQ - has_nav_menu() проверяет, имеет ли зарегистрированная область для меню прикрепленное к ней меню.
bit.ly/2EjEoa6 - рекомендую хостинг.
Поддержать проект:
Яндекс и Карты - yasobe.ru/na/wp_plus
Карта Qiwi и Карты 4890494399032606
WebMoney Z976669281271
WebMoney R406002894047
PayPal paypal.me/campusboy
Вот так нужно объяснять устройство какого-либо предмета! Последовательно, что от чего зависит, какие могут быть варианты, и тд. То, как вы преподаете, Дмитрий -- это эталонная подача материала, серьезно. Очень хорошо раскладываете логику поведения -- это важно. Даже начало казаться, что WP -- не такая уж и свалка каких попало функций, а очень богатый инструментарий.
Научите, пожалуйста, остальных ютуберов как дела делаются, а то тут уже экологическая катастрофа.
Огромное спасибо, таки не вымер человек разумный.
Похоже, эту (10:00) несправедливость в последних версиях WP ликвидировали.
Отличные мануалы. Качественнее и информативнее многих платных курсов. Лайк.
Думал, что я уже все знаю о применении менюшек в wp, но тебе удается расказать о все новых возможностях, респект
Дмитрий отличная подача информации. Такое не часто встретишь, чаще всего в видео что-то делают и "походу пьесы" объясняется как(и то не всегда). Вы же объясняете на примерах и очень доступно. Спасибо за ваш труд!
Дим, спасибо огромное за видео. Мне сложно представить урок с более подробными объяснениями чем эти. Очень жду продолжения!
Спасибо! Главное, чтобы польза была))
Спасибо. Вы - профессионал
Спасибо! Все доходчиво.
спасибо, все здорово! и отдельное спасибо за увеличенный шрифт!
спасибо за урок
Лучшее объяснение )
Спасибо за урок! Подписался!
Спасибо за проделанную работу Дим. От начала до конца на одном дыхании. Как всегда юмор на высоте('fallback_cb' => 'sosambo') ;)
Большое спасибо за поддержку! :-) Причем постоянную, это круто
Я сначала не врубился, что за "техническая функция" такая)))
я сам в шоке был)) надеюсь все поняли, что это была отсылка на "свою подобную функцию"))
@Maksym Davydchuk, пришлось вбить в поиск 'sosambo' и перейти на сайт, чтобы понять и заценить шутку :)
спасибо мужик, ты лучший.
Урок класс! Спс
Огромное спасибо! Это видео мне очень помогло!
Спасибо! Это лучшая похвала!
Спасибо Вам огромное за понимание Меню))) Два дня не могла разобраться с меню при натяжке шаблона Bootstrap на WORDPRESS, все стили потерялись, получалось не пойми что, в вашем видео нашла ответ "link_before" - вставила туда классы и вуаля, как в оригинале!!Огромнейшее спасибо)
Если что, я новичок, вторую неделю только изучаю HTML, CSS и WordPress))))
Спасибо за отзыв! Думаю, для полной совместимости лучше использовать walker под это дело. Поищите по фразе "wordpress bootstrap walker" и выберите под свою версию bootstrap нужный walker. Про walker (что такое и зачем) у меня видео пока нет, увы.
@@wpplus да, обязательно, спасибо, буду разбираться с опытом) ато я третий сайт натягивала, и постоянно проблемы с меню были, сейчас решила эту проблему🥰
Большое спасибо за урок и вообще за весь плейлист о меню!
По поводу вопроса почему разработчики заложили в функцию wp_nav_menu() вывод страниц (если указанное меню не найдено), а не каких-то других сущностей. Наверное, потому что записей вообще может не быть на сайте, а страница хотя бы одна (главная), обычно бывает. Ещё в пользу страниц то, что изначально они создавались как бы в противовес записям. То есть, записи - для блога, страницы - для служебных страниц, которые обычно выступают основными элементами меню верхнего уровня. Но наверняка разгадка в каком-то техническом нюансе на уровне кода движка :)
Да ты гений ! В) вп каме респект
Спасибо
Респект автору!
Помню первое поверхностное видео на тему меню. Как раз задал вопрос на тему класса walker. Но это было давно.
Со временем познакомился с другими CMS системами. Ох! WP детская игрушка (это Я для новичков). В целом лично для меня вопросы улетучились сами собой - скорее не актуальны. Но по прежнему видео интересны и некоторые моменты реально упрощают жизнь.
Спасибо автору!
Спасибо за тёплые слова!
счастья здоровья за такие уроки \(^_^)/
Пипец какой то! Почему так сложно сделать своё меню в wordpress? Столько кода нужно использовать чтобы переделать меню под свои нужды... одним словом жестко
Голос как у БАТЬКИ "Лукашенко" :)))) а так круто спасибо за познавательное видео, ЛАЙК
Сейчас, (в 2020) - :((((
Дмитрий спасибо за видео ,подскажите как сделать меню в две строки в wordpress,или подскажите где что почитать ,посмотреть в инете не нашел для wordpress
Как привязать конкретное меню к одной конкретной странице на сайте как фут-меню? и чтобы больше нигде его не было
ЛАЙК НЕГЛЯДЯ
Здравствуйте!
Спасибо за уроки, очень помогают.
А как задать класс для , что внутри ?
Здравствуйте. Спасибо! Такое можно сделать на этом хуке wp-kama.ru/hook/nav_menu_link_attributes
Здравствуйте!
Спасибо за очень понятные объяснения сложных пока для меня вопросов!
Очень понравился ваш редактор кода!
Подскажите, какими плагинами пользуетесь для редактирования кода? Advanced Code Editor? Или каким другим? Где их можно скачать? Если там есть какие-то особенности настройки этого плагина, - подскажите как его правильно настроить.
Еще раз - спасибо!
Здравствуйте. Для написания кода использую phpStorm. По дефолту там в целом всё нормально и со временем поднастраиваете под свои предпочтения.
18:00 Walker menu. Будет разказывать о нем в другом выдео
Здравствуйте! Подскажите, есть ли у вас видео о том, как скомбинировать в одном меню два типа ссылок: якорные и ссылка на другую страницу?
Например, меню с такими пунктами:
/#rules, /#delivery, /#payments, /contacts, /about
- В WP у активного пункта меню нет ссылки, поэтому в моем меню все якорные ссылки становятся недоступными, если перейти по одному из них.
- Если же я уберу слеш перед якорями, то они будут срабатывать на любой текущей странице. А мне это не нужно. Например: /contacts#delivery, или /about#rules.
Тема сайта root. В файлах темы не нашла соответствующего кода, значит, тема не лезет в работу функции, заданной в ядре.
Как решить эту проблему? Проблема актуальна не только для root, но и других.
Может быть, вы уже рассматривали такую задачу, поделитесь ссылкой на видео?
Мобильное меню надо сделать, запарилась уже. В теме не было
Здравствуйте! Спасибо, за видео. Мне как человеку севшим писать меню в первый раз было сложно понять некоторые символы в программе набора. Пытался сделать через стандартный файл менеджер на хостинге, но не вышло. Тема появилась, а сколько меню не прописывал, в консоли оно не появлялось. Извините, если что не так сказал, пока учусь, позже может вопросов будет меньше. Но сейчас для очень не искушённого пользователя много непонятного)
Здравствуйте, Вадим. Если сели писать меню WordPress на php, то знать php Вы обязаны. Вы же не поедите по городу, не зная как управлять машиной? Когда освоите php, то "непонятных символов" не будет. Само собой, я не могу обучать php в каждом ролике :-)
получается если у меня с бутстрапа код, то меню так сделать не поулчится? вот сейчас делаю и ничего на сайте не появляется, а то меню которое бутстраповское - будто декорация, настроить нельзя, а строки относящиеся к нему не найти
Здравствуйте, подскажите какой редактор используете и какое дополнение к нему. Так, например Вы ввели функцию wp_nav_menu, затем кликнули на ней и у вас сразу открылся синтаксис этой функции в виде :
wp_nav_menu( [ 'theme_location' => '', 'menu' => '', 'container' => 'div', 'container_class' => '', 'container_id' => '', 'menu_class' => 'menu', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '%3$s', 'depth' => 0, 'walker' => '', ] );
Здраствуйте. Я пользуюсь phpStorm. Никаких дополнительных плагинов не помню, чтобы ставил.
здравствуйте, а если на одном из элементов у меня назначен класс. Как мне это указать при натяжке этого меню на WP ?
Здравствуйте. При создании меню у самого элемента добавьте в специальное его поле для классов - cdn.discordapp.com/attachments/948329785673793556/948329806368477215/unknown.png
@@wpplus благодарю
На ютубе есть еще контенты по WP, где так четко объясняли бы? Одни дилетанты попадаются в основном...
планируется урок по параметру walker ?
Да, уже черновик набросан.
Дмитрий, спасибо за уроки, пока не нашла в них решение своей проблемы. Помогите, пожалуйста! У меня в теме две области меню наверху. Пытаюсь сделать выпадающее меню, - а оно не выпадает. В чем может быть причина?
Функция выводит лишь html разметку Меню. За все красивости и так далее отвечают CSS стили (и иногда JS код), которые нужно писать самостоятельно, если их нет. В комментарии я не смогу Вам дать курс CSS, придётся его учить или попробовать слепить на основе готовых примеров коих предостаточно в сети. Например, можно попробовать найти примеры оформления меню WordPress по такому запросу www.google.com/search?q=стили+для+меню+wordpress
@@wpplus Дмитрий, спасибо за оперативный ответ. Сейчас буду изучать все по ссылке. А у Вас какой-то из уроков объясняет это? мне удобнее слушать
Видео клевое , но лучше сразу бы с примерами небольшими! Типа рассказал сделал создал !!!
Здравствуйте, Андре. Примеры были по каждому параметру и функции. Каких именно примеров Вам не хватило?
Какой плагин был использован для транслитерации?
ru.wordpress.org/plugins/cyr3lat/
Спасибо автору. Повторил всё как в видео - получилось идеально! Вопрос: nav_menu_link_attributes, добавил классы во все уровни тега "а" А нужно только в один уровень! Что нужно доделать? Может кто знает?
Здравствуйте. Спасибо за отзыв. Не стесняйтесь заглядывать в документацию wp-kama.ru/hook/nav_menu_link_attributes . Обратите внимание на параметр $depth.
Вот это да!!! Спасибо за ответ и за оперативность!!!
Успешных разработок!
Добрый день, может хоть вы подскажите в чем проблема? Вместо того чтобы изменить ul, menu_class и menu_id добавляет класс и айди div'y, в который этот ul вложен, в свою очередь сам ul никак не изменяется, а при внесении изменений в container_class и container_id нет вообще никаких изменений? думал сначала что дело в версии вордпресса, ведь с момента выхода данного видео прошло полтора года, но в комментариях и в документации написано все так-же, как и в вашем видео. Ничего не понимаю
Приветствую. Без кода сложно что-либо сказать. Показывайте код.
@@wpplus как? архив с проектом кинуть? В общем-то я решил уже проблему, точнее отмахнулся от нее, установил англоязычный вордпресс и начал следующий раздел курса по которому учился. В общем-то на англ. вордпрессе все заработало как должно было. Но хотелось бы понять в чем прикол. Ведь если каждый раз при возникновении подобной проблемы придется переустанавливать вп то вряд-ли я начну шарить в этом, а я хотел бы научиться. Надеюсь ваши уроки мне помогут в этом.
где лежит или должен лежать файл nav-menu-template.php? как он подключается?
wp-includes/nav-menu-template.php это файл исходного кода функции, он подключен сразу из коробки, там можно посмотреть стандартные параметры
В wp-includes лежит, это ядро вордпресса
Мужик, ты крут. Самые адекватные уроки по WP, но "эчо"? "зем"? Ну это же не китайски слова а английские. Ну их же легко загуглить и узнать как они читаются, раз уж ты взялся произносить их на широкую аудиторию :(
Мужик, тут главное понять, что аудитория мне ничем не обязана, а я аудитории. Отчасти из-за подобных комментов я и перестал обновлять канал, потому что я вдруг стал "много чего ей должен" по какой-то причине, хотя вроде никаких договоров и оферт с ней не подписывал. И садишься подготовить материал и в голове: надо все слова на английском послушать, а то ж у меня на канале граммар-наци и носители языка, надо крутые примеры найти и код писать отменный и много чего ещё "надо"... и сразу ответ в голове: Да я лучше пойду за деньги поработаю, а видос когда-нибудь потом сделаю, когда время будет для всего этого "надо". Ибо видос ничего не даёт, даже на уроки английского языка не заработать, ведь аудитория мне его не купит (помним, она мне ничего не должна), так что имеем что имеем. Почему говорил "эчо" - где-то в забугорном видосе услышал, так в голове и осталось. Сейчас на forvo послушал, да, был не прав. Но так ли это важно? Ты же ведь понял, что я говорил? Уверен, что понял. Прикол в том, что я раньше прислушивался к таким советам, искал правильное произношение, говорил его и получал пинок от другого лагеря со словами: ну мы же не англичане, у нас это слово принято говорить так. И что делать? Риторический вопрос, хотя ответ у меня есть - игнорить сообщения. Это сообщение исключение, потому что в целом ты прав. И вот сейчас у меня папка с текстами, которые я составлял в течение полугода для плейлиста по WP REST API, где его в сумме на ~100к символов, там куча слов на английском. И что делать? Правильно, как минимум выучить английский, а видео подождут ещё пару годиков. Извини за этот текст и спасибо за поправку, она уместна в целом.
А ты, братан, русский подтяни-ка! Это ж не китайский, а родной.
В дочерней теме нужно создать новое меню, в файле functions.php
Вопрос, вот два фрагмента кода, какой правильно использовать:
-------------------------------
if ( function_exists( 'register_nav_menus' ) ) {
register_nav_menus(
array(
'menu-footer' => 'Menu Footer ',
)
);
}
-------------------------------
add_action('after_setup_theme', function(){
register_nav_menus( array(
'menu-footer' => 'Menu Footer',
) );
});
-------------------------------
Тут пишут wordpress.stackexchange.com/questions/111299/why-use-if-function-exists
Что if не нужно, можно второй метод.
Второй код верный, а первый бессмысленный.
Приветствую! Сделал все как вы описали, но меню так и не появилось joxi.ru/E2pMLKWs95Q9kA версия wp 4.9.8
Приветствую. Проверьте имя файла, куда вы вписывали код. Если работаете со своей темой, то это должен быть файл functions.php - буква в букву. Допустите какую нибудь ошибку в этом файле, если сайт не упал, значит этот файл не подключается.
огромное спасибо за столь быстрый ответ))))!
@@wpplus В точку! Я назвал function вместо functionS. Спасибо!
Что это за чудо редактор (phpStorm)?
"Заходим в исходный код функции" - нажимаете на код и Вы уже там!
Как так?
Подскажите, пожалуйста.
Какие надстройки ему требуются для такого?
Да, это phpStorm. Никаких надстроек. Зажимаешь на клаве ctrl и клацаешь левой кнопкой мыши по названию функции и всё - он перекидывает туда, где определена функция.
Кто-нибудь из восторженных комментаторов пробовал этот код?
Конечно. Тут кода можно сказать нет, просто показана работа некоторых функций WP api.