入力データをDBに追加する前にチェックしようとしています。例えば:
投稿ページにbook_isbn
という名前のカスタム投稿メタがあります。この変数$_POST['book_isbn']
がDBに追加される前に有効であることを確認したいです。
これまでのところ、これを実現するためにフックwp_insert_post_data
を使用できることを私は知っています。私がこれを正しくしたかどうかはわかりません。私にはうまくいきません。以下のコードを確認してください。
add_filter( 'wp_insert_post_data', 'clean_data_before_post_created', '99', 2 );
function clean_data_before_ad_created( $data , $postarr ) {
$data['book_isbn'] = clean_isbn($_POST['book_isbn']);
return $data;
}
ありがとうございました。
これは投稿が保存された(作成/更新された)直後にあなたの関数を実行します。
add_action('save_post','clean_data_while_saving_post',1);
function clean_data_while_saving_post($post_id) {
$data = get_post_meta($post_id,'book_isbn',true);
update_post_meta($post_id,'book_isbn',clean_isbn($data));
}