#未検証
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;
}
ご連絡ありがとうございます。前回事例の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;
}