Woocommerce 连接从 price.php 到 functions.php
Woocommerce connecting From price.php to functions.php
如何检索从 price.php 到 functions.php 的 select 输入?
这是我的 price.php 代码,(结果取自数据库):
<select class="form-control" id="hotel" name="hotel">
<?php
foreach ( $hresults as $hresult ) {
echo "<option>" . $hresult->hotel . " + ₱" . $hresult->hotelprice . "</option>";
}
?>
</select>
这里是 functions.php 代码:
function add_custom_price( $cart_object ) {
$pricesplit = explode("$",$_POST['hotel']);
$hotelprice = (int) $pricesplit;
foreach ( $cart_object->cart_contents as $key => $value ) {
$quantity = floatval( $value['quantity'] );
$orgPrice = floatval( $value['data']->price );
$value['data']->price = ( ( $orgPrice + $hotelprice ) * $quantity );
}
}
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
我的问题是,如何检索酒店 select 输入并将其用于计算覆盖 woocommerce 价格?
首先是用户select的酒店和机票,价格在他们这边。然后,一旦用户将其添加到购物车,它就会覆盖价格。取决于选择的酒店和机场。
例如:
- 机场:中国 - 400 美元
- 酒店:丽笙 - 500 美元
- 总计 =(基本票价 + 机场 + 酒店)* 物品数量
您 price.php 中的标记不正确。 select 字段中的 "options" 缺少各自的值。这就是为什么您没有从 select 字段中获取价格值的原因。 price.php 中的代码应如下所示。
<select class="form-control" id="hotel" name="hotel">
<?php
foreach ( $hresults as $hresult ) {
echo '<option value="<?php echo($hresult->hotelprice); ?>">' . $hresult->hotel . ' + ₱' . $hresult->hotelprice . '</option>';
}
?>
</select>
希望这能解决您的问题。请注意双引号 (") 和单引号 (') 的使用变化。
如何检索从 price.php 到 functions.php 的 select 输入?
这是我的 price.php 代码,(结果取自数据库):
<select class="form-control" id="hotel" name="hotel">
<?php
foreach ( $hresults as $hresult ) {
echo "<option>" . $hresult->hotel . " + ₱" . $hresult->hotelprice . "</option>";
}
?>
</select>
这里是 functions.php 代码:
function add_custom_price( $cart_object ) {
$pricesplit = explode("$",$_POST['hotel']);
$hotelprice = (int) $pricesplit;
foreach ( $cart_object->cart_contents as $key => $value ) {
$quantity = floatval( $value['quantity'] );
$orgPrice = floatval( $value['data']->price );
$value['data']->price = ( ( $orgPrice + $hotelprice ) * $quantity );
}
}
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
我的问题是,如何检索酒店 select 输入并将其用于计算覆盖 woocommerce 价格?
首先是用户select的酒店和机票,价格在他们这边。然后,一旦用户将其添加到购物车,它就会覆盖价格。取决于选择的酒店和机场。
例如:
- 机场:中国 - 400 美元
- 酒店:丽笙 - 500 美元
- 总计 =(基本票价 + 机场 + 酒店)* 物品数量
您 price.php 中的标记不正确。 select 字段中的 "options" 缺少各自的值。这就是为什么您没有从 select 字段中获取价格值的原因。 price.php 中的代码应如下所示。
<select class="form-control" id="hotel" name="hotel">
<?php
foreach ( $hresults as $hresult ) {
echo '<option value="<?php echo($hresult->hotelprice); ?>">' . $hresult->hotel . ' + ₱' . $hresult->hotelprice . '</option>';
}
?>
</select>
希望这能解决您的问题。请注意双引号 (") 和单引号 (') 的使用变化。