WordPress maneja cada archivo adjunto (imagen, video, etc) como un post y como tal, le crea una página para accesarlo. El problema esta en que muchos themes no tienen soporte para estas páginas y por tanto WP usa la plantilla del archivo single.php
, que puede llevar a generar errores.
Para quien necesite estas páginas especiales para adjuntos puede crear un archivo attachment.php
y darle formato y para quienes no las usamos, la mejor opción es redireccionarla al post padre. Esta tarea la cumple bien el siguiente snippet:
/**
* Redirecciona los adjuntos al post padre, o bien, a la portada.
*/
function attachment_redirect()
{
global $ post;
if ( is_attachment() )
{
if( $ post->post_parent )
wp_redirect( get_permalink($ post->post_parent), 301 );
else
wp_redirect( home_url(), 301 );
exit;
}
}
add_action( 'template_redirect', 'attachment_redirect', 1 );
Esta función se puede agregar al archivo functions.php
del theme activo.