完成イメージ

カスタムフィールド

作業内容

functions.phpに、以下の記述を追加する。
形式・パラメータの詳細は、下記のリファレンスを参照。

カスタムフィールドボックスを追加表示

function add_item_fields() {
add_meta_box( 'item_setting', '見出し', 'insert_item_fields', 'スラッグなど', 'normal');
}
add_action('admin_menu', 'add_item_fields');

カスタムフィールドボックスの中に入力項目を表示

(テキスト)

function insert_item_fields() {
global $post;
echo '項目1: <input type="text" name="item-1" value="'.get_post_meta($post->ID, 'item-1', true).'" size="100" /><br><br>';
echo '項目2: <input type="text" name="item-2" value="'.get_post_meta($post->ID, 'item-2', true).'" size="100" /><br><br>';
}

(チェックボックス)

 if( get_post_meta($post->ID,'item_c-1',true) == "is-on" ) {
$item_label_check = "checked";
}
echo 'チェック項目: <input type="checkbox" name="item_c-1" value="is-on" '.$item_label_check.' ><br><br>';

カスタムフィールドボックスの中身を保存

function save_item_fields( $post_id ) {
if(!empty($_POST['item-1'])){
update_post_meta($post_id, 'item-1', $_POST['item-1'] );
}else{
delete_post_meta($post_id, 'item-1');
}

if(!empty($_POST['item-2'])){
update_post_meta($post_id, 'item-2', $_POST['item-2'] );
}else{
delete_post_meta($post_id, 'item-2');
}

if(!empty($_POST['item_c-1'])){
update_post_meta($post_id, 'item_c-1', $_POST['item_c-1'] );
}else{
delete_post_meta($post_id, 'item_c-1');
}
}
add_action('save_post', 'save_item_fields');