
条件分岐をノーコードで簡単に実現できる VK Dynamic If Block
主にテーマの作成・カスタマイズにおいて、クラシックテーマでは PHP の If 構文を用いてページ毎に表示要素を切り替える手法が一般的でした。しかしながら、HTMLファイルで構成されるブロックテーマでは is_front_page() や is_single() といった PHP の関数は使う事ができません。
その結果、例えばサイドバーだけ違うだけのケースでも複数のテンプレートが必要となり、修正の際はテンプレートの数だけ調整が必要になってしまいます。
しかしながら、この VK Dynamic If Block プラグインがあれば、 PHP の If 構文のような条件分岐をノーコードで簡単に実現できます。

- 1. 条件分岐をノーコードで簡単に実現できる VK Dynamic If Block
- 2. VK Dynamic If Block のインストール
- 3. VK Dynamic If Block の使い方
- 3.1. Dynamic If ブロックを配置
- 3.2. 表示を出し分けたい対象のブロックを配置
- 3.3. 条件タイプの選択
- 3.3.1. 実案件で使えるテクを紹介!
- 3.4. else ブロック
- 3.5. 条件の追加・削除
- 3.6. 除外指定
- 3.7. 条件演算子(AND / OR)
- 3.8. 条件タイプ
- 3.8.1. ページタイプ
- 3.8.1.1. 特定の固定ページだけ表示・非表示を制御できる
- 3.8.2. 投稿タイプ
- 3.8.3. タクソノミー
- 3.8.4. 言語
- 3.8.5. ユーザー権限
- 3.8.6. 投稿者
- 3.8.7. カスタムフィールド
- 3.8.7.1. カスタムフィールドの値の有無での表示の出し分け
- 3.8.7.2. カスタムフィールドの値の一致での条件分岐
- 3.8.8. 表示期間
- 3.8.9. ログインユーザーのみ
- 3.8.10. モバイル端末のみ
- 4. よくある質問
- 5. ダウンロード
VK Dynamic If Block のインストール
VK Dynamic If Block プラグインは WordPress 公式ディレクトリに登録済みですので、ご利用の WordPress の管理画面より無料でインストールできます。インストール後、有効化してください。

VK Dynamic If Block の使い方
バージョン 1.0 で仕様変更を行いました
実案件で使えるテクを紹介!
実案件でもよく使う「痒いところに手が届く」VK Dynamic If Block の使い所をピックアップして紹介しています。
else ブロック
Dynamic If ブロックの中に、その条件に合致しない場合に表示する Dynamic If – Else ブロックを配置できます。
※配置した Dynamic If ブロックの中をクリックすることで、ブロックインサーターに Dynamic If – Else ブロックが表示されます。
VK Dynamic If Block には後述の「除外指定」の機能もありますが、else ブロックは除外処理がより簡単にできます。


条件の追加・削除
「条件を追加」をクリックすれば条件を追加できます。条件が複数ある場合、不要な条件は「条件を削除」をクリックして削除できます。

除外指定
「除外指定」を有効にすると、条件に合致したときに除外できます。「除外指定」が有効の場合、右上のラベルの先頭に「!」が表示されます。

条件演算子(AND / OR)
複数の条件を追加すると、条件演算子が表示されます。条件を AND もしくは OR で結合するかを指定できます。

条件タイプ
ページタイプ
指定したページタイプで表示の出し分けができます。フロントページ、個別投稿、固定ページ、投稿タイプアーカイブなどから選びます。
固定ページで親ページ子ページを設定している場合は「親ページがある」「「子ページがある」を選べ、親ページがある場合には表示させるといったことができます。

