オリジナルメタボックスのバリデーションについて
-
functions.phpにて「add_meta_box」を利用し、下記のようにチェックボックスの独自カスタムフィールドを追加しております。
この独自カスタムフィールドが、別プラグインで項目を管理しているカスタムフィールドの値を引用しているため、プラグイン「ACF」などが使用できずに「add_meta_box」で項目追加をしております。
ただ、この項目を必須としたいのですが、必須状態にできずに困っております。■functions.php
add_action('admin_menu', 'add_report_fields'); add_action('save_post', 'save_report_fields'); function add_report_fields() { add_meta_box('report_cate1', 'エリア', 'insert_report_area', 'report', 'side'); }
add_actionの「save_post」を利用したら、実現できるのではないかと考え、POSTしたデータがない場合は、「return」としたのですが、新規追加時は公開でき、更新時はただ値が更新されずに終わったという状態になります。
// カスタムフィールドの値を保存 function save_report_fields($post_id) { ///// 正しい手段で送信されたデータであることを確認 /// //nonceがセットされていなければ不正 if (!isset( $_POST[ '_wp_nonce' ])){ return $post_id; } //nonceがセットされていても、自分で作成した値でないなら不正 if ( ! wp_verify_nonce( $_POST['_wp_nonce'] , 'wp-nonce-key' )){ return $post_id; } // 書き込み権限がなければ不正 if (!current_user_can('edit_post', $post_id)){ return $post_id; } ///// カスタムフィールドの値を更新 /// // 活動レポート「エリア」項目保存 if (isset($_POST['report_areas']) && $_POST['report_areas']) { update_post_meta($post_id, 'report_areas', $_POST['report_areas']); } else { return; //delete_post_meta($post_id, 'report_areas', get_post_meta($post_id, 'report_areas', true)); } return $post_id; }
独自で追加したカスタムフィールドを必須にし、未入力の場合は、管理画面などでバリデーションコメント表示させることは可能でしょうか?
何か方法がございましたら、お力添えいただけますと幸いです。
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
- トピック「オリジナルメタボックスのバリデーションについて」には新たに返信することはできません。