Метка Слишком Длинная (Более 28 Символов). Пожалуйста, Сократите

Я решил перенести товары с одного старого сайта (не на WooCommerce) на новый сайт с WooCommerce. Я быстро набросал скрипт для экспорта пользовательских постов в формат CSV, пригодный для WooCommerce, и при первой попытке импорта я сразу получил:

Метка слишком длинная (более 28 символов).
</p><p>
 Пожалуйста, сократите

Это, конечно же, связано с длинными именами атрибутов и ленью разработчиков WooCommerce — почему функционал импорта не мог обеспечить правильную обрезку слагов для импортируемых атрибутов товара? Я зашел в Google и нашел эту тему: https://ru.wordpress.org/support/topic/%D0%B4%D0%BB%D0%B8%D0%BD%D0%B0-%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%B0-2 - там, где решение не нашлось, тему закрыли.

Ну и после поиска я нашел место в коде WooCommerce, где происходит эта самая обработка слагов для загруженных терминов таксономии (атрибутов товара).

Крючок для пилы sanitize_taxonomy_name и добавил свой фильтр:

  
   

add_filter( ‘sanitize_taxonomy_name’, function( $urldecode, $taxonomy ) { $urldecode = mb_substr($urldecode, 0, 27, ‘utf-8’); return $urldecode; }, 10, 2 );

Вставьте этот код в файл function.php вашей активной темы, и вы больше не увидите сообщение о длинных метках.

p.s.: Наверное, стоит написать об этом в WooCommerce — это уже много лет одна и та же тривиальная проблема, которую они никак не могут решить! и я не увидел этого в коде Слизни с уникальными атрибутами и не проверял как это работает (ведь в импорте могут быть похожие названия атрибутов на основе первого 28 символов слизняк) :

$urldecode = wp_unique_term_slug($urldecode, $taxonomy);

Теги: #php #wordpress #woocommerce #taxonomy

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.