Wordpress количество русских символов в slug

borej
На сайте с 11.08.2008
Offline
171
3126

Разработчик столкнулся с проблемой генерации slug при переносе со сторонней cms на wordpress. В wordpress есть ограничение на количество символов в url и при генерации урла на русском его обрезает.

Как увеличить длину кирилического slug в вордпресс?

все это чушь собачая
Robin_Bad
На сайте с 24.12.2007
Offline
85
#1
borej:
Разработчик столкнулся с проблемой генерации slug при переносе со сторонней cms на wordpress. В wordpress есть ограничение на количество символов в url и при генерации урла на русском его обрезает.

Как увеличить длину кирилического slug в вордпресс?

Насколько я понял, WordPress хранит slug в поле post_name таблицы wp_posts. Поле это ограничено длиной 200 символов (не UTF-8). Выполнение такого SQL-запроса поможет снять это ограничение (проверить не на чем, к сожалению):

ALTER TABLE wp_posts CHANGE COLUMN post_name post_name TEXT NOT NULL default '';

SeVlad
На сайте с 03.11.2008
Offline
1609
#2
borej:
В wordpress есть ограничение на количество символов в url

Откуда инфа? До какого кол-ва "обрезает"?

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
borej
На сайте с 11.08.2008
Offline
171
#3
SeVlad:
Откуда инфа? До какого кол-ва "обрезает"?

Ну попробуйте слаг сделать длинным и на русском. Например через_3_забора_ногу_задерищенко - обрежет на 200 символе.

Robin_Bad

Премного благодарен, проверю расскажу - получилось или нет.

SeVlad
На сайте с 03.11.2008
Offline
1609
#4
borej:
Ну попробуйте слаг сделать длинным и на русском. Например через_3_забора_ногу_задерищенко - обрежет на 200 символе.

Я спрашиваю - откуда инфа, что ВП обрезает? Где это написано?

Кури манулы http-протокола.

borej
На сайте с 11.08.2008
Offline
171
#5

Robin_Bad, видимо теперь обрезает на уровне редактора слага. Буду благодарен за решение проблемы.

SeVlad
На сайте с 03.11.2008
Offline
1609
#6

Эх, не в коня корм. :(

borej, читаем топик внимательно. Всё. И до конца.

Думаем.

Подсказка - там есть урл на в3огр.

borej
На сайте с 11.08.2008
Offline
171
#7

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

IL
На сайте с 20.04.2007
Offline
435
#8

borej, на самом деле, SeVlad не зря ссылки дал.. Но, если уж очень хоцца

borej:
видимо теперь обрезает на уровне редактора слага.

$alt_post_name = substr($post_name, 0, 200-(strlen($suffix)+1)). "-$suffix";

https://github.com/WordPress/WordPress/blob/master/wp-includes/post.php#L3067 - тут и по соседству искать число 200

Robin_Bad:
ALTER TABLE wp_posts CHANGE COLUMN post_name post_name TEXT NOT NULL default '';

Я бы TEXT не использовал - у него с индексированием "чуть похуже".. что-то вроде varchar(500) - (ранние версии mysql могут с ошибкой вывалиться)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
borej
На сайте с 11.08.2008
Offline
171
#9

Спасибо, проблема решена.

SeVlad
На сайте с 03.11.2008
Offline
1609
#10
borej:
SeVlad, Слушай, будь человеком хватит меня в мануалы тыкать. Скажи где и чо надо сменить, чтоб получить урл нужной мне длинны - заплачу если надо.

Блин.. ну ты что, почитать не можешь по данным ссылкам? И понять, что ВП только ЗАЩИЩАЕТ (тебя же), от нарушения спецификации http (со всеми вытекающими).

В спецификации ясно сказано, что передача ГЕТ-запроса длинной больше 255 байт (это как раз +/- 200 символов слага+символы домена)- НЕ ГАРАНТИРУЕТСЯ. Говоря по русски - не все посетители сайта его могут получить. Читай - получат 404 или другой пост. (А те которые могут - должны "благодарить" (именно в кавычках) админов серверов, шлюзов и остальных хопов, что ИСКУССТВЕННО увеличили передаваемый ГЕТ.)

Андестентми?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий