Как увеличить лимит в 28 символов на длину поля slug атрибутов в WooCommerce?

S
На сайте с 17.10.2003
Offline
332
1212

Коллеги, столкнулся с задачей импорта 20К товарных позиций у которых 2000+ уникальных атрибутов (у каких-то товаров 20 атрибутов, у каких-то 120, часть пересекаются)... проблема в том, что при импорте через плагин WP All Import в базу WooCommerce последний ругается на то, что слишком длинные slugs (генерятся из названий атрибутов) :-(

В WooCommerce, как оказалось, зашит лимит на 28 символов для поля slug ... в результате при импорте обрезаются длинные названия атрибутов и из 28-символьных обрезков начинают получаться одинаковые slugs и стоп-игра...


Как увеличить лимит на длину поля для slug атрибута товара в WooCommerce, чтобы импортировать в него товары с длинными названиями атрибутов?

p.s. правка файла woocommerce/includes/wc-attribute-functions.php и/или добавление в functions.php вот такого кода с заменой 28 на 128 не помогла:

function valid_attribute_name( $attribute_name ) {
    if ( strlen( $attribute_name ) >= 128 ) {
            return new WP_Error( 'error', sprintf( __( 'Slug "%s" is too long (128 characters max). Shorten it, please.', 'woocommerce' ), sanitize_title( $attribute_name ) ) );
    } elseif ( wc_check_if_attribute_name_is_reserved( $attribute_name ) ) {
            return new WP_Error( 'error', sprintf( __( 'Slug "%s" is not allowed because it is a reserved term. Change it, please.', 'woocommerce' ), sanitize_title( $attribute_name ) ) );
    }

    return true;
}


Не все ссылки одинаково полезны ( https://www.svift.org/ ). Тут заказываю комментарии и отзывы ( https://qcomment.ru/ref/5651 ) для своих сайтов
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1
Ну типа такого может быть: https://wordpress.org/plugins/longer-permalinks/
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
S
На сайте с 17.10.2003
Offline
332
#2
LEOnidUKG #:
Ну типа такого может быть
 похоже, этот плагин расширяет длину слагов только для постов, а для таксономий атрибутов товаров внутри вукомерс нет :-(
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#3
svift #:
 похоже, этот плагин расширяет длину слагов только для постов, а для таксономий атрибутов товаров внутри вукомерс нет :-(

Значит как-то переделывать импорт под такой формат. Наверное не просто так они сделали 28 символов. Я уже встречал убитые сайты этим ограничением, когда насильно туда запихивали больше и сайт просто умирал в бесконечную обработку их.

Sly32
На сайте с 29.03.2012
Offline
303
#4
svift :
правка файла woocommerce/includes/wc-attribute-functions.php и/или добавление в functions.php вот такого кода с заменой 28 на 128 не помогла:

Ну естественно - тут же просто проверка а не изменение поля.

svift #:
похоже, этот плагин расширяет длину слагов только для постов

Именно так, достаточно глянуть на код плагина. Теоретически вы можете изменить плагин, что бы он менял не для базовой таблицы а для нужной вам. 

Ну или просто в базе выполнить ALTERNATE TABLE .... для нужного вам поля. 

Но плагин странный вообще, правда я уже давно не работал с мусклей. Возможно там такое прокатит, в постгрес точно нет

S
На сайте с 17.10.2003
Offline
332
#5
в общем, в итоге пошел с двух сторон - нашел в файлах вукомерса все вхождения лимита в 28 символов и заменил их на 256, а также залез в БД и увеличил для taxonomy лимит с varchar(32) до 256
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#6
svift #:
в общем, в итоге пошел с двух сторон - нашел в файлах вукомерса все вхождения лимита в 28 символов и заменил их на 256, а также залез в БД и увеличил для taxonomy лимит с varchar(32) до 256

И теперь поставите запрет на обновление вукомерса  ? Какая прелесть.

Sly32
На сайте с 29.03.2012
Offline
303
#7
LEOnidUKG #:
И теперь поставите запрет на обновление вукомерса  ? Какая прелесть.

По-хорошему надо просто это оформить в виде плагина, да и все

S
На сайте с 17.10.2003
Offline
332
#8
LEOnidUKG #:

И теперь поставите запрет на обновление вукомерса  ? Какая прелесть.

нет, лимиты нужно было поднять только для импорта, дальше файлы можно вернуть к изначальному виду и всё будет работать

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