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); // <== Imposta qui il valore in percentuale
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
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.
Per diminuire il prezzo?
Ciao Leandro,
la soluzione più semplice è quella di seguire questi step nella bacheca di WordPress (come amministratore).
Vai in Prodotti > Seleziona i prodotti a cui applicare la riduzione di prezzo > Clicca su Azioni di gruppo, seleziona Modifica e clicca su Applica > Seleziona Prezzo > “Cambia a:” e scegli “Riduci il prezzo normale….” > Inserisci il valore fisso o la percentuale di tuo interesse. > Concludi cliccando su Aggiorna
Spero di esserti stata utile.