默认情况下,在woocommerce中,stock status
选项位于“库存” 标签下。
如何在general
标签下显示确切的选项?
搜索时,我偶然发现了woocommerce/includes/abstracts/abstract-wc-product.php
中的这段代码:
public function set_stock_status( $status = 'instock' ) {
$valid_statuses = wc_get_product_stock_status_options();
if ( isset( $valid_statuses[ $status ] ) ) {
$this->set_prop( 'stock_status', $status );
} else {
$this->set_prop( 'stock_status', 'instock' );
}
}
然后在functions.php
中,我添加了:
add_action( 'woocommerce_product_options_general_product_data', 'check_stock_status' );`
但是什么也没发生。可能是我调用了错误的函数。
P / S:我正在使用WC 2.6.4
答案 0 :(得分:1)
要显示重复的库存状态设置,请在Woocommerce “产品数据” 元框 中的“常规” 标签 ,您可以使用以下可用的动作挂钩之一:
woocommerce_product_options_general_product_data
woocommerce_product_options_pricing
(隐藏在某些产品类型上) woocommerce_product_options_downloads
(如果无法下载产品则隐藏) woocommerce_product_options_tax
(隐藏在某些产品类型上) 代码 (注释了“ wrapper_class”参数以强制显示):
add_action( 'woocommerce_product_options_general_product_data', 'stock_status_in_general_options_settings' );
function stock_status_in_general_options_settings() {
global $post, $product_object;
woocommerce_wp_select(
array(
'id' => '_stock_status',
'value' => $product_object->get_stock_status( 'edit' ),
// 'wrapper_class' => 'stock_status_field hide_if_variable hide_if_external hide_if_grouped',
'label' => __( 'Stock status', 'woocommerce' ),
'options' => wc_get_product_stock_status_options(),
'desc_tip' => true,
'description' => __( 'Controls whether or not the product is listed as "in stock" or "out of stock" on the frontend.', 'woocommerce' ),
)
);
}
代码进入您的活动子主题(活动主题)的function.php文件中。