Come aumentare il prezzo di tutti i prodotti WooCommerce

Come aumentare il prezzo di tutti i prodotti WooCommerce

Di recente ho trovato una funzione che consente di aumentare il prezzo di tutti i prodotti WooCommerce, sia quelli semplici che quelli variabili.

La funzione seguente aggiornerà i prezzi di tutti i prodotti di una percentuale da te scelta. Questo codice potrà essere applicato una sola volta da utenti con accesso admin.

Procediamo supponendo di voler incrementare i prezzi del 10%. Il codice che dovremo inserire nel file functions.php è il seguente:

A questo link potrai trovare una soluzione qualora dovessi avere bisogno di aggiornare i prezzi un’altra volta.
Fonte: https://stackoverflow.com/questions/39462524/woocommerce-increase-prices-of-simple-and-variable-products

function bulk_update_product_prices($percent=0){
    if(get_option( 'wc_bulk_updated_prices' ) != 'yes' && is_admin() ) {

        // previene che i prezzi vengano aggiornati più di una volta
        add_option( 'wc_bulk_updated_prices' );

        $args = array(
            // WC product post types
            'post_type'   => array('product', 'product_variation'),
            // all posts
            'numberposts' => -1,
            'post_status' => 'publish',
        );
        if($percent == 0) return;
        echo 'bla bla';
        $percent = 1 . '.' . $percent;
        $shop_products = get_posts( $args );
       foreach( $shop_products as $item){
            $meta_data = get_post_meta($item->ID);
            if (!empty($meta_data['_regular_price'])) {
                $regular_price = $meta_data['_regular_price'][0] * $percent;
                update_post_meta($item->ID, '_regular_price', $regular_price);
            }
            if (!empty($meta_data['_sale_price'])) {
                $sale_price = $meta_data['_sale_price'][0] * $percent;
                update_post_meta($item->ID, '_sale_price', $sale_price);
            }
            if (!empty($meta_data['_price'])) {
                $price = $meta_data['_price'][0] * $percent;
                update_post_meta($item->ID, '_price', $price);
            }
        }
        // Questa opzione impostata con yes previene aggiornamenti multipli.
        update_option( 'wc_bulk_updated_prices', 'yes');
    }
}

// inserisci la percentuale (se desideri il 10%, metti 10)
bulk_update_product_prices(10); // <== == == == == == Here set your percent value

A questo link potrai trovare una soluzione qualora dovessi avere bisogno di aggiornare i prezzi un’altra volta.
Fonte: https://stackoverflow.com/questions/39462524/woocommerce-increase-prices-of-simple-and-variable-products

1 commento su “Come aumentare il prezzo di tutti i prodotti WooCommerce”

  1. forse converrebbe mettere queste 3 condizioni prima di aggiornare i vari campi:

    if($regular_price !== ” || $regular_price > 0) {
    //update_post_meta…
    }
    if($sale_price !== ” || $sale_price > 0) {
    //update_post_meta…
    }
    if($price !== ” || $price > 0) {
    //update_post_meta…
    }

    altrimenti verrà impostato a 0 il campo sale price se non è compilato. Creando un bel po’ di casino.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Torna in alto