Почему не сохраняются ссылки(ярлыки) для страниц, категорий WordPress?

Ссылка скопирована
1 ответ

Имеется страница "Страница", вписываю в поле URL "stranica" для формирования url, после обновления мой прописанный url переименовывается например в "8-2", где как я понял 8 это id страницы(записи). В настройках в разделе "постоянные ссылки" указана произвольная структура постоянных ссылок. Не могу понять в чем проблема, подскажите пожалуйста

Дополнительно:

Покажи скриншот настроек ЧПУ

Вы хотите в ссылке прописать stranica, указав что это типа ярлык? Оно вам ничего не созранит то шо у вас в настройках ссылок активное поле "Произволно". Если ссылка не соответствет настройкам то ничего не сохранится. Для этого существует в каждой странице, записи, категории поле "Ярлык". Впишите туда stranica, и оно сохранится. Название ярлыка должно быть на английском, начинаться с маленькой буквы и если надо тире. Но не нижнее подчёркивание. Например page-stranica, а не page_stranica. 8 необязательно id, чтобы посмотеть id страницы в общем списке страниц наведите курсор на название страницы, в самом низу появится ссылка, после ?post= и до & будут цифры, это и есть id вашей страницы.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Максим Павлов Ответ

Если WordPress сам заменяет введённый slug страницы на что-то вроде 8-2, значит желаемый ярлык уже занят или конфликтует с существующим rewrite. WordPress не может иметь два одинаковых URL на одном уровне, поэтому добавляет суффикс.

Что проверить первым делом:

  • нет ли страницы, записи, рубрики, метки или CPT с таким же slug;
  • нет ли удалённой страницы в корзине с этим ярлыком;
  • не занят ли slug вложенной страницей;
  • не совпадает ли он с base таксономии или custom post type;
  • нет ли плагина Custom Permalinks или редиректов.

Корзина важна: WordPress учитывает slug даже у записей в корзине. Очистите корзину или смените slug у удалённой страницы.

Можно быстро поискать по базе:

SELECT ID, post_title, post_type, post_status, post_name
FROM wp_posts
WHERE post_name LIKE 'stranica%';

SELECT ID, post_title, post_type, post_status, post_name FROM wp_posts WHERE post_name LIKE 'stranica%';

Также проверьте термины:

SELECT t.term_id, t.name, t.slug, tt.taxonomy
FROM wp_terms t
JOIN wp_term_taxonomy tt ON tt.term_id = t.term_id
WHERE t.slug LIKE 'stranica%';

SELECT t.term_id, t.name, t.slug, tt.taxonomy FROM wp_terms t JOIN wp_term_taxonomy tt ON tt.term_id = t.term_id WHERE t.slug LIKE 'stranica%';

Если slug занят старой записью, поменяйте его там или удалите объект окончательно. После этого сохраните нужную страницу заново.

Ещё один вариант — конфликт с числовым slug или зарезервированным словом. WordPress осторожно относится к некоторым значениям, особенно если структура permalink может пересекаться с датами, пагинацией или ID. Лучше использовать понятный латинский slug без специальных символов.

После исправления пересохраните постоянные ссылки в “Настройки → Постоянные ссылки”. Если есть кэш и редирект-плагины, очистите их.

Итог: WordPress не “теряет” ярлык просто так. Он защищается от конфликта URL. Найдите объект, который уже занял slug, освободите его и пересохраните страницу.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно