2017-08-21 18 views
-1

価格変数を作成しても機能しませんが、価格をハードコードすると次のコードに問題があります。私はこの行を追加し、変数を上書きする場合woocommerceプロダクトのオーバーライド

function add_custom_price($cart_obj) { 
    global $product, $woocommerce ,$wpdb; 

    if (isset($_POST['fra'])){ 
     $GLOBALS['$_fra'] = urldecode($_POST["fra"]); 
    } else { 
     $GLOBALS['$_fra'] = ""; 
    } 
    if (isset($_POST['til'])){ 
     $GLOBALS['$_til'] = urldecode($_POST["til"]); 
    } else { 
     $GLOBALS['$_til'] = ""; 
    } 
    if ($GLOBALS['$_til'] !="" && $GLOBALS['$_fra'] !=""){ 

     $t1 = urldecode($GLOBALS['$_til']); 
     $t2 = urldecode($GLOBALS['$_fra']); 

     $objArray = $wpdb->get_results("SELECT $t1 FROM test_priser WHERE city = '$t2'"); 

     if (isset($objArray[0]->$t1)){ 
      $priser = explode("/",$objArray[0]->$t1); 
      if (!isset($priser[1])){ 
       $priser[1] = intval($priser[0]); 
      } 
     } 

     echo "priser[1] = ".$priser[1]; //this outputs the expected value 
    } 

    if (is_admin() && ! defined('DOING_AJAX')){ 
     return; 
    } 
    foreach ($cart_obj->get_cart() as $key => $value) { 
     $value['data']->set_price($priser[1]); 
    } 
} 

は、それが動作:

この、down'tの仕事(私はテスト面で午前とセキュリティを心配していない注意してください)

$priser[1] = 1000; 

問題の原因はかなりわかりません。

答えて

0

これに遭遇する可能性がある他の人のために。私はセッションで可変価格を渡す必要があるようだし、それは動作します。

ここで答えを見つけることができます:custom price on woocommerce product

関連する問題