このサイトで検索すると、この質問に対する多くの回答が見つかりました。それらのほとんどは私のテーマに取り組んでいません。
ここに私が見つけた1つの解決策があり、それは私のニーズに応じて機能しています。
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
このコードはul
、の最初と最後で削除されwp_nav_menu()
ます。だから私のテーマでは
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
しかし、管理者経由でメニューを追加したりアクティブにしたりしないと、問題が再び発生します。 http://domain.com/wp-admin/nav-menus.php
質問 :
<div><ul>**</ul></div>
メニューがアクティブかどうかを削除するにはどうすればよいですか。お知らせ下さい
最後に私はそれが働いた:) functions.php
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary',
'fallback_cb'=> 'default_page_menu'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
function default_page_menu() {
wp_list_pages('title_li=');
}
header.php
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
スーパーフィッシュを使いたいです。
—
ハハ
menu_class
そして、menu_id
メニューがアクティブになっている場合にのみ作業します。メニューは存在しない場合menu_class
やmenu_id
通りではありません<ul>
が、と<div>
。だからこそ、wp_nav_menu()
あなたについてのあまりにも多くの質問がそれをテストするかもしれない:)
menu_class
およびmenu_id
パラメータを使用して、ULのクラスおよび/またはid属性を設定できます。