custom-post-types – Usando save_post para reemplazar el título de la publicación

Pregunta:

Estoy usando publicaciones personalizadas, y en estas, no necesito el título.

Esto hace que WordPress establezca los títulos de mis publicaciones en "Borrador automático".

Me gustaría cambiar el valor del título a otra cosa, calculada a partir de otros campos de mi publicación.

¿Cómo hago para hacer eso usando save_post o algún otro medio?

Respuesta:

Este método más simple sería editar los datos en el punto en el que se insertaron, en lugar de actualizarlos después, usando wp_insert_post_data lugar de save_post . Esto funciona para crear una nueva publicación o actualizar una publicación existente sin cambios. También evita el peligro de crear un bucle infinito activando update_post dentro de save_post .

add_filter( 'wp_insert_post_data' , 'modify_post_title' , '99', 1 ); // Grabs the inserted post data so you can modify it.

function modify_post_title( $data )
{
  if($data['post_type'] == 'rating' && isset($_POST['rating_date'])) { // If the actual field name of the rating date is different, you'll have to update this.
    $date = date('l, d.m.Y', strtotime($_POST['rating_date']));
    $title = 'TV ratings for ' . $date;
    $data['post_title'] =  $title ; //Updates the post title to your new title.
  }
  return $data; // Returns the modified data.
}

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım