カスタムフィールド(メタ情報)の基礎
投稿に補助情報(サブタイトル、発表日、外部リンクなど)を付与するためのカスタムフィールド実装
ACF(Advanced Custom Fields)を使う方法
コアAPIのみで実装する方法
手順(コアAPI)
- add_meta_box で管理画面に入力パネルを追加。
- save_post フックで入力値を検証・保存(nonce と current_user_can を使う)。
- front-end で get_post_meta を使って表示。
add_action('add_meta_boxes', function(){
add_meta_box('lead_meta','リード文','render_lead_meta','post','normal','default');
});
function render_lead_meta($post){
wp_nonce_field('save_lead_meta','lead_meta_nonce');
$val = get_post_meta($post->ID,'_lead',true);
echo '<textarea name="lead_meta" style="width:100%;">'.esc_textarea($val).'</textarea>';
}
add_action('save_post', function($post_id){
if(!isset($_POST['lead_meta_nonce']) || !wp_verify_nonce($_POST['lead_meta_nonce'],'save_lead_meta')) return;
if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
update_post_meta($post_id,'_lead',sanitize_textarea_field($_POST['lead_meta']));
});
ACF使う利点
あんまり使いこなせてないけど管理UIが豊富で結構いじれる
フィールドタイプ(画像、リレーション、繰り返し)が簡単に扱える。

やることメモ
投稿に「リード文」フィールドを追加し、single.php で表示する
ACF を使うならフィールドグループを作成して実装

コメント