Soporte » Guías – Resolución de problemas » Atributo “title” imagen destacada

  • Moderador almendron

    (@almendron)



    Necesito capturar el valor del atributo “title” de la imagen destacada de una entrada, pero no acabo de encontrar nada que me sirva.

    Nota: el valor capturado lo quiero mostrar después pero esto no es problema.

    A ver si alguien me puede orientar un poco. Gracias.

Viendo 15 respuestas - 1 de 15 (de 17 total)
  • Moderador Fernando Tellado

    (@fernandot)

    Moderador almendron

    (@almendron)

    Gracias Fernando, ya lo había visto y no me sirve.

    En el ejemplo que indicas se obtiene el título (nombre) de la imagen destacada y yo lo que necesito es el “Atributo Title” de aquélla.

    Feno

    (@feno73)

    $title = get_the_title(get_post_thumbnail_id())
    O en su defecto:
    $alt = get_post_meta(get_post_thumbnail_id(), ‘_wp_attachment_image_alt’, true);

    Moderador Fernando Tellado

    (@fernandot)

    Justo lo que dice en el debate que he enlazado

    Feno

    (@feno73)

    Disculpa Fernando, pensaba que la parte de _wp_attachment_image_alt no estaba en el hilo enlazado.

    Moderador almendron

    (@almendron)

    He probado de nuevo los códigos del enlace puesto por @fernandot y no es lo que yo busco.

    Devuelve el nombre (título) de la imagen destacada: $title = get_post(get_post_thumbnail_id())->post_title; //The Title

    Devuelve la leyenda: $caption = get_post(get_post_thumbnail_id())->post_excerpt; //The Caption

    Y yo necesito capturar el atributo “title de la imagen”, es decir, la parte que pone “JAVIER OLIVARES” en el código que muestro a continuación:

    <img class="alignleft wp-image-107434 size-thumbnail" title="JAVIER OLIVARES" src=".....jpg" alt="La doctrina constitucional de Rufián" width="350" height="333" />

    Vamos, la que se pone en Opciones Avanzadas cuando editas una imagen en el campo “Atributo “title” de la imagen”

    En este caso, el código enlazado me devolvería “La doctrina constitucional de Rufián” como post_title y nada, porque no hay leyenda, como post_excerpt.

    • Esta respuesta fue modificada hace 1 semana por  almendron.
    Moderador LGrusin

    (@lgrusin)

    El problema es que se le está pasando el ID del post y no el ID del attachment.

    Algo asi debería funcionar:
    the_title_attribute ( array( 'post' => get_post_thumbnail_id() ) );

    Moderador almendron

    (@almendron)

    Gracias @lgrusin : Lo pruebo en cuanto me pueda y te digo algo.

    Moderador almendron

    (@almendron)

    @lgrusin : tampoco funciona.

    Devuelve también el “Título” la imagen y no el atributo “title”.

    Tomemos, por ejemplo, la entrada

    https://www.almendron.com/tribuna/si-se-puede-2/

    La imagen que se ve es la destacada.

    Si edito la imagen en la Bibliotecas de medios, aparece “Sí, se puede” tanto en el campo “Título” como en “Texto alternativo”.

    Al insertar la imagen, añado En “Atributo “title” de la imagen” (Opciones Avanzadas) el texto “AJUBEL.

    Lo que quiero es recuperar el texto “AJUBEL” y en todos los casos que habéis comentado lo que sale es “Sí, se puede”.

    Moderador LGrusin

    (@lgrusin)

    No parece que la imagen que has puesto en esa entrada de ejemplo sea la imagen destacada, ¿Seguro que es la destacada?.

    Estas son las pruebas que he hecho con ese código:
    – Si la imagen no es destacada muestra el título de la entrada
    – Si la imagen es destacada muestra el title de la imagen destacada, si el title no existe, no muestra nada.
    – Siempre muestra el title de la imagen destacada aunque haya otras imágenes en la entrada

    Todo esto dentro del Loop.

    Moderador almendron

    (@almendron)

    Es la imagen destacada. Sus datos son los siguientes:

    URL: https://www.almendron.com/tribuna/wp-content/uploads/2018/12/si-se-puede.jpg

    Título: Sí, se puede
    Leyenda: en blanco
    Texto alternativo: Sí, se puede
    Descripción: en blanco.

    Opciones avanzadas:
    Atributo “title” de la imagen: AJUBEL
    Clases CSS de la imagen: en blanco

    Todos los códigos que he probado me devuelven “Sí, se puede” y yo quiero que me devuelva “AJUBEL”.

    Moderador LGrusin

    (@lgrusin)

    Estoy despistado con esto, ¿quieres modificar el title que pones en la imagen de la entrada? Si es así no se me ocurre cómo va a detectar WordPress un title en el HTML

    Moderador almendron

    (@almendron)

    Ese es el problema. He comprobado que ese valor, a diferencia de por ejemplo “alt”, no lo almacena en la tabla postmeta.

    Sin embargo, una vez insertada la imagen en la entrada, puedes editarla e introducir varios valores como “Atributo “title” de la imagen” o “Clases CSS de la imagen”.

    Una vez hecho, si vuelves a editar la imagen, los valores que has introducido vuelven a aparecer. De alguna forma, WordPress es capaz de leer el HTMl y recuperar dichos valores.

    Esta tarde o mañana preparo unas imágenes y así lo vemos con más claridad.

    Moderador LGrusin

    (@lgrusin)

    Hubo un debate similar que al final no sé cómo lo resolvió el que preguntaba.
    https://es.wordpress.org/support/topic/actualizar-title-y-description-en-posts/

    Moderador almendron

    (@almendron)

    Lo mismo. Hablan del título de la imagen y no del atributo “title”.

    Te pongo una imagen para que lo veas.

    De alguna forma, WordPress recupera el valor y lo muestra.

Viendo 15 respuestas - 1 de 15 (de 17 total)
  • Debes estar registrado para responder a este tema.