Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/12/2018, 01:48
lk2_89
 
Fecha de Ingreso: agosto-2007
Mensajes: 71
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Modificar base de datos tras publicar post wordpress

Respecto a get_field(pertenece), se trata de un Custom Field que se llama así, tal cual, pertenece. Es un campo que el usuario introduce al redactar una clase, para indicar el ID del padre (curso), para solucionar el tema de que cuando un curso aún no esté publicado, admita ese campo.

Lo de remover y añadir la acción dentro de la función fue una solución que encontré buscando por la red. Es la única solución que encuentro para que una vez que actualizo una clase, WordPress no me entre en un bucle infinito. Si lo dejo así:

Código PHP:
function save_curso_parent($post_id,$post,$update){
    
$post_type get_post_type($post_id);
    if (
"curso" != $post_type) return;
    
$new_post_id=get_field(pertenece);
    
wp_update_post(
        array(
            
'ID' => $post_id,
            
'post_parent' => $new_post_id
        
)
    );
}
add_action'save_post''save_curso_parent',10,3); 
me quedo dentro de ese bucle infinito que te comento.

Gracias por tu ayuda, @ArturoGallegos.