¿Alterar el conflicto de leyenda / descripción de los medios en Wordpress?

3

Al cargar una imagen, Wordpress lee los metadatos de descripción del jpg a través de wp_read_image_metadata y los inserta en el campo post_content al agregar el archivo adjunto a través de media_handle_upload o media_handle_sideload

Pero al agregar una imagen al editor en Wordpress, busca el título en el campo post_excerpt a través de image_media_send_to_editor

Lo que me gustaría es solo una continuidad, ya que cuando nuestras imágenes se cargan, el campo que WordPress completa para la meta descripción de las imágenes es el que se usa para el título al colocar una imagen en el editor.

¿Alguien puede sugerir una forma en que pueda engancharme a cualquiera de estas funciones para hacer coincidir el proceso? Realmente no me importa cómo lo arregle, aunque tiendo a pensar que post_excerpt conduce a menos sobrecarga de la base de datos ya que es un campo 'más pequeño'.

Cualquier ayuda es muy apreciada.

Gracias.

    
pregunta edeneye 23.01.2014 - 21:16

1 respuesta

1

Me pregunto si esto funcionará para ti:

add_action( 'add_attachment', function( $attachment_id ){
    $a = get_post( $attachment_id );
    if ( is_object( $a ) && 'image' === substr( $a->post_mime_type, 0, 5 ) )
        wp_insert_attachment( array( 'ID' => $a->ID, 'post_excerpt' => $a->post_content ) );

});

o con menos consultas:

add_action( 'add_attachment', function( $attachment_id ){
    global $wpdb;
    if( ! empty( $attachment_id ) )
        $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts 
                                       SET post_excerpt = post_content 
                                       WHERE ID = %d LIMIT 1", $attachment_id ) );

});

donde se copia la descripción ( post_content ) en la leyenda ( post_excerpt ) cuando el add_attachment se dispara justo después de insertar el archivo adjunto ( añadido).

    
respondido por el birgire 24.01.2014 - 04:27

Lea otras preguntas en las etiquetas