WordPressのwp_nav_menuからulコンテナを削除する方法


function remove_ul_container( $menu ) {
    return preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#' ), '', $menu );
}
add_filter( 'wp_nav_menu', 'remove_ul_container' );

このコードは、wp_nav_menu関数がメニューを生成する際に呼び出されるフィルターを使用して、メニューの開始と終了のulタグを削除します。

方法2:ウォーカークラスをカスタマイズする 以下のコードをfunctions.phpファイルに追加します。

class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
    public function start_lvl( &$output, $depth = 0, $args = array() ) {
        // ul要素を生成しないようにする
    }
}

このコードは、ウォーカークラスをカスタマイズして、メニューの階層を生成する際にul要素を生成しないようにします。そして、wp_nav_menu関数を呼び出す際に、カスタムウォーカークラスを使用します。

方法3:CSSを使用してulコンテナを非表示にする 以下のCSSコードをテーマのスタイルシートに追加します。

ul.menu {
    display: none;
}

このコードは、ul要素に適用される.menuクラスを非表示にするため、ulコンテナを表示しないようにします。

これらの方法を使用すると、wp_nav_menuからulコンテナを削除することができます。ご希望の方法を選択し、該当するコードを適用してください。