Un utente ha chiesto informazioni su Dynamic Pricing and Discounts for WooCommerce di Wordpress

Prezzi scontati accurati?

Un utente ha chiesto 👇

Ho un negozio con questo plugin e vorremmo che i prezzi scontati fossero un numero intero / intero.

Ora 959,20 SEK è un prodotto che costa 1199 SEK con uno sconto del 20%. Vogliamo che sia 959.

Puoi aiutarci per favore?

Sul 3.3.9 del plugin, WordPress 4.9.5 e WooCommerce 3.3.3.

(@xadapter)

2 anni, 10 mesi fa

Ciao,

Puoi modificare le impostazioni di woocommerce in modo da visualizzare 0 cifre decimali nelle impostazioni generali.

Di,

Lanciatore di thread

(@ 209d2jka)

2 anni, 10 mesi fa

Grazie per la risposta rapida.

Ne sono consapevole e l’ho provato, ma il nostro gateway di pagamento (Klarna) utilizza ancora il prezzo offerto da WooCommerce.

Ti saremmo grati se potessi aiutarci ad arrotondare i prezzi effettivi al numero intero più vicino.

(@xadapter)

2 anni, 10 mesi fa

Ciao,

Al momento non abbiamo una soluzione, ma questo è uno snippet di codice per proteggere il valore, in realtà per un altro plugin, ma dagli una possibilità, aggiungilo in functions.php

Raccolta del codice:

add_filter (‘woocommerce_product_get_price’, ’round_get_price’, 200,2);

function round_get_price ($ price = “, $ product = null) {
$ obj = new Class_Eh_Price_Discount_Admin (false);
$ pid = $ obj-> get_product_id ($ product);
$ temp_data = $ obj-> get_product_type ($ product);
if ($ temp_data == ‘varietà’) {
$ pid = $ obj-> get_product_parent_id ($ product);
}
if (is_array ($ obj-> individual_product_adjustment_roles) && in_array ($ obj-> current_user_role, $ obj-> individual_product_adjustment_roles)) {
// Prezzo basato sul ruolo (modifica del prezzo della singola pagina del prodotto)
$ product_user_price = get_post_meta ($ pid, ‘product_role_based_price’);
if (is_array ($ product_user_price) && isset ($ product_user_price[0]) &&! vuoto ($ product_user_price[0])) {
$ product_user_price = $ product_user_price[0];
}
if (! empty ($ product_user_price)) {
if (isset ($ product_user_price)[$obj->current_user_role])) {
$ product_user_price_value = $ product_user_price[$obj->current_user_role][‘role_price’];
if (is_numeric ($ product_user_price_value)) {
$ price = ceil ($ product_user_price_value);
}
}
}

// aggiustamento del prezzo della pagina del singolo prodotto (sconto / markup dalla pagina delle impostazioni))
$ force_button_check_for_product = get_post_meta ($ pid, ‘product_based_price_adjustment’, true);
$ product_price_adjustment = get_post_meta ($ pid, ‘product_price_adjustment’, true);

if ($ enforce_button_check_for_product == ‘yes’ && isset ($ product_price_adjustment[$obj->current_user_role]) && isset ($ product_price_adjustment[$obj->current_user_role][‘role_price’]) && $ product_price_adjustment[$obj->current_user_role][‘role_price’] == ‘ar’) {
$ current_user_product_rule = $ product_price_adjustment[$obj->current_user_role];
if (! empty ($ current_user_product_rule). “[‘adjustment_price’]) && is_numeric ($ current_user_product_rule[‘adjustment_price’])) {
$ aggiustamento_valore + = (float) $ current_user_product_rule[‘adjustment_price’];
}
if (! empty ($ current_user_product_rule). “[‘adjustment_percent’]) && is_numeric ($ current_user_product_rule[‘adjustment_percent’])) {
$ aggiustamento_valore + = $ prezzo * ((float) $ current_user_product_rule[‘adjustment_percent’]) / 100;
}
// adeguamento dello sconto / contrassegno a $ prezzo
$ prezzo + = $ aggiustamento_valore;
prezzo di ritorno $;
}
}
if ($ temp_data === ‘change’) {
$ prdct_id = $ obj-> get_product_category_using_id ($ obj-> get_product_parent_id ($ product));
} altro {
if (WC () -> versione <'2.7.0') {
$ temp_post_id = $ product-> post-> ID;
} altro {
$ temp_post_id = $ prodotto-> get_id ();
}
$ prdct_id = $ obj-> get_product_category_using_id ($ temp_post_id);
}
$ valore_regolazione = 0;
$ common_price_adjustment_table = get_option (‘eh_pricing_discount_price_adjustment_options’, edit ());
if (isset ($ common_price_adjustment_table)[$obj->current_user_role]) && isset ($ common_price_adjustment_table[$obj->current_user_role][‘role_price’]) && $ common_price_adjustment_table[$obj->current_user_role][‘role_price’] == ‘ar’) {
$ current_user_product_rule = $ common_price_adjustment_table[$obj->current_user_role];
if (! empty ($ current_user_product_rule). “[‘adjustment_price’]) && is_numeric ($ current_user_product_rule[‘adjustment_price’])) {
if (isset ($ obj-> role_price_adjustment)[$obj->current_user_role][‘category’])) {
$ cat_display = $ obj-> role_price_adjustment[$obj->current_user_role][‘category’];
if ($ temp_data! = ‘raggruppato’)
$ result_chk = array_intersect ($ prdct_id, $ cat_display);
if (vuoto ($ result_chk)) {
$ valore_regolazione = 0;
} altro {
$ aggiustamento_valore + = (float) $ current_user_product_rule[‘adjustment_price’];
}
} altro {
$ aggiustamento_valore + = (float) $ current_user_product_rule[‘adjustment_price’];
}
}
if (! empty ($ current_user_product_rule). “[‘adjustment_percent’]) && is_numeric ($ current_user_product_rule[‘adjustment_percent’])) {
if (isset ($ obj-> role_price_adjustment)[$obj->current_user_role][‘category’])) {
$ cat_display = $ obj-> role_price_adjustment[$obj->current_user_role][‘category’];
if ($ temp_data! = ‘grouped’) {
$ result_chk = array_intersect ($ prdct_id, $ cat_display);
}
if (vuoto ($ result_chk)) {
$ valore_regolazione = 0;
} altro {
$ valore_aggiustamento + = $ prezzo * ((float) $ current_user_product_rule[‘adjustment_percent’]) / 100;
}
} altro {
$ aggiustamento_valore + = $ prezzo * ((float) $ current_user_product_rule[‘adjustment_percent’]) / 100;
}
}
// adeguamento sconto / contrassegno a $ prezzo
$ prezzo + = $ aggiustamento_valore;
}
prezzo di ritorno $;
}

