Вопрос или проблема
Я столкнулся с новой проблемой: когда я пытаюсь создать новую страницу, постоянная ссылка не генерируется автоматически.
Например
На странице «Добавить новую страницу» я выбираю «Наш клуб» в качестве родительской страницы (у которой слаг «club»). Затем я ввожу «Членство» в качестве заголовка. Однако постоянная ссылка, которая генерируется под текстовым полем, выглядит как www.coolclub.com/membership
(вместо ожидаемой www.coolclub.com/club/membership
).
Если же я вместо этого выберу «Клуб» в качестве родительской страницы для моей новой страницы (которая сама уже связана как дочерняя страница «Нашего клуба»), то постоянная ссылка генерируется успешно.
Есть идеи?
ПРИМЕЧАНИЕ: Информация ниже немного неточная. Моя ошибка. Иерархия страниц показывается в постоянных ссылках, и статья, на которую я ссылался, обсуждает изменение этого в записях. Спасибо за исправление, @Milo.
Оригинальный пост:
Вам может не понравиться этот ответ, но WordPress не включает иерархию страниц в URL. Это используется только в вашей теме (меню, хлебные крошки…). Поэтому поведение, которое вы наблюдаете, является правильным.
Я нашел статью, обсуждающую способ, как вы можете выполнить эту структуру для каждой страницы. WordPress не сделает это динамически для вас, но это возможно.
http://winkpress.com/essential/permalinks/
Плагин, упомянутый в этой статье, можно найти здесь:
http://wordpress.org/extend/plugins/custom-permalinks/
Извините, что, похоже, не существует способа сделать это автоматически. Если у вас есть навыки, вы можете написать что-то маленькое, что взаимодействует с этим плагином, но я realmente не знаю, возможно ли это.
Ответ или решение
Создание и управление постоянными ссылками для страниц в WordPress может иногда вызывать трудности, особенно в контексте иерархии страниц. В вашем случае, когда вы создаете новую страницу с родителем ‘Наш клуб’, и постоянная ссылка не формируется как ожидается, это может быть связано с несколькими фактороми.
Основная проблема
По умолчанию WordPress не включает иерархию страниц в URL. Это значит, что при создании новой страницы, которая имеет родительскую страницу, система не автоматически добавляет структуру URL, учитывающую родительскую страницу. Например, создание страницы ‘Членство’ под ‘Нашим клубом’ приведёт к созданию ссылки www.coolclub.com/membership
, а не www.coolclub.com/club/membership
.
Возможные решения
-
Настройка постоянных ссылок:
Если вам нужно включить иерархию в постоянные ссылки, рассмотрите возможность изменения структуры ссылок через настройки WordPress. Перейдите в Настройки -> Постоянные ссылки и выберите наиболее подходящий формат. Однако, имейте в виду, что это может не решить вашу текущую проблему с иерархией страниц. -
Использование плагина:
Существует плагин, который может помочь с этой задачей:- Custom Permalinks – этот плагин позволяет вам настраивать постоянные ссылки для каждой страницы индивидуально, включая возможность добавления родительской страницы в URL.
После установки плагина, вы сможете вручную установить желаемую постоянную ссылку для каждой новой страницы, что позволит создать структуру ссылки
www.coolclub.com/club/membership
. -
Редактирование функции в файле темы:
Если вы обладаете навыками программирования, можно добавить пользовательскую функцию в файлfunctions.php
вашей темы. Это позволит вам динамически формировать ссылки на основе иерархии. Однако данный способ может быть сложным и требовать хорошего понимания структуры WordPress.
Заключение
В зависимости от ваших навыков и потребностей, выбирайте наиболее подходящий метод. Если вам подойдет ручное создание ссылок через плагин, это самый простой способ. Если вы уверены в своих силах, можете рассмотреть возможность написания пользовательского кода. К сожалению, WordPress не предоставляет встроенных возможностей для автоматического формирования иерархических ссылок, поэтому использование плагина – наиболее практичное решение.
Если понадобятся дополнительные разъяснения или помощь, не стесняйтесь обращаться.