Добавление внутренней ценности ко всем продуктам woocommerce

#woocommerce

Вопрос:

Я просто хочу добавить поле ко всем своим продуктам в woocommerce, которое не видно клиентам. Это будет полезно при экспорте списка продуктов в csv и последующем расчете на основе этого значения.

Вероятно, упустил что-то очевидное. Заранее спасибо.

Ответ №1:

Во-первых, вам нужно получить все ваши продукты. После этого проверьте, что этот мета-ключ уже существует. Если да, то обновите значение; в противном случае добавьте его в качестве нового мета-ключа.

 <?php
$args = array(
    'post_type'      => 'product',
    'posts_per_page' => -1,
);

$products = new WP_Query( $args );

while ( $products->have_posts() ) : $products->the_post();
    if(!empty(get_post_meta($post->ID, '_your_custom_meta_key', true))){
        update_post_meta($post->ID, '_your_custom_meta_key', 'Your custom value');
    }else{
        add_post_meta($post->ID, '_your_custom_meta_key', 'Your custom value');
    }
endwhile;

wp_reset_query();
?>
 

Комментарии:

1. Итак, если я правильно понимаю, в разделе «Администратор» у меня нет возможности добавить поле в продукты без редактирования php?

2. Да, у вас есть выбор. Вы можете создать плагин, в котором укажите опцию поля ввода и сохраните его для дальнейшего использования. Затем вы можете обновить все метаданные продуктов с помощью этих данных, используя приведенный выше код.