カスタムフィールドを簡単に設定できる便利なプラグイン
Custom Field Suite(カスタムフィールドスイーツ)
これでカスタムフィールドを設定している場合、普通に編集画面から内容を登録するときはもちろん問題ないのですが、独自プログラムからカスタムフィールドの内容を新規登録する場合は注意が必要です。
通常、カスタムフィールドにデータを登録する場合
add_post_meta()
update_post_meta()
を使用します。
これを使うと、確かにデータベースのwp_post_metaテーブルにデータが入るのですが、管理画面で該当記事の編集画面を開くと、データが入っていません。
かなり詰まったのですが、データベースをよくよく見てみると、「wp_cfs_values」といういかにもCustom Field Suite用のテーブルがあるじゃないですか。
要するに、これでキーとデータを紐づけているわけですね。
力技でここに紐づけ用のデータをINSERTする方法もありますが、そんなことをしなくても、ちゃんとCustom Field Suiteが関数を用意してくれています。
[PHP]
$post_id = (該当記事のID);
$post_meta_datas = (登録したいカスタムフィールドの情報);
CFS()->save( $post_meta_datas, array("ID" => $post_id) );
[/PHP]
という形で登録する必要があります。
以下例
[PHP]
$post_id = 1234;
$post_meta_datas = array(
"nickname"=>"ダリ",
"mail" => "xxxxx@xxxxxx.xxx",
"url" => "https://nandani.sakura.ne.jp/"
);
CFS()->save( $post_meta_datas, array("ID" => $post_id) );
[/PHP]