Lanciatore di thread

(@ 209d2jka)

2 anni, 10 mesi fa

Grazie per aiutarmi.

Errore non recuperato: classe ‘Class_Eh_Price_Discount_Admin’ non trovata in wp-content / theme / creamshop / functions.php: 6
Pista di impilamento:
# 0 wp-include / class-wp-hook.php (286): round_get_price (‘1099.00’, Object (WC_Product_Variable))
# 1 wp-include / plugin.php (203): WP_Hook-> apply_filters (‘1099.00’, Modifica)
# 2 wp-content / plugins / woocommerce / include / abstracts / abstract-wc-data.php (694): apply_filters (‘woocommerce_pro…’, ‘1099.00’, Object (WC_Product_Variable))
# 3 wp-content / plugins / woocommerce / include / abstracts / abstract-wc-product.php (275): WC_Data-> get_prop (‘price’, ‘view’)
# 4 wp-content / plugins / woocommerce / include / abstracts / abstract-wc-product.php (1458): WC_Product-> get_price ()

(@xadapter)

2 anni, 10 mesi fa

Ciao,

Immagino che lo snippet non funzioni per questo plug-in, verificherò con il nostro team se è possibile scrivere uno snippet di codice per proteggere i valori. compatibile con il nostro plugin.

Di,

Lanciatore di thread

(@ 209d2jka)

2 anni, 10 mesi fa

Grazie mille!

(@xadapter)

2 anni, 10 mesi fa

Ciao,

Prova a utilizzare lo snippet di codice di seguito:

add_action (‘woocommerce_cart_total’, ‘cart_totals’, 99, 1);
funzione cart_totals ($ wc_price)
{
$ global woocommerce;
$ new_price = accurate ($ woocommerce-> cart-> complete);

return wc_price ($ new_price);
}

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *