1

Тема: Добавление слеша в конец URL для категорий, архивов, тегов и страниц

В стандартном виде (при использовании ЧПУ) адреса категорий, архивов и страниц на сайтах WP имеют следующий вид:

Category: `_/my-category`
Archive: `_/2009/05`
Page: `_/about`

т.е. в конце URL отсутствует слеш (косая черта - "/"). Если для адресов статических страниц такой вид является вполне привычным, то для страниц, отображающих списки категорий и архивы слеш является как бы "знаком", причисляющих такие страницы к "папкам". Такое утверждение, конечно, не совсем правильно и никакого особого значения не имеет, но в некоторых случаях наличие слеша в конце URL следует все таки реализовать для обеспечения совместимости URL с адресами, по умолчанию используемыми в других CMS (например, чтобы исключить выпадение страниц из индекса, при переносе сайтов с одного движка на другой - Перенос БД сайта с DLE на WordPress ).

Для реализации такой функции можно с успехом применить плагин Permalink Trailing Slash Fixer, который добавляем слеш в конец адреса категорий, страниц и архивом, исключая его добавление к URL обычных записей. Таким образом, при установке данного плагина, адреса страниц на ваших сайтах с WP будут иметь следующий вид:

Single Post: `_/my-category/sample-post.html` - останется без изменений
Category: `_/my-category/`- добавится слеш в конце url
Archive: `_/2009/05/`- добавится слеш в конце url
Page: `_/about/`- добавится слеш в конце url

Последняя версия этого плагина совместима с последней версией WP 3.3.2

Post's attachments

Attachment icon permalink-trailing-slash-fixer.1.0.1.zip 2.08 kb, 31 downloads since 2012-06-05 

Поделиться

2

Re: Добавление слеша в конец URL для категорий, архивов, тегов и страниц

Если необходимо, чтобы в конце страниц (page) WP слеш не добавлялся (т.е. исключить url страниц из обработки плагином, как это происходит с обычными записями), то необходимо внести в файл permalink-trailing-slash-fixer.php небольшое изменение.

Найти в этом файле функцию:

function ppm_fixe_trailingslash($url, $type){    if ('single' === $type)        return $url;            return trailingslashit($url);}

Заменить на:

function ppm_fixe_trailingslash($url, $type){    if ('single' === $type)        return $url;    if ('page' === $type)        return $url;            return trailingslashit($url);}

Поделиться