制作の現場から  
  プラグインなしで投稿ページにカスタムフィールドを作成する
2018
02
Dec

プラグインなしで投稿ページにカスタムフィールドを作成する

カスタムフィールドを作成するプラグインは現在いくつあるのでしょう?
便利だから使っている方も多いでしょう。

以下に該当する方以外は参考になりません。

●プラグインによっては入力の無いカスタムフィールドの値もページごとに保存されてゴミが溜まるのが嫌
●アフィリエイトのサイトなど自分でいくつも作りたい時に、プラグインの設定を何度もしたくない
●自分でプラグインを作りたい

ということで

プラグインなしで投稿ページにカスタムフィールドを作成する方法

コピペで使えます。

functions.php


// 投稿ページにカスタムフィールドを作る場合は、引数は順に htmlのID, メタボックスへ付けるタイトル, コールバック関数名, 投稿の種類, デザインのフォーマット

function tn_custom_fields() {

	add_meta_box( 'tn_seo', 'SEO対策', 'tn_create_fields', 'post', 'normal');

}
add_action('admin_menu', 'tn_custom_fields');

 
// カスタムフィールド(formの入力部品を作る)
$fiealds = get_post_custom( $post->ID );
function tn_create_fields() {
	echo 'ページの説明: <input name="description" size="50" type="text" value="'.$fiealds['description'][0].'" />';
	//入力欄が複数ある場合は、同じ手順で入力欄を増やします。
}
 
 
// カスタムフィールドの値を保存
function tn_save_fields( $post_id ) {
	if(!empty($_POST['description'])){
		update_post_meta($post_id, 'description', $_POST['description'] );
	}else{
		delete_post_meta($post_id, 'description');
	}
	//入力欄が複数ある場合は、同じ手順で入力欄を増やします。
}
add_action('save_post', 'tn_save_fields');

 

top