WordPressサイトの訪問者がログインしているのに、あちこちに「ログイン」や「登録」ボタンが表示されていて混乱することがあるのに気づいたことはありませんか?あるいは、メンバーがアカウントダッシュボードを見つけにくく、メニューに埋もれているのかもしれません。
これらの小さなフラストレーションは、最も忠実なユーザーでさえ、自分のウェブサイトで部外者のように感じさせる可能性があります。
そして、パーソナライズされたメニューはすべてを変えることができます。ログインユーザーに「マイアカウント」や「ログアウト」などのオプションを表示することで、一般的なリンクよりも、サイトがより歓迎され、プロフェッショナルに感じられます。
良いニュースは?WordPressで動的なメニューを作成するのは、思っているよりも簡単です。
このガイドでは、スキルレベルに関係なく、ログインユーザーに異なるメニューを表示する簡単な2つの方法を紹介します。💡

WordPressでログインユーザーに異なるメニューを表示する理由
訪問者とそのアクティビティに基づいて、WordPressウェブサイトのさまざまな領域を変更すると、各ユーザーにとってサイトがパーソナライズされたものになります。
このパーソナライズされたコンテンツは、WordPressサイトでのユーザーエクスペリエンスを向上させるのに役立ちます。
ユーザー登録やログインが不要なウェブサイトを運営している場合、ウェブサイト全体で同じナビゲーションメニューを使用できるでしょう。しかし、ログインユーザーにカスタムメニューを表示することで、他のウェブサイトは大きなメリットを得られる可能性があります。
例えば、オンラインストア、オンライン学習プラットフォーム、またはWordPress会員サイトコミュニティのようなウェブサイトは、パーソナライズされたナビゲーションメニューから大きなメリットを得ることができます。
ログインユーザー向けのパーソナライズされたナビゲーションメニューは、登録したものを簡単に見つけるのに役立ちます。
例えば、オンラインストアのユーザーはアカウントを管理したり、有料コミュニティのメンバーはサブスクリプションを簡単に更新したり、購入した限定のオンラインコースを閲覧したりできます。

デフォルトでは、WordPressでは必要なだけ多くのナビゲーションメニューを作成できます。ただし、WordPressテーマの特定の場所に表示できるメニューは1つだけです。
ログインユーザー向けのメニューを設定する前に、まず2つの別々のナビゲーションメニューを作成する必要があります。1つはログインユーザー用、もう1つはログアウトユーザー用です。始めましょう。
⚠️ ちょっとした注意点です! ここで紹介する方法は、WordPress のクラシックテーマを使用しているユーザー向けに設計されています。WordPress 5.8 以降のフルサイト編集(FSE)機能を使用するブロックテーマを使用している場合、この方法は機能しない可能性があります。
WordPressでログインユーザーと非ログインユーザー向けのメニューを作成する
ユーザーの2つのタイプごとに個別のメニューを作成するには、WordPressダッシュボードの外観 » メニューページに移動します。
ウェブサイトで全ユーザーが使用しているナビゲーションメニューが既にある場合は、それをデフォルトメニューとして使用できます。

その後、「新しいメニューを作成」リンクをクリックすると、ログインユーザー用の新しいカスタムメニューを作成できます。
ここで、登録済みまたはログイン中のユーザーに表示したいメニュー項目を追加してください。たとえば、メニューにログアウトリンクを追加することができます。
画面の左側には、ウェブサイトのページリストが表示されます。メニューに追加したいページにチェックボックスを入れ、「メニューに追加」ボタンをクリックするだけです。

