¿Cómo puedo ejecutar una función personalizada cuando se cambia el estado de la publicación?

3

Puedo enlazar la función personalizada a cada uno de trash_post , edit_post , private_to_publish etc. para cumplir con algunos de mis requisitos, pero también necesito buscar más posibles transiciones como 'pendiente de borrador' , 'privado a borrador' y así sucesivamente.

Algo similar a esta función inexistente:

if( post_status_changed($post_id) ) {
    my_custom_function();
}
    
pregunta Max Yudin 16.03.2012 - 13:05

1 respuesta

14

Consulte esta página del Códice . En general, el gancho es {old_status}_to_{new_status} . (Sin probar) pero en su caso, el gancho sería pending_to_draft :

 add_action('pending_to_draft','wpse45803_pending_to_draft');
 function wpse45803_pending_to_draft($post){
  //Do something
 }

Es posible que desee buscar la función wp_transition_post_status . También puedes usar el gancho: transition_post_status

 add_action('transition_post_status','wpse45803_transition_post_status',10,3);
 function wpse45803_transition_post_status($new_status,$old_status,$post){
  //Do something
 }
    
respondido por el Stephen Harris 16.03.2012 - 13:27

Lea otras preguntas en las etiquetas