@ligisayan

Как добавить вывод функции в свойства меню wordpress?

Всем привет! Есть меню в wordpress в которое хочу включить последним пунктом li в результат вывода значения динамического сайдбара <?php dynamic_sidebar( "crypto_currency" ); ?>
<nav id="secondary-navigation" class="main-navigation secondary-navigation" role="navigation">
    <?php if ( has_nav_menu( 'secondary' ) ) {
            wp_nav_menu( array(
            'theme_location' => 'secondary',
            'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>';
                ) );
            } ?>
    <span><?php dynamic_sidebar( "crypto_currency" ); ?></span>
</nav><!-- .secondary-navigation -->

Но, у меня не получается включить его в обвертку и сделать так, чтобы все выводилось в одну строку. В первом случае список ul занимает всю строку и span выводится уже на второй строке. Во втором случае - получаю ошибку меню, т.к. свойства wp_nav_menu не поддерживают динамического php вывода и ul не закрывается так, как я бы хотел (в меню ошибка) Помогите разобраться, как исправить этот момент
<nav id="secondary-navigation" class="main-navigation secondary-navigation" role="navigation">
    <?php if ( has_nav_menu( 'secondary' ) ) {
        $items_wrap = 
        wp_nav_menu( array(
            'theme_location' => 'secondary',
            'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</li>'+dynamic_sidebar( "crypto_currency" )+'</li></ul>'
        ) );
    } ?>
</nav><!-- .secondary-navigation -->
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
как нибудь так
add_filter( 'wp_nav_menu_items', 'wpp_add_menu_item', 10, 2 );
	function wpp_add_menu_item ( $items, $args ) {
		if ($args->theme_location == 'secondary') {
			ob_start();
			dynamic_sidebar( "crypto_currency" );
			$item = ob_get_clean();
			$items .= sprintf('<li>%s</li>',$item);
		}
		return $items;
	}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы