Доброе утро, мои читатели. Сегодня, когда я начал проверять комментарии на своих сайтах, в одном из них мне написали, что у меня не работают страницы рубрик. Я тут же посмотрел и обнаружил, что, если обращаться к рубрике, как site.com/slug-category, то wordpress отдаёт 404-ый код, то есть ошибку. Меня это удивило, так как в wordpress 3.3 все работало. О том, как я исправил эту ошибку, читайте далее.
Начнем с того, как я удалял слово category в старых версиях wordpress. Это я делал простой функцией:
[sourcecode language=»php»]
function seocategorydel($catlink1) {
$catlink1 = str_replace(‘/category’, », $catlink1);
return $catlink1;
}
add_filter(‘category_link’, ‘seocategorydel’, 1, 1);
[/sourcecode]
Многие люди пользовались плагинами, например, Without Category. Большинство плагинов также перестало работать.
Немного погуглил, я нашёл решение своей проблемы, которое дал гуру wordpress — Ю.Б.
Он сказал, что перестал работать трик с насильственным удалением из пути префикса категорий. Чтобы удалить слово category в wordpress 3.4 нужно найти плагин, который бы выполнял эту операцию, используя другие методы. Юрий предложил плагин WP No Category Base, который у меня благополучно заработал.
Что делает этот плагин? Если вы будете обращаться к категории, как site.com/category/slug-name, то сайт будет отдавать 301-ый код (постоянный редирект) и перекидывать вас на site.com/slug-name. Если же вы сразу будете обращаться к site.com/slug-name, то сервер сразу же будет отдавать 200-ый код, и все будет работать нормально.
Данный плагин полностью решил мои проблемы. Это связано с тем, что я всегда прописываю меню руками. В коде у меня написаны ссылки именно, как site.com/slug-name. Поэтому, никаких минусов при использовании этого плагина я пока не нашёл.
Хочется сказать ещё раз спасибо Юрию, который помог решить появившуюся проблему.
Категории: wordpress