WordPressカスタムフィールドを作成して使用する方法

公開: 2020-04-23

WordPressの主な利点の1つは、その汎用性です。これは、組み込みの拡張機能のおかげで可能になります。 それが提供するさまざまな拡張式の中に、カスタムフィールドがあります

WordPressには、投稿者がカスタムフィールドを投稿に割り当てることができるようにする機能があります。 この任意の追加情報は、メタデータと呼ばれます。

メタデータはキーと値のペアで処理されます。 キーはメタデータ要素の名前です。 は、情報が関連付けられている個々の投稿のメタデータリストに表示される情報です。

WordPress.orgドキュメント

たとえば、モーターの世界に関連する概念に関するメタデータを作成する場合は、次のようになります。

  • ブランド:フォード
  • モデル:フォーカス
  • :白
  • パワー:110hp

今日の投稿では、カスタムフィールドを作成する方法、それらを使用する方法、およびWordPressユーザーや開発者としてどのように役立つかを紹介します。 WordPressでのコーディング方法の基本を理解する必要があることに注意してください。ただし、特にカスタムフィールドを操作するためのすばらしいプラグインの使用方法を紹介する場合は、投稿を簡単にフォローできることを願っています。高度なカスタムフィールド。

WordPressカスタムフィールドのしくみ

カスタムフィールドとは何か、そしてそれらがどのように機能するかを理解する最良の方法は、WordPressデータベースを調べることです。 ご存知かもしれませんが、WordPressで投稿、ページ、または(ほぼ)他のタイプのコンテンツを作成するたびに、この新しいコンテンツはwp_postsというテーブルに保存されます(プレフィックスは変更される可能性があります)。

データベース内のテーブルは、以前に操作した他のテーブルとまったく同じです。 基本的に、「保存できるもの」を定義する一連の列と、特定の情報を含む行があります。 wp_postsの場合、列はタイトルコンテンツ、作成発行日などです。 正直なところ、特別なことは何もありません。

WordPressデータベースのwp_postsテーブル。
WordPressデータベースのwp_postsテーブル。

テーブルを使用する際の「問題」の1つは、テーブルに格納できる情報がテーブルにある列に制限されることです。 新しいコンセプトに関する情報を保存したい場合は、保存できません。 では、テーブルがすでに設定されている場合、どのようにしてカスタムフィールドを作成できますか? まあ、十分に単純です、あなたはそれのために設計された新しいテーブルが必要です。

すべてのWordPressデータベースには、次のようなwp_postmetaという別のテーブルがあります。

WordPressデータベースのwp_postmetaテーブル。
WordPressデータベースのwp_postmetaテーブル。

前のスクリーンショットでわかるように、メタデータテーブルは、meta_key列とmeta_value meta_keyを使用して各ペアを特定のコンテンツに関連付けることができるように設計されてpost_idます。 簡単です!

それでは、このテーブルをどのように使用できるかを詳しく見ていきましょう。

新しいカスタムフィールドを作成する方法

すでに見てきたように、カスタムフィールドは常に特定の投稿に関連付けられています。 したがって、エディターには、それらを編集するためのある種のユーザーインターフェイスが必要です。 残念ながら、グーテンベルクを見てみると、何もありません…

WordPressエディターでカスタムフィールドを編集するには、高度なパネルを有効にする必要があります。 エディターの右上のアイコンをクリックしてから、[オプション]をクリックするだけです。

グーテンベルクの設定
グーテンベルクの設定。

これにより、グーテンベルクで利用可能なさまざまなパネルを含む新しいウィンドウが開きます。 カスタムフィールドという名前の1つを見つけて、有効にします。

グーテンベルクでカスタムフィールドをアクティブ化する方法
グーテンベルクでカスタムフィールドをアクティブ化する方法。

有効にすると、投稿のカスタムフィールドを簡単に作成および編集できます。

グーテンベルクのカスタムフィールド
グーテンベルクのカスタムフィールド。

このシンプルなインターフェイスにより、必要な数のキーと値のペアを作成できます。 たとえば、上のスクリーンショットでは、この投稿の冒頭で紹介したフィールドのいくつかを追加した方法がわかります: nelio_brandnelio_modelnelio_color 、およびnelio_hp

カスタムフィールドの使用方法

カスタムフィールドを使用するには、(a)投稿の識別子、(b)使用するフィールドの名前、(c)使用する場所の決定の3つが必要です。 たとえば、上記の例で作成したnelio_brandフィールドを投稿の最後に表示したいとします。 その値を取得するために、次のように使用できるget_post_metaという名前の関数があります。

 function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );

前の例では、前に述べた3つのことを扱っていることに注意してください。

  • get_post_metaの最初のパラメーターは、正確には、関心のある投稿のIDです。この場合、現在の投稿のIDを返すget_the_ID()を使用します。
  • 2番目のパラメーターは、メタフィールドの名前(この場合はnelio_brand )です。
  • 最後に、投稿のコンテンツの最後に表示したいものとして、フロントエンドのメタフィールドを使用しています。 そして、私がthe_contentフィルターの間にそれを取得して使用しているので、あなたはそれを知ることができます。

これを行った結果は、次のスクリーンショットに表示されるものと似ています。

コンテンツの直後のカスタムフィールドを示す投稿のスクリーンショット。
コンテンツの直後のカスタムフィールドを示す投稿のスクリーンショット。

もちろん、これはほんの一例です。 カスタムフィールドは、「フロントエンドで何かを印刷する」以外のさまざまな方法で使用できます。 たとえば、Nelio A / B Testingは私たちが作成したプラグインの1つであり、WordPressサイトで分割テストを実行するように設計されています。 A / Bテストでは、代替コンテンツを作成する必要があります。プラグインは、カスタムフィールドを使用して代替コンテンツにラベルを付け、訪問者がこのコンテンツにアクセスできる方法とタイミングを制限します。

カスタムフィールドを管理するWordPressの機能

カスタムフィールドの値を取得するメソッド( get_post_meta )があるのと同じように、WordPressには、カスタムフィールドをプログラムで作成、更新、削除するための追加のメソッドadd_post_metaupdate_post_metadelete_post_metaがあります。 これらの関数は期待どおりに機能するので、これ以上の説明はしません…

高度なカスタムフィールドとは何ですか。

WordPressでカスタムフィールドがどのように機能するかがわかったので、もう良いニュースをお伝えできると思います。カスタムフィールドの操作プロセスを大幅に簡素化するプラグインがいくつかあります。

WordPressサイトでメタデータを作成するための最もよく知られていて最も評価の高いプラグインの1つは、AdvancedCustomFieldsです。 これを使用すると、カスタムフィールドをより簡単に定義できるだけでなく、これらのフィールドを処理するための改善されたユーザーインターフェイスを楽しむこともできます。 このインターフェースは、設定した値が意味をなし、意味的に意味があることを確認します:日付、画像、ギャラリー、範囲、数字…あなたはそれに名前を付けます!

AdvancedCustomFieldsプラグインのスクリーンショット
AdvancedCustomFieldsプラグインのスクリーンショット。

ACFについてもっと知りたい場合は、たくさんのリソースがあります。 しかし、Jo Minneyによるこの講演は、あなたを本当に始めることができると思います。

うまくいけば、カスタムフィールドのこの小さな紹介が、より良いWordPress開発者になるためのあなたの道に役立つでしょう!

UnsplashのPolinaRytovaによる注目の画像。