Убираем слово Category для рубрик в URL в WordPress

По умолчанию в настройках ЧПУ wordpress для категорий придумано слово category, которое, на мой взгляд, совершенно лишнее в структуре УРЛ-ов страниц. То есть если не заполнить это самое поле, то урл категории будет выглядеть так

cmsuser.ru/сategory/ali-baba-i-sorok-skinov/

Убираем слово Category для рубрик в URL в WordPress

На одном из форумов увидел классную фишку, что если в настройках базиса категорий написать две точки, то слово category исчезает (по крайней мере в wordpress 2.8.*). Может так было задумано, может нет, решил написать в блоге, чтобы самому не забыть. Очень удобная фишка.

Если слетит что-то после её использования — я не виноват) у меня всё работает.

Получаем рубрики вида

cmsuser.ru/ali-baba-i-sorok-skinov/

и радуемся 🙂

UPDATE 9.07.2011
Для версии 3.0.5 на которой у меня несколько сайтов я использую другой метод, предложенный тут. В файл functions.php используемой темы нужно вписать функцию

//Удаляем category из УРЛа категорий
add_filter('category_link', create_function('$a', 'return str_replace("category/", "", $a);'), 9999);

Важно! При этом способе в админке wordpress ПАРАМЕТРЫ-НАСТРОЙКИ ПОСТОЯННЫХ ССЫЛОК в поле «префикс для рубрик» должно быть пусто, а структура чпу должна начинаться с /%category%/

Работает всё без глюков, главное ни в коем случае не забыть при смене шаблона вписать эту функцию снова.

13 комментариев

Олег 06.03.2010 Ответить
Спасибо, работает на самой новой версии 2.92 🙂
Ильмир 26.12.2012 Ответить
@Олег, на версиях 3.0.2 работает нет не знаешь?
Сергей 03.06.2010 Ответить
Плохой совет, не будет работать, если есть подкатегории или когда несколько страниц в категории. Лучшим вариантом будет, если прописать в настройках постоянных ссылок тако вариант как /%category%/%postname%.html или /%category%/%postname%.php а то вордпрес не поймет как разгребать урл, где категория, а где пост. То есть обязательно должно быть у поста в конце htm html php или еще что Вам нравится, тогда будет понятно, где катогрия, а где пост
mikasi 29.06.2010 Ответить
Воспользовался советом. Действительно, category пропадает, однако, в подкатегориях не показываются списки постов. Подскажите плз как решить эту проблему 🙂
admin 27.01.2011 Ответить
@mikasi, пока не знаю. сейчас хочу убрать это ненужное слово из нового сайта на wordpress 3.0.4 и это решение мне не нравится. так же как и единственная альтернатива — плагин seo without category — который не обновлялся уже три года и хз как работать будет при дальнейшем обновлении движка
Igor Bredikhin 14.02.2011 Ответить
.. действительно прекрассно работал в более ранних версиях. При настройках ЧПУ: /%category%/%postname%.htm Префикс для рубрик: .. При этом PageNavi и подкатегории тоже отлично работали. В версиях 3.х.х эта хрень работать перестала. Блуждающие по инету добавочки к function.php и seo without category неработают с пагинацией и в ранних версиях. Есть куча подобных плагинов, но сложновато все имющиеся проверить. Пробывал WP No Category Base на WP 3.0.5 вроде все красиво и все работает. Кроме того есть вариант прописать в Префикс для рубрик: . (1 точку) сейчас проверяю, вроде тоже все работает
admin 16.02.2011 Ответить
@Igor Bredikhin, спасибо за опыт) плагин мне пока нравится больше чем вариант с точкой
Igor Bredikhin 16.02.2011 Ответить
Кстати, по неокоторой информации вариант с точкой рекомендуют создатели WP
admin 16.02.2011 Ответить
@Igor Bredikhin, интересно. я слышал только то, что эта точка в хтмл коде будет, но не будет в урл-е конечном. мне этот вариант не нравится почему-то.
segvk 17.04.2011 Ответить
WP No Category Base на WP 3.1.1 рулит. Статья и комменты были полезными. Точки пробовал прописывать, с ними ничего не вышло. Без точек все зашибись.
gadsnxl 22.08.2012 Ответить
с точками уже не работает вер 3.4.1
admin 26.09.2012 Ответить
@gadsnxl, будем искать новое решение
Денис 19.09.2012 Ответить
Спасибо, второй метод сработал

Добавить комментарий