WordPress でサインインしているユーザーに異なるメニューを表示する方法

Rifat WordPressチュートリアル Dec 12, 2022

ログインしているユーザーに個別の WordPress メニューを表示しますか?? デフォルトでは、WordPress では、特定のテーマ領域でナビゲーション用に同じメニューを表示できます。 しかし、Web サイトにログインしているユーザーに別の menu? を表示したい場合はどうでしょうか。

この投稿では、サインインしている WordPress ユーザーにさまざまなメニューを簡単に表示する方法を紹介します。

ログインユーザーにとってのさまざまなメニューの重要性

訪問者の行動に基づいて WordPress Web サイトのさまざまな側面を変更すると、各ユーザーにパーソナライズされたエクスペリエンスが作成されます。

このカスタマイズされたコンテンツにより、WordPress のユーザー エクスペリエンスを向上させることができます。

素晴らしいウェブサイトを作成します

最高の無料ページビルダーElementor を使用

今すぐ始める

ユーザーが登録やログインを必要としない Web サイトを運営している場合、サイト全体で同じナビゲーション メニューを利用できる可能性があります。

ただし、他の Web サイトでは、カスタマイズされたメニューをログイン ユーザーに表示することで大きな利益が得られる場合があります。

オンライン ストア、WordPress メンバーシップ サイト コミュニティ、オンライン学習プラットフォームなどの Web サイトはすべて、カスタマイズされたナビゲーション メニューの恩恵を受けることができます。

ログインしたユーザー向けにカスタマイズされたナビゲーション メニューは、ユーザーが登録したアイテムの発見を容易にします。

たとえば、オンライン ストアのユーザーは自分のアカウントを管理でき、有料コミュニティのメンバーはサブスクリプションをすばやく更新したり、購入したオンライン コースを表示したりできます。

WordPress では、デフォルトで必要な数のナビゲーション メニューを作成できます。 ただし、WordPress テーマの特定の場所に表示できるメニューは 1 つだけです。

そこで、この動作を簡単に変更して、ログインしている WordPress ユーザーにさまざまなメニューを表示する方法を検討してみましょう。

ログインしているユーザーとログインしていないユーザーのメニューの作成

選択する方法に関係なく、最初に、ログイン ユーザーとログアウト ユーザーに表示されるナビゲーション メニューを設計する必要があります。

WordPress ダッシュボードの Appearance » メニューに移動するだけです。 Web サイトのすべてのユーザーに使用するナビゲーション メニューが既にある場合は、これをデフォルトのメニューにすることができます。

「新しいメニューを作成」リンクをクリックして、ログイン ユーザー用の新しいメニューを生成します。

ここでは、登録済みまたはログイン済みのユーザーにメニュー オプションを提供できます。 たとえば、メニューにログアウト リンクを含めることを選択できます。

画面の左側に、あなたのウェブサイトのページのリストが表示されます。 メニューにページを追加するには、ページの横にあるボックスにチェックを入れて、[メニューに追加] ボタンをクリックします。

画面の右側にあるメニュー項目をドラッグ アンド ドロップして再配置することもできます。

ページのさらに下にメニューを表示する場所を選択できます。 現時点では、このメニューに場所を割り当てる必要はありません。 これについては、記事の後半で説明します。

「メニューを保存」をクリックして変更を保存することを忘れないでください。

方法 1: プラグインを使用して別のメニューを表示する

これは、すべての WordPress ユーザーに推奨される戦略です。

条件付きメニュープラグインをインストールしてアクティブ化することが最初のステップです。 アクティベーション後、Appearance » メニュー ページにアクセスし、[場所の管理] オプションに切り替える必要があります。

ここには、WordPress テーマによって確立されたメニューの場所のリストと、現在表示されているメニューが表示されます。

たとえば、プライマリ メニューの場所に「メイン メニュー」というラベルの付いたナビゲーション メニューが表示されていることを示します。

ここで、特定の基準が満たされたときに代替メニューを表示するようにプラグインに指示する必要があります。

これを行うには、[+ Conditional Menu] オプションをクリックし、ログイン ユーザーに表示するナビゲーション メニューをドロップダウン メニューから選択します。

次に、[+ 条件] オプションをクリックする必要があります。

これにより、さまざまな条件を選択できるポップアップが表示されます。

[ユーザーがログインしました] の横にあるチェックボックスをオンにして、[保存] ボタンをクリックします。

Web サイトでログイン ユーザー メニューを表示できるようになりました。 WordPress 管理パネルからログアウトして、他のすべてのユーザーに表示されるナビゲーション メニューを表示することもできます。

方法 2: コードを使用して別のメニューを作成する

この手法では、WordPress サイトにコードを追加する必要があります。

次のコードを、テーマの functions.php ファイルまたはサイト固有のプラグインに追加する必要があります。

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' );

43 と 35 を、作成済みのナビゲーション メニューの ID に置き換えます。

[メニュー] ページで、ナビゲーション メニューを選択すると、その ID を見つけることができます。 ブラウザのアドレスバーにメニュー ID が表示されます。

まとめ

ElementorDiviなどのページ ビルダーを使用している場合でも、この方法を使用して、ログイン ユーザーとログアウト ユーザー用の独自のメニューを作成できます。 この記事は、サブスクリプション ベースまたはユーザー ベースの Web サイトのメニューを作成するのに役立ちます。

Divi WordPress Theme