画面右側のメニュー項目をドラッグアンドドロップして並べ替えることもできます。
ページをさらに下にスクロールすると、メニューを表示する場所を選択できます。ただし、このメニューに場所を割り当てる必要はありません。記事の後半でそれを行います。
変更を保存するには、「メニューを保存」ボタンをクリックすることを忘れないでください。
メニューの作成に関する詳細については、WordPressナビゲーションメニューの初心者ガイドをご覧ください。
これで、ログインユーザーに異なるメニューを表示する準備が整いました。このガイドで説明するすべての方法の概要を以下に示します。
- 方法1.プラグインを使用してWordPressでログインユーザーに異なるメニューを表示する
- 方法2. コードを使用してWordPressでログインメニューを手動で選択する
- ボーナスチップ:WordPressメニューでの条件付きロジックのさらなる使用例
- よくある質問:WordPressでログインユーザーに異なるメニューを表示する方法
- 追加リソース:WordPressのユーザーロールとサイトナビゲーション
よりパーソナライズされた体験の準備はできましたか?さあ始めましょう!🌟
方法1.プラグインを使用してWordPressでログインユーザーに異なるメニューを表示する
ログインユーザーに異なるメニューを表示する最も簡単な方法は、 Conditional Menus プラグインを使用することです。まず、それをインストールして有効化しましょう。
詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
有効化したら、WordPressダッシュボードから外観 » メニューに移動する必要があります。次に、「メニューの管理」タブに切り替えます。
ここから、WordPressテーマで定義されている利用可能なメニューの場所と、現在表示されているメニューのリストが表示されます。
例えば、現在の「プライマリメニュー」の場所には「メインメニュー」が表示されています。

次に、特定の条件が一致した場合に異なるメニューを表示するようにプラグインに指示する必要があります。
これを行うには、「+ 条件付きメニュー」リンクをクリックします。次に、ドロップダウンメニューからログインユーザーに表示したいナビゲーションメニューを選択できます。

次に、「+ 条件」リンクをクリックします。
これにより、選択できる条件のリストが表示されるポップアップが表示されます。

「ユーザーログイン中」オプションの横にあるチェックボックスをオンにしてから、「保存」ボタンをクリックするだけです。
これで、ウェブサイトにアクセスして、ログイン中のユーザーメニューが機能していることを確認できます。WordPress管理画面からログアウトして、他のすべてのユーザーに表示されるナビゲーションメニューを表示することもできます。

方法2. コードを使用してWordPressでログインメニューを手動で選択する
この方法では、WordPressウェブサイトにコードを追加する必要があります。以前にこれを実行したことがない場合は、WordPressにWeb上のスニペットをコピーして貼り付けるための初心者ガイドに関するガイドをご覧ください。
一般的に、ブログではテーマのfunctions.phpファイルまたはサイト固有のプラグインにコードスニペットを追加する必要があると言われます。しかし、この方法はウェブサイトに問題を引き起こす可能性があるため、お勧めしません。
代わりに、WPCodeプラグインを使用できます。
WPCodeを使用すると、テーマファイルを直接編集せずにカスタムコードスニペットをサイトに追加できます。また、これらのスニペットを管理し、安全に実行されるようにすることで、サイトが壊れるリスクを最小限に抑えるのに役立ちます。
ℹ️ 注: 当社のパートナーブランド全体で、WPCodeはカスタムスニペットを追加して各サイトの機能を拡張するための定番ツールとなっています。詳細については、WPCodeの包括的なレビューをお読みください。
開始するには、WPCodeプラグインをインストールしましょう。ログインユーザーに異なるメニューを表示するために必要なすべての機能が備わっているため、WPCodeの無料版を使用できます。
ただし、コードの改訂履歴やスニペットの公開スケジュールなどの高度な機能にアクセスしたい場合は、WPCode Proへのアップグレードを検討してください。
インストールしたら、コードスニペット » スニペットを追加に移動します。

これにより、WPCode のコードスニペットギャラリーが開きます。
ここから、「+カスタムスニペットを追加」ボタンをクリックできます。

次にWPCodeのテキストエディタが表示されます。
次のステップは、コードスニペットにタイトルを追加し、「コードタイプ」ドロップダウンメニューから「HTMLスニペット」を選択することです。

