2件の返信を表示中 - 1 - 2件目 (全2件中)
  • #未検証

    wp_nav_menu() でナビを表示してるなら、以下をテーマの functions.php に追加:

    add_filter( 'wp_nav_menu_items', 'my_nav_menu_items', 10, 2 );
    function my_nav_menu_items( $items, $args ) {
      if ( preg_match_all( '@(<li .*?>.*?</li>)@i', $items, $matches ) ) {
        $matches[1][0] = preg_replace( '@class="([^"]*)"@i', 'class="\1 first"', $matches[1][0] );
        $last = count( $matches[1] ) - 1;
        $matches[1][$last] = preg_replace( '@class="([^"]*)"@i', 'class="\1 last"', $matches[1][$last] );
        $items = implode( "\n", $matches[1] );
      }
      return $items;
    }

    トピック投稿者 yamayama

    (@yamayama)

    ご連絡ありがとうございます。前回事例のkz様からの投稿まことに恐縮です。

    ご質問する際にご提案すればよかったのですが、functions.phpでwp_nav_menu()を少しアレンジしています(下記コード)ので、該当箇所が分からずじまいです。

    function original_menu() {
    	$original_menu = '<ul class="navi_menu">';
    	if(!original_get_option('original_ex_home')) :
    		if(is_front_page()) $current = ' current';
    		$original_menu .= '<li class="page_item'.$current.'"><a href="'.get_bloginfo('url').'"><span class="icon">home</span></a></li>';
    	endif;
    
    	$ex_pages = original_get_option('original_ex_pages');
    	$original_menu .= wp_list_pages('title_li=&sort_column=menu_order&exclude='.$ex_pages.'&echo=0&depth=1&link_before=<span class="icon">&link_after=</span>');
    	$original_menu .= '</ul>';
    	echo $original_menu;
    }
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「ナビの最後(最初)のみに特定のclassを追加」には新たに返信することはできません。