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:
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
Articoli correlati
Per aggiungere l'icona carrello WooComme...
Se vuoi Cambiare il numero di colonne ne...
Forse non lo sapete ma è possibile utili...
Oggi vorrei descrivere un semplice plugi...
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.