特定の固定ページだけ表示・非表示を制御できる
たとえば、X-T9 の固定ページテンプレートのページ最下部にスペーサーを配置すると、どの固定ページを表示してもページ最下部に余白がつきます。でも、このページだけ余白が不要という時には、以下のよう設定します。
Dynamic If ブロックを配置し、その中にレスポンシブスペーサーを挿入します。Dynamic If ブロックの設定パネルでは、以下のように設定します。
- 条件タイプ:ページタイプ
- ページタイプ:固定ページ
- ページを選択:ここでは「スタッフ紹介」
- 除外設定:有効

この設定により、「スタッフ紹介」ページでは、最下部のセクションとフッターの間に隙間なく表示されます。
投稿タイプ
指定した投稿タイプで表示の出し分けができます。投稿、固定、作成したカスタム投稿タイプから選びます。

タクソノミー
指定したタクソノミーで表示の出し分けができます。特定の特定のタクソノミーやタームでのみコンテンツを表示できます。

言語
指定した言語で表示の出し分けができます。日本語、英語、その他の言語から選びます。

たとえばブロックテーマ X-T9 で、ブロックテーマ未対応の多言語化プラグインを使用する際に、ヘッダーメニューやフッターを多言語に対応させたいとします。日本語と英語のヘッダー(フッター)を作成し、表示を出し分けることで対応できます。

ユーザー権限
ログインしているユーザー権限で表示の出し分けができます。管理者、編集者、投稿者など、指定するユーザー権限にチェックを入れます。会員サイトで会員限定コンテンツを表示させたいときなどに利用できます。


投稿者
投稿者で表示の出し分けができます。登録している投稿者から選びます。

カスタムフィールド
カスタムフィールドの値の有無や一致での表示の出し分けができます。

ブロックエディタでは自由にレイアウトが可能になった事から、カスタムフィールドを使う頻度はぐっと低くになりましたが、特定の要素を個別ページだけでなく、投稿リストでも表示したい場合などはカスタムフィールドを使うケースもあると思います。
ブロックエディタ上でカスタムフィールドの値を表示する方法としては VK Blocks Pro のダイナミックテキストブロックで表示要素をカスタムフィールドに指定する他、自分でカスタムフィールド表示用のショートコードを作成したり、他のプラグインを使用するなどがあります。
カスタムフィールドの値の有無での表示の出し分け
例えば「制作実績」という投稿タイプに対して、「クライアント」というカスタムフィールドを用意し以下のように表示するケースがあるとします。
クライアント
サンプル工務店
使用技術など
WordPress
WordPressテーマ : X-T9
しかしながら、投稿によっては大人の事情でそのカスタムフィールドの値を入力しないケースがあります。その場合以下のような状態になります。
クライアント
使用技術など
WordPress
WordPressテーマ : X-T9
この表示で良い場合は別に問題ないのですが、カスタムフィールドに入力がない場合は項目名も非表示にしたいというケースも多いと思います。
そういった場合に VK DynamicIf Block を使って、カスタムフィールドの値の有無での条件分岐が可能です。

カスタムフィールドの値の一致での条件分岐
表示期間
指定した日時で表示の出し分けができます。
特定のブロックを指定日時で自動的に非表示にしたり、指定日時以降に表示したりが可能です。また、公開日からの日数による指定や、表示期間についてカスタムフィールドの値を参照するなども可能です。

詳しくは動画で解説していますので、参照ください。
ログインユーザーのみ
ユーザーがログインしているかどうかで表示の出し分けができます。「ログインユーザーにのみ表示」を有効にすると、ログイン状態のユーザーにのみ見せたいコンテンツを表示させることができます。

モバイル端末のみ
モバイル端末で表示の出し分けができます。「モバイル端末のみ」を有効にすると、タッチデバイスの時だけUIを変えたいなどが可能になります。

なお、VK Blocks には画面サイズごとの非表示設定があります。
よくある質問
-
他社のWordPressテーマとの互換性や相性などはありますか?
-
デザイン的な要素はありませんので基本的にはどのテーマでも問題なく動作します。
ダウンロード
公式ディレクトリに登録済みですので管理画面から直接インストールしてご利用ください。












