こんにちは
試していませんが、
http://wpdocs.sourceforge.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0
を参考にして、以下のように書くといいと思います
<?php
if ( ! is_page( '表示しないページid' ) ) {
wp_nav_menu( array( 'theme_location' => 'primary' ) );
}
?>
ごめんなさい!
メニューを表示させたくないページ、ではなく、
メニューに表示させたくないページです。
twentyelevenの機能なのか、固定ページを追加すると、自動でナビゲーションバーに表示されるのですが、それをやめたいのです。
固定ページを追加すると、自動でナビゲーションバーに表示されるのですが、それをやめたいのです。
は、メニューの トップレベルのページを自動的に追加するのチェックをはずせばいいような気もしますが、
functions.phpに
add_filter( 'wp_page_menu_args', 'my_exclude_menu' );
function my_exclude_menu( $args ){
$args['exclude'] = 表示しないページのid;
return $args;
}
とすればそのページは、メニューに表示されなくなると思います。
( 複数の場合は、試してはいませんが、'23, 30, 32'
という風にカンマ区切り文字列で 指定してみてください )
回答ありがとうございます。
おかげさまで、期待する動きになったのですが、もしお時間あれば教えてください。
教えていただいたコードは、wp_page_menu_argsが動くときに、my_exclude_menuを動かして、メニューの配列から指定したidを除外する、という理解で正しいですか?
wp_page_menu_argsは、どんなタイミングで動くのでしょうか?
教えていただいたコードは、wp_page_menu_argsが動くときに、my_exclude_menuを動かして、メニューの配列から指定したidを除外する、という理解で正しいですか?
で、いいと思います。
wp_page_menu_args フィルタは、
wp_page_menu(),wp_nav_menu()などで使われていますので、wp-includes/post_template.php,
wp-includes/nav-menu-template.php を読んでみてください。
wp_page_menu()は、args fallback_cbのデフォルト関数です
丁寧にありがとうございました。
フィルタがよくわからなかったので、確認していたのでお礼が遅くなり申し訳ありません。