web-dev-qa-db-fra.com

Quels crochets/filtres existe-t-il pour modifier les termes sélectionnés lors de la sauvegarde?

Très simple, où puis-je accrocher/filtrer pour modifier la sélection des termes des utilisateurs lorsqu’ils sauvegardent une publication (Mise à jour ou Ajout)?

J'ai besoin de raccrocher dans tous les cas; comme lors de l'enregistrement d'un article via AJAX, l'enregistrement lorsque JavaScript est désactivé et qu'un POST normal est effectué et lorsque les articles sont enregistrés via l'édition rapide.

2
Brady

C'est toujours 'save_post' (ou 'wp_insert_post' immédiatement après). Dans $_POST['tax_input'], vous trouverez tous les termes de toutes les taxonomies associées à la publication en cours.

Exemple:

'tax_input' => 
  array (
    'location' => 
    array (
      0 => '0',
    ),
  ),

Pour changer les termes, vous devez appeler wp_set_post_terms( $post_ID, $tags, $taxonomy ); manuellement. Changer ces valeurs ne fonctionnera pas, car elles sont définies lorsque les actions sont déclenchées.

Pour une publication existante qui est mise à jour, vous pouvez vous connecter à 'edit_post' et 'post_updated'.

Les paramètres pour toutes ces actions sont $post_ID, $post dans cet ordre. Pour 'post_updated' il y a une petite modification: $post_ID, $post_after, $post_before.

3
fuxia