サイドバーウィジェットを使用して、どのページに表示するかを指示する代わりに、特定のページに表示されるメニュー設定を選択します。
デフォルトのWordpressの方法:
したがって、プロジェクトはページであり、いくつかのサブページがあります。しかし、同じ状況のこれらのページとサブページがさらに10個あるとしたらどうでしょう。
追加の設定(トップレベルのページのリスト)を追加したいと思います。
しかし、これらの設定が読み込まれると、ドキュメント、アクション、フィルターなどが見つかりません。
サイドバーウィジェットを使用して、どのページに表示するかを指示する代わりに、特定のページに表示されるメニュー設定を選択します。
デフォルトのWordpressの方法:
したがって、プロジェクトはページであり、いくつかのサブページがあります。しかし、同じ状況のこれらのページとサブページがさらに10個あるとしたらどうでしょう。
追加の設定(トップレベルのページのリスト)を追加したいと思います。
しかし、これらの設定が読み込まれると、ドキュメント、アクション、フィルターなどが見つかりません。
回答:
それはいいオプションですが、私はsriに同意します。今のところ、それは本当にあなたのテーマに依存しています。あなたはを通して回避策を行うことができます)(is_page。あなたはあなたのpage.phpテーマファイルにこのような何かを書く必要があります:
<?php
if (is_page('projects')) {
if ( is_active_sidebar( 'sidebar-navigation' )) {
dynamic_sidebar( 'sidebar-navigation' );
}
}
?>
あなたが同様に他のページのサイドバーを表示したい場合は、ロジックを使用することができますか、このように:
if (is_page('projects') || is_page('home') || is_page('post-page'))
これにはプラグインを使うほうがいいと思うので、将来テーマを変更しても機能を維持できます。このプラグインをチェックしてください。それはあなたが望んでいることをしますが、それをモックアップした方法とは少し異なります。
https://wordpress.org/plugins/page-specific-menu-items/
これが役立つ場合は、賛成票を投じるか、答えとして受け入れてください。ありがとう!
これは、子テーマにコピーされたTwenty Twelveのテーマheader.phpで行う方法です。
<?php if ( is_page('projects') ) : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'conditional-menu-name', 'menu_class' => 'nav-menu' ) ); ?>
<?php else : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'Primary', 'menu_class' => 'nav-menu' ) ); ?>
<?php endif; ?>
表示するアイテムを含む新しいメニューを作成し、上記のコードのconditional-menu-nameをメニューの名前に置き換えます。
Twenty Twelve以外のテーマでは、menu_class名を変更する必要がある場合があります。
私はこのスレッドが古いことを知っていますが、誰かがこの答えを検索する必要がある場合に備えて、それらの条件付きメニューhttps://themify.me/conditional-menusを提案したいと思います。ページごと、カテゴリごと、メタごとなど、使用するメニューを選択します。そしてそれは無料です:)これが役に立てば幸い
ウィジェットを再利用して、簡単なソリューションが必要な場合は、ディスプレイウィジェットと呼ばれるプラグインを使用できます。私はこれを使用し、行きたい場所へのリンクを追加できるテキスト部分を使用しました。リンクが自分のサイトにあるか、別のサイトにあるかに関係なく機能します。テキストの下にスペースがあり、表示または非表示にするページを選択できます。使用していないウィジェットは削除できます。
このプラグインを探して見つける前に、かなり長い間メニューをいじっていました。それはうまくいきます。
WordPress.orgのPluginsセクションにあります。
1つのオプションは、メニューごとにカスタムテンプレートを作成することです。(これはテーマの場所のチェックボックスを指します)次に、すべてのページで、使用するテンプレートを選択すると、そのテンプレートに関連付けられているメニューも使用されます。
https://codex.wordpress.org/Page_Templates
あなたが探しているのと同じ結果が得られますが、各メニューにどのページが表示されるかを伝えるのではなく、どのページに表示するかを各ページに伝えます。この方法で追加する利点は、2つのメニューが同時に同じ場所にあると誤って指示する方法がないことです。
Menu Swapperプラグインを使用して、管理パネルから同じことを行うことができます。これがこのプラグインのデモです。