WooCommerce如何自动启用商品单独售卖(sold individually)设置?
WooCommerce自动勾选“单独售卖”选项的解决方案
你需要在添加新的简单可下载/虚拟商品时,自动勾选库存设置中的“单独售卖”(sold individually)选项,此前尝试的代码因钩子名称错误无法生效,以下是正确的实现代码:
正确代码实现
单独实现自动勾选“单独售卖”
add_filter( 'woocommerce_product_inventory_settings', 'autocheck_sold_individually' ); function autocheck_sold_individually( $settings ) { foreach ( $settings as &$setting ) { if ( $setting['id'] === '_sold_individually' ) { $setting['default'] = 'yes'; break; } } return $settings; }
合并原有功能(自动勾选虚拟/可下载+单独售卖)
如果你想把之前的自动勾选虚拟、可下载商品的功能和这个功能合并,使用以下代码即可:
// 自动勾选虚拟和可下载选项 add_filter( 'product_type_options', 'autocheck_virtual_downloadable' ); function autocheck_virtual_downloadable( $options ) { $options['virtual']['default'] = 'yes'; $options['downloadable']['default'] = 'yes'; return $options; } // 自动勾选单独售卖选项 add_filter( 'woocommerce_product_inventory_settings', 'autocheck_sold_individually' ); function autocheck_sold_individually( $settings ) { foreach ( $settings as &$setting ) { if ( $setting['id'] === '_sold_individually' ) { $setting['default'] = 'yes'; break; } } return $settings; }
代码说明
你之前使用的inventory_options并非WooCommerce官方提供的钩子,正确的钩子是woocommerce_product_inventory_settings——这个钩子专门用于修改商品库存相关的设置选项。代码通过遍历库存设置数组,找到_sold_individually对应的选项并将默认值设为yes,实现新增商品时自动勾选该选项。
使用时,将代码添加到主题的functions.php文件中,或者通过自定义代码插件(如Code Snippets)添加即可生效。
内容的提问来源于stack exchange,提问作者Mieke
相关产品推荐
相关产品推荐

