wordpress. attachment и 404

veleg
На сайте с 30.01.2011
Offline
143
383

Ставил несколько шаблонов, удалял все плагины. даже перезалил движок, и все одно и то же — вложения редиректят на 404.

Например вот, создал галерею

https://rin.su/travel/ya-%E2%9D%A4-rossiyu

если кликнуть по любой превью, то выбросит на 404

Если залогиниться, то вложения отображаются.

Как сделать, чтоб любой пользователь при клике на превью попадал на страницу вложения?

Страница, с которой нужна помощь: https://rin.su/?attachment_id=342

Фигачу Телеграм-ботов ( https://teleg.run/veleg )
S
На сайте с 01.12.2017
Offline
114
#1

Смотрите функцию function sar_attachment_redirect (в functions.php), если она включена, будет перебрасывать по условию - или 404, или на главную, или 301. Только отключив, наплодите много мусорных страниц. Примените другой подход, например создайте галерею, или чтобы картинка открывалась в отдельном окне.

veleg
На сайте с 30.01.2011
Offline
143
#2
smurf:
Смотрите функцию function sar_attachment_redirect (в functions.php), если она включена, будет перебрасывать по условию - или 404, или на главную, или 301. Только отключив, наплодите много мусорных страниц. Примените другой подход, например создайте галерею, или чтобы картинка открывалась в отдельном окне.

Спасибо за ответ

function.php в теме? Нет такой функции, несколько тем менял уже, сновил все плагины и даже движок перезалил.

Это единственная страница - галерея, нужно, чтоб картинки открывались в виде вложения, там будет очень краткое описание.

В постах нет и не будет кликабельных картинок, поисковики в таком случае могут как-то увидеть эти мусорные страницы?

S
На сайте с 01.12.2017
Offline
114
#3

посмотрите еще в настройках Yoast SEO, там есть "перенаправлять вложения" и после последнего обновления, по умолчанию включено и перекидывает на 404....и вообще включите функцию и не плодите страниц с вложениями, сделайте показ картинки в всплывающем окне, если юзер хочет посмотреть картинку в лучшем разрешении, для этого куча плагинов есть. Если нужен код для файла functions.php для блокирования вызова attachment, то вот этот в самый раз

/* редирект со страниц архивов и аттачмент */

function sar_attachment_redirect() {

global $post;

if (is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent != 0) ) {

wp_redirect(get_permalink($post->post_parent), 301); // перенаправление на постоянную страницу загруженного файла

exit;

} elseif (is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent < 1) ) {

wp_redirect(get_bloginfo('wpurl'), 302); // перенаправление отдельного документа или картинки post/page

exit;

}

}

function sar_archive_redirect()

{

global $post;

if (is_date()) // ID необходимых для обработки массивов - if (is_archive()) http://домен.ru/2015/

{

wp_redirect(home_url(), 301); // редирект - перенаправление домой - home_url или сделать url_404

exit;

}

}

add_action('template_redirect', 'sar_attachment_redirect' ,1);

add_action('template_redirect', 'sar_archive_redirect' ,1);

/* end */

veleg
На сайте с 30.01.2011
Offline
143
#4

Благодарю. Опробую вечерком.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий