私はwoocommerceで電子商取引を行っており、私は次のことをしなければなりません:functions.phpを使用してウォーコマースの価格を変更するには?
functions.phpですべての製品の価格を変更してください。私が作成した関数は、カートの値を除いて、サイトのすべての価格に対して機能します。私は、以下の機能を入れている
:
function woo_change_price($price, $product) {
global $woocommerce, $product;
$post_id = $product->id;
$regular_price = get_post_meta($post_id, '_regular_price', true);
$sale_price = get_post_meta($post_id, '_sale_price', true);
$cupom_value = ($regular_price - $sale_price)/10;
$price = $cupom_value;
return $price;
}
add_filter('woocommerce_get_price', 'woo_change_price', 99);
add_filter('woocommerce_get_sale_price', 'woo_change_price', 99);
add_filter('woocommerce_order_amount_item_subtotal', 'woo_change_price', 99);
は私が必要なものは、通常価格と製品の販売の価格を取得し、基本を作ることであることを参照してください。数学の計算、2を引いて10で割った結果、私はその製品の新しい価格を設定しました。
この機能は、カート以外のすべてのサイトで完全に機能します。カートを見ると、すべての値が0(価格、合計、小計など)に設定されています。
なぜこのエラーが発生しているのかがわかりましたが、今修正する方法はありません。問題は次のとおりです。$ product-> idはカートで識別されず、0を返します。
これを修正するにはどうすればよいですか?
ありがとうございました!