Изменение структуры ссылок у bbPress

Ссылки bbPress

Поставив плагин bbPress для создания форума на сайте с русскоязычным контентом, первым делом многие натыкаются на невозможность изменить структуру ссылок для топиков и форумов. По умолчанию ссылки для них содержат «слаги» (slug), которые в свою очередь генерируются из заголовков. И если с английскими символами все хорошо, то кириллица в URL вызывает некоторое раздражение, а иногда и проблемы — невозможность скопировать и отправить ссылку и т. п. (не все браузеры при копировании ссылок с кириллицей конвертируют буквы в их коды). Подобная проблема может возникнуть не только с кириллицей, но и другими алфавитами содержащими нелатинские буквы.

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

prettysite.com/forums/forum/a-forum-title
prettysite.com/forums/forum/123

prettysite.com/forums/topic/a-topic-title
prettysite.com/forums/topic/124

И вот он, тот самый плагин на Github, который делает это возможным в один клик.

Чтобы воспользоваться им, достаточно создать папку bbpress-permalinks-with-id в директории plugins. Затем, скачать архив с Github и в только что созданный каталог загрузить файлы из plugins, находящиеся внутри скаченного архива. После этого активируйте плагин через консоль и все!

Важно: активировать плагин следует с заранее активированным bbPress (без него плагин не вызовет ошибки, но и работать не будет). Если вы активировали плагин до установки и активации bbPress, просто деактивируйте плагин (не bbPress) и вновь запустите его. Плагин добавляет правила для ссылок лишь один раз, в момент активации. Это правильное и корректное поведение, потому что правила для распознавания ссылок хранятся в базе данных WordPress и генерируются 1 раз, а не при каждой загрузке WordPress.

После активации плагин автоматически добавит новую структуру ссылок с ID, при этом старые «правила» для распознавания ссылок со слагами продолжат работать. Плагин не требует дополнительных настроек или наличия каких-то RewriteRule внутри .htaccess.

Стоит заметить, что ID будут использоваться в URL не только, если вы используете так называемые «pretty permalinks». Если вы используете настройки постоянных ссылок по умолчанию (prettysite.com/?p=123), то ссылки для форумов и топиков будут выглядеть следующим образом:

prettysite.com/?post_type=forum&p=123
prettysite.com/?post_type=topic&p=124

Для возврата к обычным ссылкам деактивируйте плагин через консоль. Ссылки bbPress станут прежними, а все дополнительные «правила» будут удалены.

При создании иллюстрации использовалась фотография Juskteez Vu.

Advertisements

One thought on “Изменение структуры ссылок у bbPress

  1. Плагин для улучшения ссылок bbPress – Kolya Korobochkin

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s