【wordpress】メニューのテキストを改行したい

  • URLをコピーしました!
目次

wp_nav_menuで出力するメニュー内テキストを改行したくなっちゃったら?

対応前元ソース ※HTML5 Blank Themeに入っているメニューのコードです

function main_nav()
{
	wp_nav_menu(
            array(
		'theme_location'  => 'header-menu',
		'menu'            => '',
		'container'       => 'div',
                'container_class' => 'menu-{menu slug}-container',
		'container_id'    => '',
		'menu_class'      => 'menu',
		'menu_id'         => '',
		'echo'            => true,
		'fallback_cb'     => 'wp_page_menu',
		'before'          => '',
		'after'           => '',
		'link_before'     => '',
		'link_after'      => '',
		'items_wrap'      => '<ul>%3$s</ul>',
		'depth'           => 0,
		'walker'          => ''
            )
    );
}

 

対応後

function main_nav() {
    $memu = wp_nav_menu(
            array(
                'theme_location' => 'header-menu',
                'menu' => '',
                'container' => 'div',
                'container_class' => 'menu-{menu slug}-container',
                'container_id' => '',
                'menu_class' => 'menu',
                'menu_id' => '',
                'echo' => false,
                'fallback_cb' => 'wp_page_menu',
                'before' => '',
                'after' => '',
                'link_before' => '',
                'link_after' => '',
                'items_wrap' => '<ul>%3$s</ul>',
                'depth' => 0,
                'walker' => ''
            )
    );
    echo str_replace('|', '<br>', $memu);
}

変更箇所は

‘echo’ => false,

echo str_replace(‘|’, ‘<br>’, $memu);

この2行。

 

これすなわち、メニューのテキストの中に|(パイプ)が入っていたら、
それを<br>に置き換えますよ、ということ。

なので、メニューのテキストを

こうすれば、

こうなる、というわけ。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメント一覧 (2件)

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次