ワードプレスで管理画面にチェックボックスを入れて条件分岐をする

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

本日は業務メモです。ワードプレスでカスタムフィールドをチェックボックスにする方法。この実装ができればチェックを入れた記事に対して細かなコントロールが可能となります。たとえばチェックボックスがオンになっている記事だけを「検索エンジンの検索対象から外す」といった制御があります。

ワードプレスで管理画面にチェックボックスを入れて条件分岐をする

まずはカスタムフィールドを定義しましょう。

//カスタムフィールドのボックスを追加する
function add_secret_content_setting_fields() {
	add_meta_box( 'secret_content_setting', 'コンテンツ設定', 'insert_secret_content_setting_fields', 'post', 'normal', 'high');
}
add_action('admin_menu', 'add_secret_content_setting_fields');

そして、次に管理画面にチェックボックスを追加。

//カスタムフィールドの入力エリアを設定する
function insert_secret_content_setting_fields() {
	global $post;
	if( get_post_meta($post->ID,'secret_content_label',true) == "check-on" ) {
		$secret_content_label_check = "checked";
	}
	echo '<p class="meta-options"><label><input type="checkbox" name="secret_content_label" value="check-on" '.$secret_content_label_check.' > 検索エンジン上に登録しない</label></p>';
}

最後にカスタムフィールドの値を保存できるようにしましょう。

// カスタムフィールドの値を保存
function save_secret_content_setting_fields( $post_id ) {
	
	if(!empty($_POST['secret_content_label'])){
		update_post_meta($post_id, 'secret_content_label', $_POST['secret_content_label'] );
	} else {
		delete_post_meta($post_id, 'secret_content_label');
	}
}
add_action('save_post', 'save_secret_content_setting_fields');

以上でカスタムフィールドをチェックボックス化できます。

国内最大級の広告サービスでエンジニア職

⇒ 今すぐ募集内容をチェック - 株式会社ファンコミュニケーションズ【AD】 -

あとはチェックが入った記事に対してどういった処理を行うのか追加でfunctionを書けばOKです。

管理画面の見た目

投稿画面に「コンテンツ設定」が追加されました。

チェックをいれて更新ボタンを押せばチェックマークが反映されます。

チェックが有効になりました。

投稿画面にチェックボックスを追加できれば色々な制御が行えますよね。チェックが入った記事だけ異なるページに一覧で表示させたりと、チェックが有効な記事だけを制御できると便利に使えます。

運営中のウェブサイトをチェックボックスでコントロールしたい場合はこの方法を使えば実装可能です。ご希望の機能に応じて書き方は変更する必要があります。ぜひ一度お試しくださいませ。

【今すぐ無料プラグインを手に入れる】
無料ダウンロードはこちら

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報はもちろんお好みの機能をいただければ専属スタッフが心を込めて対応させていただきます。まずはお気軽にお問い合わせくださいませ。

- 超快速なワードプレスを運営しませんか?【AD】-

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください