プログラムでWordPressカスタムフィールドを作成する方法

公開: 2022-01-20

プログラムでWordPressカスタムフィールドを作成しますか? はいの場合は、さらにいくつかのオプションを備えた完璧なガイドがあります。

WordPressが世界中で最も人気のあるCMSである理由はたくさんあります。 しかし、最も関連性の高いものの1つは、高度にカスタマイズ可能であることです。 WordPress Webサイトの多くの要素をカスタマイズできますが、そのうちの1つはカスタムフィールドでもあります。 WordPressにはさらに多くのカスタマイズ可能な機能があるため、Webサイトにプログラムでカスタムフィールドを追加することもできます。

カスタムフィールドとは何ですか?

カスタムフィールドは投稿またはページに添付され、Webサイトで使用される追加情報を格納します。 また、あらゆるタイプの投稿に関連付けることができます。 そのため、製品、コメント、さらにはカスタム投稿タイプに関連する情報も収集できます。

それらは、WordPressWebサイトのデータベースのwp_postmetaテーブルに保存されます。 これには、パラメーターmeta_id、post_id、meta_key、およびmeta_valueが含まれています。

データベースワードプレスはプログラムでカスタムフィールドを作成します

さらに、カスタムフィールドに任意の種類のデータを保存することもできます。 フロントエンドとバックエンドのユーザー、または他のPHPスクリプトでも使用できます。

WordPressでカスタムフィールドを作成する理由

カスタムフィールドは、さまざまな要件を達成するために使用できます。 投稿に関連する追加情報を追加する必要がある場合は常に、カスタムフィールドが非常に役立ちます。

ただし、カスタムフィールドは主に、開発者がWebサイトに新しい機能を追加するために使用します。 その最も便利なアプリケーションの1つは、ユーザーがフォームに入力できるようにフロントエンドでそれらを使用することです。

ただし、カスタムフィールドを使用できる例をさらにいくつか示します。

  • 投稿に「ムード」を付けて、書いたときの気分を明らかにしたい。
  • 特定の年齢層の投稿が提案されているかどうかをユーザーに知らせます。
  • 投稿を読むのに必要な時間を保存します。
  • 製品または投稿のスコアを付けます。
  • 存在する場合にスクリプトをトリガーする参照データ。

これとは別に、テーマとプラグインは通常、カスタムフィールドを使用して、特定の投稿またはページに特別な機能を割り当てます。 同様に、フロントエンドとバックエンドの両方で、ユーザーインターフェイスでカスタムフィールドを使用することも一般的な方法です。

WordPressのカスタムフィールドの重要性に慣れてきたので、それらを追加する方法を見てみましょう。

WordPressでカスタムフィールドを追加するにはどうすればよいですか?

デフォルトでは、エディターで編集しているときに、任意の投稿にカスタムフィールドを追加できます。 [ページオプション]タブで有効にし、下にスクロールしてカスタムフィールドメタボックスを見つけるだけです。

カスタムフィールドを手動で作成するには、[カスタムフィールドの追加]をクリックして名前と値を挿入するだけです。

しかし、あなたがここにいるなら、あなたは確かにプログラムでWordPressカスタムフィールドを作成する方法を探しています。 それでは、先に進んでそれに飛び込みましょう。

プログラムでWordPressカスタムフィールドを作成するにはどうすればよいですか?

プログラミングの基本的な技術知識があれば、WordPressでプログラムでカスタムフィールドを簡単に作成できます。

ただし、開始する前に、必ずWebサイトをバックアップして、プログラムで子テーマを作成するか、子テーマプラグインの1つを使用してください。 ウェブサイトのデリケートなファイルを変更します。これらの変更は、WordPressテーマを更新したときにも消去される可能性があります。 ただし、子テーマを使用する場合、WordPressテーマを更新した後でも、これらのファイルのカスタマイズは影響を受けません。

テーマファイルを自分で直接変更することに慣れていない場合は、コードスニペットなどのプラグインを使用することもできます。 それでも、このチュートリアルでは子テーマを使用する方が簡単です。

1.functions.phpテーマファイルにアクセスします

子テーマを作成したら、function.phpテーマファイルにコードスニペットを追加して、カスタムフィールドを作成できます。 [外観]> [テーマエディター]に移動し、WordPressダッシュボードからfunctions.phpファイルを開きます。 次に、このエディターの下部にコードスニペットを追加し、ファイル更新します。

テーマエディタのワードプレスは、プログラムでカスタムフィールドを作成します

このチュートリアルでは、Diviテーマを使用しました。 ただし、テーマエディタは、使用するテーマによってWebサイトで異なって表示される場合があります。

2.テーマエディタにコードスニペットを追加します

add_post_meta()関数は、これから使用する関数です。 投稿またはページのID、カスタムフィールドの名前とその値の3つのパラメータを取ります。 4番目のオプションのパラメーターを使用して、カスタムフィールドがすでに存在するかどうかを確認できます。

したがって、カスタムフィールドの追加は、子テーマのfunction.phpファイルに次の行を追加するのと同じくらい簡単です。

 add_post_meta(460、 "custom_field_name"、 "value"、true);

