Продукты WooCommerce. Всегда проверяйте, чтобы номер SKU содержал 13 цифр.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Продукты WooCommerce. Всегда проверяйте, чтобы номер SKU содержал 13 цифр.

Сообщение Anonymous »

Когда мы создаем или обновляем продукт в WooCommerce, если поле SKU (_sku) содержит менее 13 цифр, нам необходимо заполнить нулями, чтобы всегда было 13 цифр.
  • Например, если поле ничего не содержит, то нам следует добавить в поле 13 нулей.
  • Например, если поле содержит 123456, то перед ним нужно добавить 7 нулей.
  • Например, если поле содержит 123456789, то перед ним нужно добавить 3 нуля.
  • Например, если поле содержит 1234567891234, то нам не нужно ничего делать, поскольку оно содержит 13 цифр.
У меня есть приведенный ниже код, который частично работает, то есть эффективно регулирует количество цифр в серверной части, но когда я ищу продукт на основе SKU во внешнем интерфейсе, я не нахожу этот продукт, поэтому думаю, что он не работает нормально. Кто-нибудь может помочь в этом? Спасибо
function ensure_13_digit_sku($sku) {
return str_pad($sku, 13, '0', STR_PAD_LEFT);
}
function ensure_sku_length_on_save($post_id, $post, $update) {
if ($post->post_type !== 'product') {
return;
}
$sku = get_post_meta($post_id, '_sku', true);
if (!$sku || strlen($sku) < 13) {
$new_sku = ensure_13_digit_sku($sku);
update_post_meta($post_id, '_sku', $new_sku);
}
}
add_action('save_post', 'ensure_sku_length_on_save', 10, 3);


Подробнее здесь: https://stackoverflow.com/questions/787 ... -13-digits
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»