覆盖 WooCommerce 管理产品列表中 "is_in_stock" 列的内容
Override content from column "is_in_stock" in WooCommerce admin product list
我尝试覆盖 WooCommerce 管理产品列表中“is_in_stock”列的内容。
为此我目前使用:
<?php
add_action('manage_product_posts_custom_column', 'stock_override' );
function stock_override($column_name){
global $post;
$product = wc_get_product($post->ID);
if( $product->is_type('variable')){
if ($column_name == 'is_in_stock') {
echo 'own text';
}
}
}
?>
但这并没有覆盖默认内容,而是将我的文字添加到其中。默认内容为库存状态onstock
、backorder
或out of stock
.
我创建了一个自定义产品类型,如果产品类型等于变量,我想覆盖列 is_in_stock
中的内容。如果不相等,则回显 WooCommerce 的默认值。
我可以删除整个列并添加我自己的列,但如果产品类型不相等,我就没有默认内容。
谁能帮帮我?
无需删除默认列并将其替换为新列,您只需在可以访问 $product
对象的地方使用 woocommerce_admin_stock_html
过滤器即可。
这样您就可以将自己的 text/statuses 添加到现有列中。
所以你得到:
// Admin product list: is_in_stock
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
// Condition
if ( $product->is_type('variable') ) {
$stock_html = '<mark class="someclass" style="background:transparent none; color:#33ccff; font-weight:700; line-height:1;">' . __( 'My text', 'woocommerce' ) . '</mark>';
}
return $stock_html;
}
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );
我尝试覆盖 WooCommerce 管理产品列表中“is_in_stock”列的内容。
为此我目前使用:
<?php
add_action('manage_product_posts_custom_column', 'stock_override' );
function stock_override($column_name){
global $post;
$product = wc_get_product($post->ID);
if( $product->is_type('variable')){
if ($column_name == 'is_in_stock') {
echo 'own text';
}
}
}
?>
但这并没有覆盖默认内容,而是将我的文字添加到其中。默认内容为库存状态onstock
、backorder
或out of stock
.
我创建了一个自定义产品类型,如果产品类型等于变量,我想覆盖列 is_in_stock
中的内容。如果不相等,则回显 WooCommerce 的默认值。
我可以删除整个列并添加我自己的列,但如果产品类型不相等,我就没有默认内容。
谁能帮帮我?
无需删除默认列并将其替换为新列,您只需在可以访问 $product
对象的地方使用 woocommerce_admin_stock_html
过滤器即可。
这样您就可以将自己的 text/statuses 添加到现有列中。
所以你得到:
// Admin product list: is_in_stock
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
// Condition
if ( $product->is_type('variable') ) {
$stock_html = '<mark class="someclass" style="background:transparent none; color:#33ccff; font-weight:700; line-height:1;">' . __( 'My text', 'woocommerce' ) . '</mark>';
}
return $stock_html;
}
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );