## How sort products by calculate value? ( custom post meta, price, option)

Question

I have options: wz_currency_dollar, wz_currency_euro. And post meta _wz_currency. In the admin panel price of product defined in dollar or euro and select corresponding post meta. In the front-end price recalculate for html by next formula:

if (get_post_meta($product->get_id(), '_wz_currency', true) == 'DOLL') {$price = ( (int) $product->get_price() * (int) get_option('wz_currency_dollar') ) . get_woocommerce_currency_symbol(); } else if (get_post_meta($product->get_id(), '_wz_currency', true) == 'EUR') {

$price = ( (int)$product->get_price() * (int) get_option('wz_currency_euro') ) . get_woocommerce_currency_symbol();
}


If i sorting products by price turns out unexpected result. For simple example:

product_1 200 (price=10 * wz_currency_euro=20)
product_2 400 (price=20 * wz_currency_euro=20)
product_3 180 (price=30 * wz_currency_dollar=6)


But i expected:

product_3 180 (price=30 * wz_currency_dollar=6)
product_1 200 (price=10 * wz_currency_euro=20)
product_2 400 (price=20 * wz_currency_euro=20)


How i can change sorting?

0
1 year 2020-07-25T10:11:00-05:00 0 Answers 55 views 0