web-dev-qa-db-ja.com

新しい投稿を作成する前にカスタムフィールド入力データを変更する

入力データを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;
     }

ありがとうございました。

1
Louis Tran

これは投稿が保存された(作成/更新された)直後にあなたの関数を実行します。

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));
}
0
Johano Fierra