Если вы хотите изменить структуру URL в WordPress на что-то отличное от стандартной постоянной ссылки "postname", вы можете использовать фильтр rewrite_rules_array
для создания своих собственных правил перезаписи URL.
Вот пример кода, который позволяет изменить структуру URL на /category/postname/
:
function custom_rewrite_rules() { add_rewrite_rule( '^([^/]+)/([^/]+)/?$', 'index.php?category_name=$matches[1]&name=$matches[2]', 'top' ); } add_action('init', 'custom_rewrite_rules');
В этом примере мы используем регулярное выражение ^([^/]+)/([^/]+)/?$
для сопоставления URL-адресов вида /category/postname/
. Затем мы перенаправляем соответствующие запросы на index.php?category_name=$matches[1]&name=$matches[2]
. Здесь $matches[1]
представляет значение категории, а $matches[2]
представляет значение имени поста.
После добавления кода выше вы должны обновить правила перезаписи ЧПУ, чтобы WordPress учел наши изменения. Для этого перейдите в раздел «Параметры» -> «Постоянные ссылки» в административной панели WordPress и нажмите кнопку «Сохранить изменения».
Теперь, когда вы создаете новый пост и выбираете категорию, его URL будет иметь следующую структуру: /category/postname/
.
Обратите внимание, что пример, приведенный выше, является простым и может потребовать дополнительного кода или настройки, если вам нужно сделать более сложную структуру URL.