WooCommerce拍卖产品中Dokan产品附加组件不显示的解决咨询
解决Dokan产品附加组件在拍卖产品页面不显示的问题
- 检查钩子兼容性,强制加载附加组件
WooCommerce Simple Auctions的拍卖产品页面大概率没用到Dokan附加组件依赖的默认WooCommerce钩子,导致字段加载不出来。试试在主题的functions.php里加这段代码,把附加组件挂钩到拍卖出价表单的前置钩子上:
add_action('woocommerce_simple_auctions_before_bid_form', 'dokan_product_addons_show', 10); function dokan_product_addons_show() { global $product; if (class_exists('Dokan_Product_Addons')) { $addons = new Dokan_Product_Addons(); $addons->display($product->get_id()); } }
要是这个钩子不对,就去看Simple Auctions的模板文件,找个合适的页面钩子替换进去就行。
- 给附加组件加拍卖产品类型支持
Dokan附加组件默认可能只认标准WooCommerce产品类型,不认拍卖产品。加这段代码让它支持拍卖类型:
add_filter('dokan_product_addons_supported_product_types', 'add_auction_product_type_support'); function add_auction_product_type_support($types) { $types[] = 'auction'; // 要是不对,就用echo $product->get_type();在产品页输出看实际类型slug return $types; }
- 排查主题模板覆盖问题
如果你的主题自定义了Simple Auctions的产品模板(比如single-product/auction.php),可能没留附加组件的显示位置。找原版插件的模板对比,把这段代码插到出价表单附近合适的位置:
<?php if (class_exists('Dokan_Product_Addons')) { $addons = new Dokan_Product_Addons(); $addons->display(get_the_ID()); } ?>
- 排查插件冲突
暂时关掉除了Dokan、WooCommerce、Simple Auctions、Dokan Product Addons之外的所有插件,测试是不是其他插件搞的鬼。要是恢复显示了,再一个个开插件找冲突源。
内容的提问来源于stack exchange,提问作者Elodie Gaborit
相关产品推荐
相关产品推荐

