WordPress по умолчанию создаёт страницы для каждого вложения, существующего на сайте, будь то изображение, аудио или видеозапись. Этот функционал полезен для фотографов, но совершенно бесполезен для нас программистов и не несёт никакой смысловой нагрузки.
Как отключить
Создайте в активной теме вашего сайта шаблон, например, для вывода вложения-изображения image.php и внутри поместите редирект на пост, к которому это вложение прикрепелено:
wp_redirect( get_permalink( $post->post_parent ), 301 ); exit;
Можно пойти дальше и повесить этот же редирект на хук template_redirect
, чтобы не создавать лишних шаблонов внутри темы. Для чего в functions.php напишите:
/** * Редирект со страницы вложения на * родительский пост */ function mihdan_attachment_redirect() { global $post; if ( is_attachment() && 0 !== $post->post_parent ) { wp_redirect( get_permalink( $post->post_parent ), 301 ); exit(); } } add_action( 'template_redirect', 'mihdan_attachment_redirect' );
Источник: https://www.kobzarev.com/wordpress/disable-image-attachment-pages-in-wordpress/