woyama
@woyama (woyama)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【WordPress】 "Walker_Nav_Menu"の「target="_blank"」について

解決したいこと

WordPressの「Walker_Nav_Menu」にてナビゲーションをカスタマイズしております。
管理画面にて「リンクを新しいタブで開く」にチェックを入れているのですが、target="_blank"が付与されなく、解決方法をご教授いただきたいです。

該当するコード

■function.php

class custom_walker_nav_menu extends Walker_Nav_Menu
{
	function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0)
	{
		$classes = empty($item->classes) ? array() : (array) $item->classes;
		$classes[] = 'menu-item-' . $item->ID;
		$id = 'menu-item-' . $item->ID;
		$css_classes = '';
		foreach ($classes as $class) {
			$css_classes .= $class . ' ';
		}
		if ($depth == 0) { //第一階層のときにiタグを付ける
			$output .= '<li id="' . $id . '" class="' . $css_classes . '"><a href="' . $item->url . '">' . $item->title . '<i class="js-menuRoot"></i></a>';
		} else { //第一階層以外は通常通り
			$output .= '<li id="' . $id . '" class="' . $css_classes . '"><a href="' . $item->url . '">' . $item->title . '</a>';
		}
	}
}

■header.php

<?php
   wp_nav_menu(
      array(
         'depth' => 2,
         'theme_location' => 'global',
         'container' => 'ul',
         'walker'  => new custom_walker_nav_menu,
         )
      );
?>

自分で試したこと

「リンクを新しいタブで開く」にチェックが有る場合は、target="blank"を付与する。
などで解決出来るのかなと思っているのですが、Walker_Nav_Menuがあまり理解できておらず手詰まりの状態です。
ご教授のほどよろしくお願いいたしますm(
_)m

0

No Answers yet.

Your answer might help someone💌