これにより、IDが460のカスタムフィールドが投稿に追加されます。

このデモでは、カスタムフィールドに単に「custom_field_name」という名前を付けました。 ただし、文字列を値(value)として割り当て、オプションのパラメーターをtrueに設定して、まだ存在しない場合にのみ文字列を作成することもできます。

もちろん、これは特定の投稿にカスタムフィールドを追加するためのスクリプトの最も単純な状態です。 カスタムフィールドが無用に存在するかどうかを同時にチェックするすべてのページの読み込みで機能するため、まったく効率的ではありません。

ありがたいことに、許容できるソリューションを実現するために、さらに改善することができます。 この場合、 publish_post()フックは、投稿が公開されたときにのみトリガーされるため、非常に便利です。

 add_action( 'publish_post'、 'add_custom_field_automatically');

関数add_custom_field_automatically($ post_ID){

if(!wp_is_post_revision($ post_ID)){

add_post_meta($ post_ID、 'meta_field'、 '55'、true);
}
}

$post_IDグローバル変数を使用しているため、これは新しく公開されたすべての投稿に適用されます。

WordPressのカスタムフィールドを更新する

WordPressでプログラムでカスタムフィールドを作成する場合、必要に応じて同様のコードスニペットでカスタムフィールドを更新することもできます。

カスタムフィールドを更新するには、 update_post_meta()関数を使用できます。 投稿を更新するときにも機能するため、前のスクリプトと同じフックも使用します。 次のコードスニペットをWebサイトのfunctions.phpファイルに追加するだけです。

 add_action( 'publish_post'、 'update_custom_field_automatically');

関数update_custom_field_automatically($ post_ID){

if(!wp_is_post_revision($ post_ID)){

update_post_meta($ post_ID、 'meta_field'、20);

}

}

これにより、以前に作成されたカスタムフィールドの値が55から20に変更されます。

update_post_meta()は、 add_post_meta()関数としても機能します。 存在しない場合は、新しいカスタムフィールドを作成できます。

WordPressのカスタムフィールドを削除する

コードスニペットの使用は、WordPressでカスタムフィールドを作成および更新するだけではありません。 プログラムでWordPressカスタムフィールドを作成した後、それらも削除したい場合があります。

指定された名前(キー)を持つすべてのカスタムフィールドを削除できるようにする関数は、 delete_post_meta_by_key(”meta_field”); 一意のパラメータとしてカスタムフィールド名のみを取ります。

すでに説明したように、これを行う正しい方法はフックを使用することです。 今回は、プラグインとテーマの初期化に主に使用されるinit()フックを使用します。 ここでも、次のスニペットをfunctions.phpファイルに追加します。

 add_action( 'init'、 'remove_custom_field_automatically');

関数remove_custom_field_automatically(){

delete_post_meta_by_key( 'meta_field');

}

特定の投稿のカスタムフィールドを削除するには、 delete_post_meta()関数を使用できます。 カスタムフィールドに特定の値が割り当てられている場合にも使用できます。

これは、前のスニペットと同じように機能します。 ただし、特定のカスタムフィールドの削除を対象とする柔軟性が向上します。

 add_action( 'publish_post'、 'delete_custom_field_automatically');

関数delete_custom_field_automatically($ post_ID){

if(!wp_is_post_revision($ post_ID)){

delete_post_meta($ post_ID、 'meta_field');

}

}

このスクリプトは、 $post_ID変数によって指定された現在の投稿の「custom_field」という名前のカスタムフィールドを削除します。

特定の値が付加されている場合にのみ、カスタムフィールドを削除することもできます。 3番目のパラメータとして追加するだけです。

delete_post_meta($post_ID, 'meta_field','20');

それでおしまい! これで、WordPressのカスタムフィールドをプログラムで作成、更新、または削除できます。 これらのスニペットをWebサイトに応じて変更するだけで、さらに変更できる場合があります。

結論

これは、WordPressでプログラムでカスタムフィールドを作成するためのチュートリアルです。 Webサイトでユーザーに追加情報を提供する場合に非常に役立ちます。

要約すると、WordPressでカスタムフィールドを作成するためのコードスニペットを示しました。 同様に、カスタムフィールドを更新および削除するためのスニペットもいくつか提供されています。 彼らはあなたのウェブサイトの必要性に応じて特定の状況で重宝することができます。

カスタムフィールドはWordPressの最高の機能の1つであり、WooCommerceでも広く使用されています。 WooCommerceチェックアウトフィールドにカスタムフィールドを追加したり、WooCommerceチェックアウトフィールドを並べ替えたりするためのガイドもあります。 WordPressとWooCommerceの他のカスタマイズについて詳しく知りたい場合は、次の投稿をご覧ください。

  • WordPressカスタム投稿タイプを作成する方法
  • WordPressログインページをカスタマイズする
  • WooCommerce関連製品をカスタマイズする方法

では、WordPressでカスタムフィールドをプログラムで作成できるようになりましたか? 以前に作成したことがありますか? コメントでお知らせください。