
本日は業務メモです。ワードプレスでカスタムフィールドをチェックボックスにする方法。この実装ができればチェックを入れた記事に対して細かなコントロールが可能となります。たとえばチェックボックスがオンになっている記事だけを「検索エンジンの検索対象から外す」といった制御があります。
ワードプレスで管理画面にチェックボックスを入れて条件分岐をする
まずはカスタムフィールドを定義しましょう。
//カスタムフィールドのボックスを追加する
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');
以上でカスタムフィールドをチェックボックス化できます。
あとはチェックが入った記事に対してどういった処理を行うのか追加でfunctionを書けばOKです。
管理画面の見た目
投稿画面に「コンテンツ設定」が追加されました。
チェックをいれて更新ボタンを押せばチェックマークが反映されます。
チェックが有効になりました。
投稿画面にチェックボックスを追加できれば色々な制御が行えますよね。チェックが入った記事だけ異なるページに一覧で表示させたりと、チェックが有効な記事だけを制御できると便利に使えます。
運営中のウェブサイトをチェックボックスでコントロールしたい場合はこの方法を使えば実装可能です。ご希望の機能に応じて書き方は変更する必要があります。ぜひ一度お試しくださいませ。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する