WordPress メニューに条件付きロジックを実装する方法

公開: 2022-10-14

デフォルトでは、Web サイト用の WordPress メニューを簡単に作成できますが、作成されたメニューは Web サイトのすべてのページでレンダリングされます。 場合によっては、別のページに別のメニューを表示したり、別のユーザーに別のメニューをレンダリングしたりする必要があるため、これは制限と見なされることがあります。 たとえば、ログインしているユーザーに「登録」メニュー項目を表示することは不適切です。

さまざまな条件でさまざまなメニューを実装することは、WordPress が提供する柔軟性ではありません。 このガイドでは、条件付きロジックと、それを WordPress メニュー内に実装して、さまざまな条件でさまざまなメニューを表示する方法について説明します。

目次

条件付きロジックとは

WordPress メニューにおける条件付きロジックの重要性

ナビゲーション メニューの設定

WordPress メニューの条件付きロジックに追加する方法

  • ログインしたユーザーとログアウトしたユーザーに異なる WordPress メニューを表示する
  • ユーザーの役割ごとに異なる WordPress メニューを表示する
  • 異なるページに異なる WordPress メニューを表示する
  • 条件付きメニュープラグインの代替

結論

条件付きロジックとは

条件付きロジックは、特定の基準が満たされた場合、または到達した場合に発生する自動化セットです。 たとえば、条件ロジックは主にフォームで見られ、特定のオプションが有効になっている場合、特定のフィールドが表示されます。 これは、たとえば WooCommerce チェックアウトで確認できます。特定の支払いゲートウェイを選択すると、支払いゲートウェイ フィールドがレンダリングされます。

ここでは、メニュー コンテキストの条件付きロジックを調べます。 支払いゲートウェイ フィールドと同様に、WordPress メニューをユーザーのアクションに基づいてレンダリングできます。

WordPress メニューにおける条件付きロジックの重要性

条件付きロジックを使用すると、WordPress Web サイト内のナビゲーションを改善できます。

メニューに条件付きロジックを実装したいさまざまなシナリオがあります。 これらのいくつかは次のとおりです。

i) ログインしたユーザーとログアウトしたユーザーに異なるメニューを表示する。

ii) さまざまなページでさまざまなメニューをレンダリングする。

iii) ユーザーの役割ごとに異なるメニューを表示する

上記は、メニューの条件付きロジックを適用できるケースのほんの一部です。 このガイドの後半では、上記のシナリオで条件付きロジックを実装する方法について説明します。

ナビゲーション メニューの設定

ほとんどの WordPress テーマには、事前設定されたメニューとメニューの場所が付属しています。 ただし、サイトの機能に合わせてメニュー ナビゲーションを設定する必要がある場合があります。 たとえば、アーカイブ用にレンダリングされるメニューと、通常のページ用に別のメニューをセットアップする必要がある場合があります。

ナビゲーション メニューをセットアップするには、次の手順を実行します。

WordPress ダッシュボード内の [外観] > [メニュー] セクションに移動します。

「新しいメニューを作成」リンクをクリックします

次の画面で、メニュー名を指定し、[メニューの作成] ボタンをクリックします。

次に、左ペインから、アコーディオン アイコンをクリックし、さまざまなチェックボックスを選択してさまざまなメニュー項目を選択することにより、メニュー内でレンダリングしたいコンテンツを選択できます。

各アコーディオンの下に配置したいメニュー項目を選択したら、それぞれの「メニューに追加」ボタンをクリックして、メニュー項目をメニューに追加します。

次に、好みの順序に基づいて、右側のメニュー項目をドラッグ アンド ドロップできます。

メニュー項目の下には、メニューの表示位置を指定するオプションや、メニューを表示するセクションを指定するオプションもあります。 テーマが異なれば、メニューの場所も異なる場合があります。

上記を実行したら、上のスクリーンショットにある「メニューを保存」ボタンをクリックしてメニューを保存してください。

WordPress メニューの条件付きロジックに追加する方法

WordPress メニューの条件付きロジックは、カスタム コードまたはプラグインを使用して追加できます。 ここでは、Conditional Menus プラグインを使用します。

Conditional Menus プラグインは無料のプラグインであり、以下の手順を実行して設定できます。

WordPress ダッシュボード内の [プラグイン] > [新規追加] セクションに移動します。

「Conditional Menus」プラグインを検索します

プラグインのインストールと有効化に進みます

ログインしたユーザーとログアウトしたユーザーに異なる WordPress メニューを表示する

さまざまなケースで、ログインしているユーザーとログアウトしているユーザーで異なる WordPress メニューを表示することが重要です。 たとえば、オンライン ストアを運営している場合、この機能は実際に役立つ場合があります。 そのような実装を実現するには、次のことを実行する必要があります。

