How to add a link from a featured image to any URL

I want to provide a link to the source of a featured image, that I use to draw attention to a post of mine, to help catalog that as a “fair use”.

Unfortunately, the standard Twentyseventeen theme of WordPress doesn’t offer any way of doing such a simple thing out of the box.

But with the help of my Custom Stuff plugin

<?php
/*
Plugin Name: Custom Stuff
Plugin URI: http://andowebsit.es/
Description: Custom stuff for my blog.
Author: Andrea Ercolino
Author URI: http://andowebsit.es/about
Version: 1.1
*/

function custom_stuff_header() {
    require 'header.php';
}
add_action( 'wp_head',  'custom_stuff_header', 10, 0 );


function custom_stuff_footer() {
    require 'footer.php';
}
add_action( 'wp_footer',  'custom_stuff_footer', 10, 0 );

require 'no-richedit.php';

(file wordpress/wp-content/plugins/custom-stuff/custom-stuff.php)

that’s only a few lines away

<?php

function custom_stuff_featured_image_link($html, $post_id, $post_thumbnail_id) {
    $post_thumbnail = get_post( $post_thumbnail_id );
    if ( ! $post_thumbnail ) {
        return $html;
    }
    $href = $post_thumbnail->post_title;
    if ( ! $href ) {
        return $html;
    }
    return "<a href='$href' target='_blank'>$html</a>";
}

add_filter( 'post_thumbnail_html', 'custom_stuff_featured_image_link', 10, 3 );

(file wordpress/wp-content/plugins/custom-stuff/featured-image-link.php)

<?php
/*
Plugin Name: Custom Stuff
Plugin URI: http://andowebsit.es/
Description: Custom stuff for my blog.
Author: Andrea Ercolino
Author URI: http://andowebsit.es/about
Version: 1.2
*/

function custom_stuff_header() {
    require 'header.php';
}
add_action( 'wp_head',  'custom_stuff_header', 10, 0 );


function custom_stuff_footer() {
    require 'footer.php';
}
add_action( 'wp_footer',  'custom_stuff_footer', 10, 0 );

require 'no-richedit.php';

require 'featured-image-link.php';

(file wordpress/wp-content/plugins/custom-stuff/custom-stuff.php)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.