完了したら、次のコードを「コードプレビュー」フィールドにコピー&ペーストするだけです。
function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
// Logged in menu to display
$args['menu'] = 43;
} else {
// Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
WPCodeエディタでは、このようになります。

43と35を、先ほど作成したナビゲーションメニューのIDに置き換えてください。
ナビゲーションメニューのIDは、「メニュー」ページで選択すると見つけることができます。メニューID番号はブラウザのアドレスバーに表示されます。

すべての詳細が正しいことを確認したら、青い「スニペットを保存」ボタンをクリックしてください。
それで終わりです!
ボーナスチップ:WordPressメニューでの条件付きロジックのさらなる使用例
ナビゲーションに関しては、条件付きロジックは、ログインユーザーに異なるメニューを表示する以上のことができます。以下にいくつかの簡単な例を示します。
- ユーザーロールに基づいて異なるメニューを表示する: 管理者は共同作業者とは異なるメニューを表示できます。たとえば、管理者にはサイト設定やユーザー管理などの管理者専用オプションを表示し、共同作業者やその他のユーザーロールには一般的なナビゲーションリンクを提供します。
- 異なるページに異なるメニューを表示する: ブログページや商品ページにユニークなメニューを表示したいですか? 条件付きロジックを使用すると、それぞれに特定のメニューを作成でき、ナビゲーションをコンテンツに合わせて調整できます。
- ランディングページでのナビゲーションを非表示にする:ランディングページは、邪魔がない方が最も効果的です。条件付きロジックを使用してナビゲーションメニューを非表示にし、サインアップフォームや商品オファーなどのコールトゥアクションに注意を集中させましょう。
詳細については、WordPressでメニューに条件付きロジックを追加する方法に関するガイドを参照してください。
よくある質問:WordPressでログインユーザーに異なるメニューを表示する方法
WordPressでユーザーごとに異なるメニューを表示する方法について、まだご質問がありますか?以下に役立つ簡単な回答をいくつかご紹介します。
ユーザーロールに基づいて異なるメニューを表示できますか?
もちろんです。管理者、編集者、またはサイトのその他のカスタムユーザーロールごとにユニークなメニューを表示できます。Conditional Menusプラグインは、これを設定するための簡単なオプションを提供しており、チームメンバーのナビゲーションを調整するのに最適です。
プラグインを使用するのと、コードを手動で追加するのとでは、どちらが良いですか?
ほとんどのユーザーには、Conditional Menus や WPCode のようなプラグインの使用をお勧めします。これらのツールを使えば、テーマファイルを触ることなく、異なるメニューを簡単に表示できます。
WPCodeは、コードを使用する柔軟性を好む場合に特に役立ちます。カスタムPHPスニペットを安全に追加し、WordPressダッシュボードから管理できます。functions.phpを直接編集する必要はありません。
手動コーディングは開発者にとって依然として良い選択肢ですが、それ以外の人にとっては、プラグインの方が安全で初心者フレンドリーな選択肢です。
特定のページでナビゲーションメニューを非表示にできますか?
はい、同じ条件付きロジックを使用して、特定のページでナビゲーションメニューを非表示にすることができます。これは、ランディングページの一般的な戦略であり、気を散らすものを排除し、訪問者をあなたのコールトゥアクションに集中させます。
追加リソース:WordPressのユーザーロールとサイトナビゲーション
この記事が、WordPressでログインユーザーに異なるナビゲーションメニューを簡単に表示する方法を学ぶのに役立ったことを願っています。次に、次のガイドも参照してください。
- WordPressサイトでユーザー登録を許可する方法
- WordPressでユーザーが友人を登録に招待できるようにする方法
- WordPressで新規ユーザー登録をモデレートする方法
- WordPressが「ログイン情報を記憶する」機能を忘れないようにする方法
- WordPressで各ユーザーをカスタムウェルカムメッセージで迎える方法
- WordPressフォームをログインユーザーのみに制限する方法
- WordPressナビゲーションメニューのスタイリング方法
- ベストWordPressメンバーシッププラグイン
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

Stephanie Gibbs
このコードは、phpコードタイプを選択しないと実行されないことがわかりました。HTMLからPHPに変更したところ、素晴らしかったです!
WPBeginnerサポート
コードスニペットを追加する際に覚えておくべき重要な詳細です!
管理者
デニス・ムトミ
Clear and actionable guide!
Thank you for this comprehensive guide on showing different menus to logged-in users in WordPress.
I particularly appreciate the two methods you’ve outlined – using the Conditional Menus plugin and the manual code approach.
You have certainly given me some ideas to enhance my own WordPress sites. Thanks again WPBeginner
イゴイ・カヴァレラ
完璧です!
簡単な記事をありがとうございます。数時間節約できました。
WPBeginnerサポート
Glad we could help save you that time
管理者
Alex
Thanks for the code – works as it should, appreciated
WPBeginnerサポート
ガイドがお役に立てて嬉しいです!
管理者
Paul K
素晴らしい!でも、テーマのfunction.phpはどこで見つけられますか?
WPBeginnerサポート
テーマのフォルダ内にあります。以下のページで詳細を確認できます。
https://www.wpbeginner.com/glossary/functions-php/
管理者
Paul K
OK、見つけました、ありがとう。しかし、追加のコードをどこに配置するのか分かりません。PHPには詳しくありませんが、最後に「」が見えます。
WPBeginnerサポート
コードスニペットを貼り付けるには、functions.phpにどこに貼り付けるか、および他のコードベースのチュートリアルを参照する場合にどこに貼り付けるかをカバーする以下のガイドを確認してください。
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
管理者
Clara
うまく動作しました! 上部に2つのメニューがあります。ヘッドライナーメニューとメインメニューです。コードを使用すると、ユーザーがログインしている場合、上記のメニューはログイン中のメニューに切り替わります。ヘッドライナーメニューが同じままであるようにコードを調整するにはどうすればよいですか?
WPBeginnerサポート
お探しのものについては、以下の記事をご覧ください。
https://www.wpbeginner.com/plugins/how-to-add-conditional-logic-to-menus-in-wordpress/
管理者
セルジオ
ありがとうございます!
WPBeginnerサポート
You’re welcome
管理者
Echo
メニュー全体ではなく、特定のメニュー項目に対して行う方がはるかに簡単でしょう。メニュー項目が499個ある人はどうすればよいでしょうか?
WPBeginnerサポート
メニュー項目が多すぎると、ユーザーがナビゲートするのが非常に困難になり、メニューリンクが訪問者にとって価値を提供しない場合、SEOの問題を引き起こす可能性があるため、それほど多くのメニュー項目はお勧めしません。
管理者
エバウド・サントス
100%。Sahifaテーマで設定したばかりで、驚くほどうまく機能します。
この良い仕事を続けてください。
ジェイソン
Thank you!!
Bk Millanzi
これは非常に役立ちますが、ユーザー名とアバターを表示して、他のプロファイルメニュー項目をドロップダウンメニューとして機能させる方法はありますか?
Amarnadh
表示されたパスはカスタムメニューを表示するだけで、うまくいきます。しかし、ユーザーの興味に基づいて特定のログインユーザーにコンテンツを表示したい場合はどうなりますか?これは、さまざまなディールサイトのように詳細であり、ログインして興味を保存すると、次の瞬間にはその特定のトピックのディールのみが表示されます。WordPressプラグインを使用してそれを可能にできますか?
サム
こんにちは、素晴らしい仕事に感謝します。複数のユーザーロールについて質問があります。
メインメニューは2つあります。メニュー1とメニュー2です。
すべてのユーザー(ログイン中または未ログイン)にメインメニューを表示したいのですが、ユーザーロールが「Alt」の場合は、メニュー1がメニュー2に置き換えられます。
どうすればそれを実行できますか?
Tendai Mugoni
動作しています、ありがとう
Curtis
@ERICLEE それを防ぐために子テーマを作成できます。ちょうどこのコードを追加したところで、同じことをする必要があります。
shahzaib sarwer
サブスクライバープロファイルに、ホームページ以外でメニューを追加することは可能ですか?これらのメニューページはホームページには表示されず、各サブスクライバープロファイルにのみ表示されます。もし可能であれば、手順を教えてください。また、プラグインを使用する方法も教えてください。
shahzaib sarwer
wpサイトの購読者のプロフィールにメニューを追加することは可能ですか?もし可能であれば、この作業のためにどのようなプラグインを使用すればよいか、誰か教えていただけますか?
Yuda
多言語メンバーサイトで同じことを達成するにはどうすればよいですか?例えば、英語でログインしたユーザーとドイツ語でログインしたユーザーで異なるメニューを表示するにはどうすればよいですか?
WPBeginnerサポート
こんにちは、Yudaさん。
多言語WordPressプラグインを使用している場合、これはプラグインによって処理されるはずです。基本的に、多言語メニューの翻訳を提供する必要があります。
管理者
solomon
ログインメニューとログアウトメニューを追加しましたが、ログインとログアウトのページをどのように設定すればよいですか??
Jan-Paul Kleijn
最初はプラグインのことを考えました。そう考えるのはやめなければなりません。
それからあなたの投稿を見て、納得しました。
これを投稿してくれてありがとう、とても助かりました。
フィル
本当にありがとうございました。完璧に機能しました。
Ariet
Hello,
これは完全に機能します!
しかし、フッターメニューも変更されてしまいます..フッターメニューをそのままにしておく方法はありますか?
Tarron Acuff
メニューが2つあります。1つは一般公開用、もう1つは従業員がログインしたときに表示させたいものです。従業員メニューは、従業員がログインしている場合にのみメインメニューに置き換わります。
現在、functions.phpファイルで使用しているのは次のとおりです。
// ロールをボディクラスとして設定
function add_role_to_body( $classes ) {
$user = wp_get_current_user();
$user_roles = $user->roles; foreach( $user_roles as $role ) { $classes[] = ‘role-‘ . $role; }
return $classes;
}
add_filter( ‘body_class’, ‘add_role_to_body’ );
***CSSに追加した内容は以下の通りです***
/* まず、「従業員」以外のユーザーにはメニュー項目を非表示にします */
#top-menu li.menu-for-employee { display: none; }
/* "従業員"ユーザーのメニュー項目を表示 */
.role-employee #top-menu li.menu-for-employee { display: initial; }
従業員としてログインすると、両方のメニューが表示されます。
事前に感謝します。
Wasim
うまくいきません。プライマリメニューも消えてしまい、コードを追加した後、デフォルトのメニューが表示されます。
Joe
皆さん、こんにちは。
素晴らしいチュートリアルですが、特定の画面サイズでレスポンシブメニューを置き換えるために同じアプローチを使用できるかどうか疑問に思っていましたか?
メニューが2つありますが、1つにしたいです。768pxでは、別のメニューに置き換えてレスポンシブメニューにしたいです。
ありがとう
Pet
ガイドは素晴らしいです。初めてWordPressサイトを構築しており、あなたのサイトが私を導くのに非常に役立っています。ありがとうございます。
ログインユーザー(「プロフィール編集」など)とログアウトユーザーで異なるメニューを表示したいと思っており、ここにたどり着きました。共有されたコードは私にはうまくいきます。これで2つのメニューが表示され、きれいに表示されています。しかし、コードの最後の部分、add filter文字列は、少し混乱していると思います。今、サイドバーウィジェットの下に別のメニューが表示されています。「ログイン済み」メニューです。シドニーテーマを使用しており、この不要なメニューを削除しようとしましたが、うまくいきませんでした。表示されないようにするにはどうすればよいですか?
WPBeginnerサポート
こんにちは、Petさん。
カスタムメニューがウィジェットとして追加されていないか、外観 » ウィジェット ページを確認してください。もしそこにある場合は、そのウィジェットを削除するだけです。
管理者
Pet
What genius! It worked! Thanks for the wonderful tip!!
Jomcy Johny
私も同じ問題を抱えています。助けてください。しかし、ウィジェットはありません。ありがとうございます..!
Alex Hammerschmied
Works like a charm…
Thanks for that.
Btw i love theses short tutorials
giovanna
こんにちは、助けていただけますか?また問題があります。メニューをすべての人に非表示にして、ベンダーのみが見れるようにするにはどうすればよいですか?どのような特定のコードを使用すればよいですか?
ericlee
functions.phpをこのように変更すると、次のWPバージョンにアップグレードしたときに消えてしまいませんか?
WPBeginnerサポート
はい、テーマを更新すると消えてしまいます。これを防ぐには、サイト固有のプラグインを作成することができます。
管理者
Ramona
これはBuddypressのインストールでも機能しますか?よろしくお願いします。
Nikhil Chaudhari
この関数はセカンダリメニューも設定しますか?プライマリメニューのみを設定したいのですが。どうすればよいですか?
Nikhil Chaudhari
この上記の関数はセカンダリメニューを設定していますが、ヘッダーメニューのみを設定したいのですが?
どうすればできますか?
Asfaha
こんにちは、
このソリューションをありがとうございます。適用したところ完璧に動作し、追加のプラグインをインストールせずに済みました。
Shafaq
これは、ログインユーザーメニューに場所top-menuを追加し、メニューにloggedinを追加することで既存のメニューを置き換えるためのコードです。elseステートメントは不要です。
add_filter( ‘wp_nav_menu_args’, function ( $args )
{
if( is_user_logged_in() && $args[‘theme_location’] === ‘top-menu’ ) {
$args[‘menu’] = ‘loggedin’;
}
return $args;
});
アシュラフ・アリ
———————————————————–
function my_wp_nav_menu_args( $args = "" ) {
if( is_user_logged_in() ) { $args[‘menu’] = ‘logged-in’; } else { $args[‘menu’] = ‘logged-out’; } return $args; } add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ ); ———————————————————–
さて、どうすればこれで動作させられますか
—————————————————
———————————————————————————————————————-
アドバイスをお願いします
Iqbal Mahmud
ログアウトしていないユーザーから単一のメニューでページを非表示にしたい場合は、どうすればよいですか?
Kasper
ページをロックして、ログアウトしたユーザーから非表示にすることができます。これを非常に簡単に行えるプラグインがいくつかあります。Users Ultraが思い浮かびます。
ゼブ
すべて完璧に機能しました。
しかし、セカンダリナビゲーションメニューセクションにプライマリメニューが繰り返し表示される問題がまだ残っており、削除できません(セカンダリメニューは設定していません)。
Vince
全く同じ問題が発生しています。セカンダリメニューの場所が突然反映され、私もセカンダリメニューを設定していません。:/ どうすればよいかアドバイスをお願いします。
事前に感謝します。
Chiranjeevi Vinodkumar
聞いてください!!!
ほとんどの人がテーマを使用しています。
まず、テーマのfunctions.phpに移動します。
キーワードとして「navigation」で検索してください。
Shopkeeperテーマの場合..
================================================================== register_nav_menus( array( 'top-bar-navigation' => __( 'Top Bar Navigation', 'shopkeeper' ), 'main-navigation' => __( 'Main Navigation', 'shopkeeper' ), 'footer-navigation' => __( 'Footer Navigation', 'shopkeeper' ), ===================================================================
このように表示されます。プライマリのものを選択してください。私の場合は、「Top Bar Navigation」なので、「top-bar-navigation」を使用しました。
以下のコードを使用しましたが、見事に機能しました!!!
これは作者への感謝の気持ちです。
こんにちは!!
Ann Novakowski
WPで私にうまくいった方法を以下に示します。これを、ログインしているBuddypressユーザー専用のプライマリメニューを作成するために使用しました。フッターメニューやソーシャルメディアメニューには影響しませんので、ログインしているかどうかにかかわらず、すべての訪問者が同じセカンダリメニューを見ることができます。これは、上記のすべてのコメントに基づいています(Fransiskaさんに感謝!)。
子テーマのfunctions.phpファイルに以下を追加しました:
// メンバーがログインしている場合のみメインメニューを変更する
function my_wp_nav_menu_args( $args = "" ) { if ($args['theme_location'] == 'primary') { if( is_user_logged_in()) { $args['menu'] = 'logged-in'; }else{ $args['menu'] = 'logged-out'; } } return $args; }
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
オリバー
何が起こったのかコメントが消えた理由は分かりませんが、-> ” <– こちらは正しいです!
フィデル・トーロ
ありがとうございます!! とても助かりました
マティアス・キャンベル
こんにちは。
WordPressのエディタで、テーマのfunctions.phpに(おそらく間違って)このコードを追加したところ、常に500サーバーエラーが発生するようになりました。コードを削除しても改善しません。
これ以前にサイト固有のプラグインを作成しようとしましたが、うまくいきませんでした。スニペットには開始と終了の括弧が必要ですか?
もしそうなら、どうすればよいですか?
私のホストは今助けてくれません。彼らは1時間あたり50ユーロでプログラマーに助けを求めるように求めています。助けてください。緊急です。
まだWordPressにログインしていますが、何をクリックしても、この特定のエラーで500エラーが発生します。
PHP Parse error: syntax error, unexpected ‘}’ in line 1194.
これは、functions.phpファイルのすべてのテキストの後にスニペットを貼り付けたためです。
その後、エディターとFTP経由で修正できるかスニペットを削除しましたが、それでもエラーが発生します。
ご返信をお待ちしております。
敬具
WPBeginnerサポート
コードをどこに追加するかによります。その前に閉じPHPタグがある場合は、php開始タグ(例:<?php)を追加する必要があります。
このコードがfunctionsファイル内の最後のものの場合、閉じタグを追加する必要はありません。
管理者
Hubert
複数のメニューロケーションがあり、各ロケーションに異なるメニューを適用したい場合は、以下のコードを使用できます。
function my_wp_nav_menu_args( $args = ” ) {
// プライマリメニューの場所
if( ‘primary-main’ == $args[‘theme_location’] ) {
if( is_user_logged_in() ) { $args[‘menu’] = ‘Primary-Logged-In’; } else { $args[‘menu’] = ‘Primary-Logged-Out’; }
return $args; }
// セカンダリメニューの場所
if( ‘secondary-menu’ == $args[‘theme_location’] ) {
if( is_user_logged_in() ) { $args[‘menu’] = ‘Secondary-Logged-In’; } else { $args[‘menu’] = ‘Secondary-Logged-Out’; }
return $args;
}
}
add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );
Haji
これは機能しません。2つ以上のメニューがある場合の正しいコードを知っている人はいますか?
Ravikant
完璧な兄弟。うまくいきました…素晴らしい仕事
Leopold
これはほとんど簡単すぎました!
簡単な記事を本当にありがとうございました。
こうすれば、プラグインをインストールする必要がありません。
ガウラン
IF MENUプラグインを使用する方が良いと思います。https://wordpress.org/plugins/if-menu/
このように2つの別々のメニューを作成すると、メニューの作成/更新を2回行う必要があります。
Chris
こんにちは、ゴーラングさん。
プラグインを使用する方が、functions.php ファイルをコーディングするよりも優れていると感じる理由を知りたいです。以前、WordPress サイトで実際に使用されているプラグインの数に注意するように言われたことがあり、上記のコードは、テーマが更新されるたびに監視する必要があることを除けば、十分にシンプルに見えます。
ありがとう、
Rub
素晴らしい、それを特定のロールを持つログインユーザーにメニューを表示するためにどのように使用できますか?
キット・ジョンソン
これは非常にシンプルかつきれいに機能しました。こんなに簡単だとは思っていませんでした。ありがとうございます!
Jason Sisson
これは素晴らしいです。試しました。動作します。しかし、ロールによってリダイレクトさせたいのですが、それは簡単ですか、それとももっと難しいですか?
Ryan R. Bayne
ありがとう。初めてメニュー関数を扱っています。
WTGポータルマネージャープラグインを作成しています。これにより、ポータルを非常に迅速に定義できるようになります。各ポータルには独自のメニューがあります。このプラグインは、ポータルとメニューの関係をより明確にし、その他のユニークなオプションを提供します。
veer2412
ユーザーごとに異なる投稿を表示するにはどうすればよいですか?
veer2412
ヘルプありがとうございます。でも、サイトでユーザーごとに異なる投稿を表示したい場合はどうすればいいですか?コーディングで可能ですか?