How to show a full page when someone links directly to an image on my site

You need to edit .htaccess file and add following line right after current lines. You can edit the file from cpanel or FTP. Also there is a WordPress Plugin that allows to edit .htaccess file.

Remember it’s a very advanced thing to do. So make sure to backup current file before editing. Any error will cause site not loading.

/* Prevent image hotlinking in WordPress */
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]

This will let only youtube, google, facebook and twitter to directly Link you images. All other websites will be blocked.