@procode
Разработчик

Как в «произвольную ссылку» меню Wordpress добавить PHP-код?

Здравствуйте.

Как известно, в меню Wordpress можно добавить "Произвольные ссылки".

А как можно в поле URL такой ссылки добавить что-то вроде:

<?= home_url() ?>/wp-admin/post-new.php

Порылся в плагинах - не нашел.

По существу: мне нужно такие вот ссылки вывести в главном меню наверху, а добавлять в тему свой виджет - достаточно муторно - очень уж код мудреный у этой темы - какие-то симфонисты писали)))

Есть ли какое-то быстрое решение? Можно ли в меню PHP-код вставить?

Заранее спасибо!
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
@procode Автор вопроса
Разработчик
Решение подсказал yarovikov - "или replace элементов меню".

Оказывается мы можем получить отдельно html-код меню еще до его вывода через фильтр 'wp_nav_menu', не залезая в исходники WP. Для этого в functions.php (я дописал в конец) активной темы пишем что-то типа:

add_filter( 'wp_nav_menu', 'my_filter_menu_replace', 10, 2 );
	function my_filter_menu_replace( $nav_menu, $args ){
		
		//$nav_menu - это html-код меню - делаем с ним что хотим (-:
		
		return $nav_menu;
	}


Дальше - через preg_replace или еще как - я просто заменил содержимое $nav_menu полностью, так как мне работа с ним через админку без надобности, да и неохота голову сейчас морочить)) тема для меня новая - стараюсь не закапываться))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@azerphoenix
Быстрое решение с использованием плагинов -
плагин ACF, а именно acf option page
https://www.advancedcustomfields.com/resources/acf...
добавляете пункт меню, потом создаете нужные кастомные поля и загружаете их на странице опции.
Если хотите создать виджет с использованием ACF, то вот, дополнение к нему -
https://acfwidgets.com/
на гите есть бесплатная версия этого плагина
Ответ написан
@weart
Можно, но не через админку.
Через walker или replace элементов меню.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы