длина ярлыка (слага) атрибута не может быть длиннее 28 символов
Можно увеличить 28 на другое значение добавлением в functions.php вашей (дочерней) темы:
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;
}
После завершения импорта функцию можно удалить.
Можно увеличить 28 на другое значение добавлением в functions.php вашей (дочерней) темы:
Я уже это делал, но не помогло. Может я что-то делаю не так..
Вот скрин
https://smarta.store/wp-content/uploads/атрибуты.jpg
Функция проверенная, работает. Возможно вам не хватило значения 128, пуникод может быть очень длинным. Попробуйте еще увеличить.
Советую еще попробовать предварительно создать атрибуты, а потом уже запускать импорт товаров, если вы пользуетесь штатным импортером.
У меня плагин преобразует в латиницу, поэтому он получается не такой длинный. Создал дочернюю тему, сейчас попробую импортировать заново.
@kw56
Функция проверенная, работает. Возможно вам не хватило значения 128, пуникод может быть очень длинным. Попробуйте еще увеличить.
Советую еще попробовать предварительно создать атрибуты, а потом уже запускать импорт товаров, если вы пользуетесь штатным импортером.
Вылетела ошибка…
Скрин
https://smarta.store/wp-content/uploads/атрибуты-2.jpg
-
Ответ изменён 4 года, 7 месяцев назад пользователем romantsev.
@kw56
Может быть этот код относится не к ярлыкам как на фото
https://smarta.store/wp-content/uploads/атрибуты-3.jpg
а к названию атрибута? $attribute_name
У меня именно на Slug (ярлык) ругается
Да нет, все правильно..
`$attribute = self::get_posted_attribute();
$args = array(
‘name’ => $attribute[‘attribute_label’],
‘slug’ => $attribute[‘attribute_name’],
‘type’ => $attribute[‘attribute_type’],
‘order_by’ => $attribute[‘attribute_orderby’],
‘has_archives’ => $attribute[‘attribute_public’],
);`
-
Ответ изменён 4 года, 7 месяцев назад пользователем romantsev.
-
Ответ изменён 4 года, 7 месяцев назад пользователем romantsev.
Я не знаю, может ли мешать кэширование и плагин Jetpack. У вас сам WooCommerce грузится не с https://smarta.store, а с https://c0.wp.com/
@kw56
Плагин отключил. А почему woocommerce грузится не оттуда не понимаю..
Модератор
Yui
(@fierevere)
永子
почему woocommerce грузится не оттуда не понимаю
«ускоритель сайта» Jetpack при включении позволяет некоторые статические ресурсы (WP, JetPack, WC, возможно что-то еще) загружать с CDN wp.com
Отключение плагина не помогло
Проблема решена.
Находилось это в файле
/wp-content/plugins/woocommerce/includes/wc-attribute-functions.php
И вот это число 28 меняем на любое любое
строка 486
// Validate slug.
if ( strlen( $slug ) >= 28 ) {
/* translators: %s: attribute slug */
return new WP_Error( 'invalid_product_attribute_slug_too_long', sprintf( __( 'Slug "%s" is too long (28 characters max). Shorten it, please.', 'woocommerce' ), $slug ), array( 'status' => 400 ) );
} elseif ( wc_check_if_attribute_name_is_reserved( $slug ) ) {
/* translators: %s: attribute slug */
return new WP_Error( 'invalid_product_attribute_slug_reserved_name', sprintf( __( 'Slug "%s" is not allowed because it is a reserved term. Change it, please.', 'woocommerce' ), $slug ), array( 'status' => 400 ) );
} elseif ( ( 0 === $id && taxonomy_exists( wc_attribute_taxonomy_name( $slug ) ) ) || ( isset( $args['old_slug'] ) && $args['old_slug'] !== $slug && taxonomy_exists( wc_attribute_taxonomy_name( $slug ) ) ) ) {
/* translators: %s: attribute slug */
return new WP_Error( 'invalid_product_attribute_slug_already_exists', sprintf( __( 'Slug "%s" is already in use. Change it, please.', 'woocommerce' ), $slug ), array( 'status' => 400 ) );
}
Вы знаете, что это только до первого обновления ВУУ?
@tuxfighter
Да мне мне все равно! Хоть пусть эта процедура действует 5 минут. Моя задача стояла выгрузить 1500 товаров, а не думать что такое сделать, чтобы так было всегда. Вот если бы я раньше нашел эту информацию или мне где-то с этим помогли. 3 дня уже импортирую эти товары…
-
Ответ изменён 4 года, 7 месяцев назад пользователем romantsev.