Заменить категорию Wordpress на статическую страницу? - PullRequest
0 голосов
/ 27 сентября 2019

Я перефразировал вопрос Wordpress от 4-х лет назад, на который был утвержден ответ, но это решение больше не работает в текущей версии Wordpress.Исходный вопрос: Заставьте Wordpress использовать страницу вместо категории

Фон (скопировано из первоначально утвержденного ответа):

example.com - этодомен

У меня есть страница WP под названием "foobar" с содержанием

У меня есть категория сообщений WP под названием "foobar"

У меня есть сообщение WP под названием "Приколы дляделать с foobars ", и категория установлена ​​на" foobar "

Ожидания

Когда я иду на example.com/foobar, я хочу видеть страницу оfoobars, а не страница категории WP, на которой показаны все сообщения блога с этой категорией.

Когда я захожу в сообщение блога о забавных вещах, URL-адрес example.com/foobar/fun-things-to-do-with-foobars /

Решение в то время

Оказалось, что существует обходной путь с пользовательской структурой постоянных ссылок и использованием "."(без кавычек) в качестве базы категорий.Это решение не работает с текущей версией Wordpress.

Была также пара ответов, в которых предлагались различные плагины.Я не категорически против этого пути, но предложенные плагины того времени, похоже, были затронуты тем же обновлением, которое отрицало принятый ответ.

1 Ответ

0 голосов
/ 27 сентября 2019

Чтобы загрузить страницу с тем же заголовком, что и у имени категории, вы можете использовать следующий фрагмент кода, который заменяет категорию на Page.

function wpa_alter_cat_links( $termlink, $term, $taxonomy ){
    if( 'category' != $taxonomy ) return $termlink;
    return str_replace( '/category', '', $termlink );
}
add_filter( 'term_link', 'wpa_alter_cat_links', 10, 3 );

Будьте внимательны с кодом.У вас должны быть страницы для всех ваших категорий, в противном случае вы получите 404 для тех категорий, которые не создали страниц.

После добавления приведенного выше кода в файл functons.php вашей активированной темы, пожалуйста, удалите постоянную ссылку.Вы можете сделать это с помощью настроек посещения -> постоянные ссылки -> нажмите сохранить изменения

Надеюсь, что это работает для вас!

...