Cómo agregar un hipervínculo personalizado a la "Imagen destacada" y the_post_thumbnail()

27 abr 2011, 05:06:23
Vistas: 2.81K
Votos: 1

He habilitado mi tema para mostrar la "Imagen destacada" en las publicaciones. Sin embargo, ahora estoy tratando de determinar (1) Cómo asignar un hipervínculo a la imagen y (2) Cómo llamar a the_post_thumbnail() para que envuelva el hipervínculo alrededor de la imagen.

No puedo encontrar dónde se soporta esto en la versión actual de WP, pero creo que debo estar pasando algo por alto.

<div class="entry">
<?php if(has_post_thumbnail() && get_option('theme_show_featured_image'))
      the_post_thumbnail('large', array(
     'class' => 'alignleft', 
     'style' => 'margin:0 10px 10px 0;')); ?>
<?php the_content('<p class="serif">Leer el resto de esta página &raquo;</p>'); ?>
0
Todas las respuestas a la pregunta 2
2

Supongo que quieres que esto se muestre dentro de the_content()?

Probablemente tendrías que definir un shortcode que muestre the_post_thumbnail(). Podrías definir el shortcode para que acepte una URL como argumento, o envolver el shortcode con etiquetas HTML de ancla.

EDITADO:

Asumiendo que ya estás mostrando the_post_thumbnail() dentro de the_content(), podrías agregar un campo personalizado donde el usuario ingrese una URL, y luego, si la URL está presente, mostrar las etiquetas de ancla alrededor de la llamada a the_post_thumbnail().

27 abr 2011 05:27:35
Comentarios

Sí, lo tengo mostrándose correctamente, solo necesito agregar una opción de hipervínculo personalizado definido por el usuario.

Scott B Scott B
27 abr 2011 05:43:46

¿Qué tal si usas un campo personalizado? (Ver edición de la respuesta.)

Chip Bennett Chip Bennett
27 abr 2011 06:22:23
1

Utiliza la función get_the_post_thumbnail() para obtener la imagen destacada. Esta función te devolverá la cadena de la imagen en lugar de mostrarla inmediatamente.

Además, añade un Campo Personalizado al post, llamado, por ejemplo URL-for-featured-image, e introduce la URL a la que quieres que enlace la imagen como valor. Obtén su contenido con get_post_custom_values('URL-for-featured-image') y utiliza el resultado en el atributo href del enlace.

<?php 
  // Verificar si el post tiene imagen destacada y si la opción para mostrarla está activa
  if(has_post_thumbnail() && get_option('theme_show_featured_image'))
  {
    // Obtener la imagen destacada en tamaño grande
    $img = get_the_post_thumbnail($post->ID, 'large'); 
    // Obtener la URL personalizada para el enlace de la imagen
    $url = get_post_custom_values('URL-for-featured-image');
    /* tu código aquí */

  }
?>
27 abr 2011 09:01:12
Comentarios

gracias por la sugerencia. Definitivamente agregaré un campo personalizado ahora que sé que no hay una opción integrada para usar un hipervínculo en la imagen destacada. Me parece un descuido que no esté ahí. Cada mapa de clics que he visto me dice que la gente hace clic en imágenes como locos, ya estén enlazadas o no.

Scott B Scott B
28 abr 2011 20:17:30