1
我目前排空,並增加了產品的用戶購物車訪問該網站的時候 - 因爲他們將永遠只有一個單品(捐贈),像這樣:WooCommerce:設定價格編程
function add_donation_to_cart() {
global $woocommerce;
$woocommerce->cart->empty_cart();
$woocommerce->cart->add_to_cart('195', 1, null, null, null);
}
我使用自定義表單獲取$_POST
信息 - 金額將過帳到捐贈頁面,實際上是已經包含產品的用戶購物車。自定義金額在下面的功能中用於更改價格。價格在購物車中,結帳頁面以及重定向的支付網關(在重定向頁面本身內)中均正確顯示。
但是,只要您重定向,woocommerce就會創建一個訂單,並將其標記爲「處理」。訂單上顯示的金額不正確。
我已經習慣了更改價格的功能顯示如下:
add_action('woocommerce_before_calculate_totals', 'add_custom_total_price');
function add_custom_total_price($cart_object)
{
session_start();
global $woocommerce;
$custom_price = 100;
if($_POST)
{
if(!empty($_POST['totalValue']))
{
$theVariable = str_replace(' ', '', $_POST['totalValue']);
if(is_numeric($theVariable))
{
$custom_price = $theVariable;
$_SESSION['customDonationValue'] = $custom_price;
}
else
{
$custom_price = 100;
}
}
}
else if(!empty($_SESSION['customDonationValue']))
{
$custom_price = $_SESSION['customDonationValue'];
}
else
{
$custom_price = 100;
}
var_dump($_SESSION['customDonationValue']);
foreach ($cart_object->cart_contents as $key => $value)
{
$value['data']->price = $custom_price;
}
}
現在我不能完全肯定,如果有事情做與我的if語句,但價格總是錯誤地設置爲100即使產品價格設置爲0.
任何幫助或見解將不勝感激!