i) 最初に 2 つの異なるメニューをセットアップします。 1 つはログインしたユーザーのメニューとして機能し、もう 1 つはログアウトしたユーザーのメニューとして機能します。 「ナビゲーション メニューの設定」セクションに記載されている手順を利用できます。

ii) [外観] > [メニュー] > [場所の管理] セクションに移動します

iii) 次に、メニューをレンダリングしたいテーマの場所で、「条件付きメニュー」リンクをクリックします。

iv) ログインしたユーザーに表示するメニューを選択します

v) 条件リンクをクリックします

vi) レンダリングされたポップアップで、[全般] タブ内にある [ユーザーがログインしました] オプションを選択します。

vii) すべての変更を保存します

ログイン中にウェブサイトにアクセスしようとすると、ログインしたメニューがサイト内に表示されることがわかります。 以下は、ここでの例に基づいたサンプルの図です。

ログアウト中にサイトをプレビューすると、デフォルトのメニューがレンダリングされていることに気付くでしょう。 以下はこれに関するサンプルです。

ユーザーの役割ごとに異なる WordPress メニューを表示する

条件付きメニュー プラグインを使用すると、さまざまなユーザー ロールに対してさまざまな WordPress メニューを表示できます。 ログインしているユーザーとログアウトしているユーザーの異なるメニューの表示と同様に、最初に [外観] > [メニュー] セクションから、異なるユーザー ロールに対して異なるメニューを設定する必要があります。 これが完了したら:

i) [外観] > [メニュー] > [場所の管理] セクションに移動します

ii) 次に、「条件付きメニュー」リンクをクリックします。

iii) これが完了したら、目的のユーザー ロールのメニューを指定します。

iv) 上のスクリーンショットに表示されている [条件] リンクをクリックし、レンダリングされたポップアップ内で [ユーザー ロール] タブにアクセスし、特定のメニューを表示する位置にあるユーザー ロールを指定します。

v) 変更を保存します

この場合、管理者としてメニューをプレビューすると、設定されたメニューがレンダリングされることがわかります。 以下は、これに関するサンプルのスクリーンショットです。

異なるページに異なる WordPress メニューを表示する

条件付きメニュー プラグインは、さまざまなページでさまざまな WordPress メニューをレンダリングする際にも使用できます。

上記の他のアプリケーションと同様に、最初に [外観] > [メニュー] セクションからメニューを設定する必要があります。 このメニューは、別のメニューをレンダリングしたいページで使用されます。

そうしたら、Manage Locations セクションに移動し、レンダリングしたいメニューを選択します。

次に、上のスクリーンショットに表示されている条件リンクをクリックします。

レンダリングされたポップアップ内で、[ページ] セクションに移動し、メニューをレンダリングするページを選択します。

これが完了したら、すべての変更を保存します。

設定ページ (ここでは「マイ アカウント」) をプレビューすると、メニューが適用されていることがわかります。 以下は、これに関するサンプルのスクリーンショットです。

条件付きメニュープラグインの代替

Conditional Menus プラグイン以外にも、メニューを制御できるプラグインが多数あります。 検討できるプラグインには次のものがあります。

1.ユーザー メニュー – ナビゲーション メニューの表示

ユーザー メニューは無料のプラグインであり、主にログイン ユーザーが関与する Web サイトの特定のメニュー項目の表示を制御するために使用できます。

プラグインを使用すると、特定のメニュー リンクを表示できるユーザーを指定できます (特定のユーザー ロール、ログアウトしたユーザー、またはすべてのユーザー)。

このプラグインでは、以下に示すように、メニュー項目のナビゲーション ラベル内にレンダリングされるユーザー情報を追加することもできます。

2. If Menu – メニューの可視性コントロール

If Menu プラグインを使用すると、メニュー項目の表示を制御できます。 プラグインの助けを借りて、以下の可視性条件を指定することができます:

  • ユーザーの役割に基づく可視性
  • ユーザーがログインしているかどうかに基づく可視性
  • ページの種類に基づく可視性
  • 訪問者のデバイスがモバイル デバイスであるかどうかに基づく可視性

メニュー項目により多くの可視性機能を組み込みたい場合は、More Visibility Rules アドオンを購入することもできます。 これらの機能の一部は次のとおりです。

  • メンバーシップとサブスクリプションに基づく可視性
  • 訪問者の位置に基づく可視性
  • 訪問者の言語に基づく可視性

結論

WordPress サイト内でさまざまなメニューを使用すると、サイトをナビゲートするときに優れたユーザー エクスペリエンスを生み出すのに役立ちます。 これは、例えば、指定された条件に基づいて、ユーザーにのみ関連するメニューをレンダリングすることによって実現されます。

このガイドでは、WordPress メニュー内に条件付きロジックを実装する方法を検討しました。 この情報が、セットと目的の条件に基づいてさまざまなメニューをレンダリングするのに役立つことを願っています.

ご意見、ご質問、ご提案がありましたら、下のコメント セクションをご利用ください。