Не могу установить постоянные ссылки WordPress с категориями и подкатегориями - PullRequest
0 голосов
/ 21 апреля 2020

На wordpress.stackexchange.com нет ответа на мой вопрос, поэтому я решил попробовать здесь.

На веб-сайте WordPress, над которым я работаю, я использую категории и подкатегории, поэтому ссылки для сообщений: category-level-1/category-level-2/post-name и category-level-1/category-level-2/category-level-3/post-name

Все сообщения назначаются только категориям последнего уровня.

Если я устанавливаю структуру постоянных ссылок как /%category%/%postname%, а затем go в интерфейс к странице категории первого уровня, я получаю то, что я ожидаю. Но когда я go перехожу на страницу с категорией второго уровня (независимо от того, имеет она категорию третьего уровня или нет), выполняется перенаправление, и я получаю страницу с одним постом из категории третьего уровня.

Если Я установил пользовательскую структуру постоянных ссылок как /%category%/%category%/%category%/%postname% (три - это максимальное количество уровней категорий на моем веб-сайте), а затем go на странице категорий любого уровня, я получаю то, что ожидаю. Но названия категорий дублируются в ссылках поста три раза.

Если я удаляю дубликаты, добавляя в функцию. php код вроде:

function custom_post_link($link, $post) {
    $link_parts = explode('/', $link);
    $link_parts = array_unique($link_parts);
    $link = implode('/', $link_parts);
    return $link;
}
add_filter('post_link', 'custom_post_link', 10, 2);

ссылки на посты становятся нормальными , но работают только для постов, которые относятся к категории третьего уровня. Для других сообщений я получаю сообщение об ошибке 404.

Как решить проблему?

...