web-dev-qa-db-fra.com

Modifier les données d'entrée de champ personnalisées avant de créer une nouvelle publication

J'essaie de vérifier les données d'entrée avant de les ajouter à la base de données. Par exemple:

J'ai un message personnalisé meta nommé book_isbn dans la page du message. Je veux m'assurer que cette variable $_POST['book_isbn'] est valide avant d'être ajoutée à DB.

Jusqu'à présent, je sais que je peux utiliser hook wp_insert_post_data pour y parvenir. Je ne suis pas sûr d'avoir bien fait cela. Ca ne marche pas pour moi Veuillez vérifier le code ci-dessous.

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;
     }

Je vous remercie.

1
Louis Tran

Cela lance votre fonction juste après que le message ait été enregistré (créé/mis à jour):

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