カスタム投稿タイプで投稿時にカスタムフィールドの値を取得してごにょごにょする話
こんにちは、スタッフブログを書くのはいつぶりか、山上です。
WordPressのカスタム投稿タイプ+カスタムフィールドのお話です。悩んだ際に、ググったのですが、同じようなことを書かれている方がいらっしゃらなかったので書きます。
最近、クライアントさんの要望で、WordPressで記事投稿時、データ保存にプラスして、別に静的なhtmlファイルを生成するというものがありました。そのhtmlファイルにはカスタムフィールドに入力した内容が入る感じです。
カスタムフィールドの値更新に関してはupdate_postmetaを利用してあげればいいので、今回はこれを利用。
利用しているプラグイン:types
カスタムポストタイプ:news
カスタムフィールド:wpcf-schedule
と考えてください。
下記をfunctions.phpに書きます。
add_action( 'save_post_news', 'news_init', 10, 0 );
function news_init(){
add_action( ‘updated_postmeta’, ‘newsInfo’, 11, 4 );
}
function newsInfo($meta_id, $object_id, $meta_key, $meta_value){
$date = get_post_meta($post->ID, ‘wpcf-schedule’, true);
}
これでカスタム投稿ニュースを投稿時、カスタムフィールドのscheduleを取得してhtmlに突っ込むなり、ごにょごにょすることができるようになりました。