![](/img/trans.png)
[英]WooCommerce Product get_stock_quantity() method return null
[英]WooCommerce $product->get_stock_quantity(); breaking cart page
我已經在WooCommerce模板中編輯了quantity-input.php模板文件,以創建自己的輸入按鈕。 問題是我使用了$ product-> get_stock_quantity();。 在輸入上設置max屬性。 這在除購物車頁面之外的所有頁面上均能正常工作,在該頁面上它會中斷HTML並顯示此錯誤;
注意:試圖獲取非對象的屬性
為什么這會破壞購物車頁面,但不會破壞其他頁面?
這是完整的模板代碼;
if ( $max_value && $min_value === $max_value ) {
?>
<div class="quantity hidden">
<input type="hidden" id="<?php echo esc_attr( $input_id ); ?>" class="qty" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $min_value ); ?>" />
</div>
<?php
} else {
/* translators: %s: Quantity. */
$labelledby = ! empty( $args['product_name'] ) ? sprintf( __( '%s quantity', 'woocommerce' ), strip_tags( $args['product_name'] ) ) : '';
?>
<div class="quantity">
<label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php esc_html_e( 'Quantity', 'woocommerce' ); ?></label>
<div class="increment">
<span></span><span></span>
</div>
<?php global $product ?>
<input
type="text"
id="<?php echo esc_attr( $input_id ); ?>"
class="input-text qty text"
step="<?php echo esc_attr( $step ); ?>"
min="<?php echo esc_attr( $min_value ); ?>"
max="<?php echo $product->get_stock_quantity();?>"
name="<?php echo esc_attr( $input_name ); ?>"
value="<?php echo esc_attr( $input_value ); ?>"
title="<?php echo esc_attr_x( 'Qty', 'Product quantity input tooltip', 'woocommerce' ); ?>"
size="4"
pattern="<?php echo esc_attr( $pattern ); ?>"
inputmode="<?php echo esc_attr( $inputmode ); ?>"
aria-labelledby="<?php echo esc_attr( $labelledby ); ?>" />
<div class="decrement">
<span></span>
</div>
</div>
<?php
}
看起來$ product不包含(有效)對象。
您可以通過執行以下操作檢查$ product是否為對象:
if (is_object($product) )
echo 'Yes a object';
else
echo 'Sorry no object';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.