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

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

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

Войти через центр авторизации
Похожие вопросы