WordPressのwp_nav_menuで出力されるメニューに区切り文字を設定する

WordPressのwp_nav_menuで出力されるメニューからliを消してリンクのみにするではliを削除してaリンクのみにする処理をご案内しました。

今回はカスタムウォーカー機能を利用して、wp_nav_menuメニューに区切り文字を設定する方法をご案内します。

functions.phpに下記のカスタムウォーカーの設定を追加します。

class border_link_list extends Walker
{
    public function walk( $elements, $max_depth )
    {
        $list = array ();

        foreach ( $elements as $item )
            $list[] = "<a href='$item->url'>$item->title</a>";

        return join( '|', $list );
    }
}

出力したい場所には下記を記述します。
border_link_listという部分は自由に変更してください。

<?php $menuParameters = array(
  'container'       => false,
  'echo'            => false,
  'menu' => 'footer_menu',
  'items_wrap'      => '%3$s',
  'depth'           => 0,
  'walker'         => new border_link_list, //設定した名前と同じ名前を呼び出します。
  'after' => ''
);

echo strip_tags(wp_nav_menu( $menuParameters ), '<a>' ); ?>

こうすることで以下の記述が実現できます。

メニュー1 | メニュー2 | メニュー3 | メニュー4