@MisTFoR

Как правильно записать данный код в functions.php?

Здравствуйте!
Наткнулся на код в интернете, который (как я понимаю) - автоматически присваивает артикул товарам после того, как добавились вариации.
Так вот, я полный 0 в PHP и не знаю как правильно его записать... прошу помощи =)
$args = array(
    'post_type'      => 'product',
    'posts_per_page' => - 1,
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        $product = wc_get_product( get_the_ID() );
        if ( $product->is_type( 'variable' ) ) {
            $sku = $product->get_sku();
            if ( $sku ) {
                try {
                    $product->set_sku( $sku );
                    $product->save();
                } catch ( Exception $e ) {} // @codingStandardsIgnoreLine.
            }
        }
    }
}

wp_reset_postdata();
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
Бегите от этого кода, т.к. он бессмысленен и избыточен.
1 - из базы выгружаются все записи товаров. А если их несколько десятков тысяч, тогда Ваш сервер поднапряжется.
2 - Далее для получения id товара загружается вся мощь $query->the_post();. Можно было просто сделать запрос на получение только списка id.
3 - Далее вообще пустая работа. Сначала получаем артикул, потом проверяем существует ли он и его же присваиваем обратно.

Сформулируйте Ваше затруднение(проблему) более точно. Возможно, что решение рядом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы