我正在尝试添加功能,以在销售徽章下方显示产品的价格,但是我在代码方面遇到麻烦..它在前端工作正常,但是wordpress发现错误并在后端显示错误(当我打开插件设置时。)
添加此内容的正确方法是什么?
Fatal error: Uncaught Error: Call to a member function get_price_html() on null in /wp-content/plugins/yith-woocommerce-badge-management-premium/templates/badge_content_premium.php:36 Stack trace: #0
/wp-content/plugins/yith-woocommerce-badge-management-premium/functions.yith-wcbm.php(205): include() #1
/wp-content/plugins/yith-woocommerce-badge-management-premium/functions.yith-wcbm-premium.php(807): yith_wcbm_get_template('badge_content_p...', Array) #2
/wp-content/plugins/yith-woocommerce-badge-management-premium/class.yith-wcbm-admin-premium.php(109): yith_wcbm_get_badge_premium(364, 'preview') #3
/wp-includes/class-wp-hook.php(286): YITH_WCBM_Admin_Premium->badge_custom_columns('yith_wcbm_previ...' in
/wp-content/plugins/yith-woocommerce-badge-management-premium/templates/badge_content_premium.php on line 36
这是我在第36行添加的代码
<div class='<?php echo $badge_classes ?> yith-wcbm-badge-custom' <?php echo $position_data_html ?>>
<div class='yith-wcbm-badge__wrap'>
<div class="yith-wcbm-badge-text"><b><?php echo $text ?>
LINE 36- <div class="roundedborder"><?php echo $product->get_price_html(); ?></b></div></div>
</div><!--yith-wcbm-badge__wrap-->
</div><!--yith-wcbm-badge-->
我尝试定义$ product,显然我做错了也尝试了global $woocommerce; $product = new WC_Product(get_the_ID());
,但没有一个能解决问题
答案 0 :(得分:0)
由于您的$ product为空而生成此错误,请尝试获取产品对象而不是获取价格
答案 1 :(得分:-1)
似乎对象$ product不存在。 这是同样的问题,可能会对您有所帮助:
Fatal error: Call to a member function get_price_html() on a non-object
<?php
global $woocommerce;
$product = new WC_Product(get_the_ID());
echo $product->get_price_html(); //Shows the price
?>