
El otro día, en una de las clases de Domina WordPress , me preguntaba un alumno si se podría insertar enlaces en la leyenda del pié de foto que insertamos en WordPress . La idea era en la mayoría de las ocasiones dar la atribución al sitio original de la imagen, lo cual es muy buena idea. Y bien, pues como no tengo todas las respuestas me puse a buscar y nada, que parece que en WP Tavern me han escuchado y nos ofrecen varias maneras de insertar enlaces en los pies de foto, a saber … 1. Código Añadiendo los siguientes códigos al fichero functions.php de tu tema activo obtienes un nuevo campo cada vez que subes una imagen, en el que poner la URL del sitio de donde se creó la misma. Lo bueno es que el enlace solo se aplica si usas un pie de foto: Primero añadidos un nuevo campo de URL de origen de la imagen add_filter(“attachment_fields_to_edit”, “add_image_source_url”, 10, 2); function add_image_source_url($form_fields, $post) { $form_fields["source_url"] = array( “label” => __(“URL de origen”), “input” => “text”, “value” => get_post_meta($post-> ID, “source_url”, true), “helps” => __(“Añade la URL donde encontraste la imagen”), ); return $form_fields; } add_filter(“attachment_fields_to_save”, “save_image_source_url”, 10 , 2); function save_image_source_url($post, $attachment) { if (isset($attachment['source_url'])) update_post_meta($post['ID'], ‘source_url’, trim($attachment['source_url'])); return $post; } Luego hacemos que ese campo se añada al pie de foto add_filter(‘img_caption_shortcode’, ‘caption_shortcode_with_credits’, 10, 3); function caption_shortcode_with_credits($empty, $attr, $content) { extract(shortcode_atts(array( ‘id’ => ”, ‘align’ => ‘alignnone’, ‘width’ => ”, ‘caption’ => ” ), $attr)); // Extract attachment $post-> ID preg_match(‘/d+/’, $id, $att_id); if (is_numeric($att_id[0]) && $source_url = get_post_meta($att_id[0], ‘source_url’, true)) { if (!strstr($source_url, ‘http://’)) $source_url = ‘http://’ . $source_url; $parts = parse_url($source_url); $caption .= ‘ (‘. __(‘via’) .’ ‘. $parts['host'] .’ )’; } if (1 > (int) $width || empty($caption)) return $content; if ($id) $id = ‘id=”‘ . esc_attr($id) . ‘” ‘; return ‘ ‘ . do_shortcode($content) . ‘ ‘ . $caption . ‘ ‘; } Lo mejor es que funciona de coña. 2. Plugin Como casi siempre, resulta que también hay un plugin que nos permite esta funcionalidad. En este caso se llama Links in captions y, como su propio nombre indica, permite insertar enlaces en las leyendas de pie de foto. Solo hay que instalarlo, activarlo, y luego, cuando añadas una leyenda de pie de foto, en vez de texto plano tendrás que añadir algo como este ejemplo: {link url=”http://www.dominio.com” target=”_blank” rel=”nofollow”}Este es el texto enlazado{/link} Sencillito también ¿verdad?

Fuente: Enlace en el pie de foto
Leer más de la fuente original :
Enlace en el pie de foto