WooCommerce 관리 제품 목록에있는 "is_in_stock"열의 콘텐츠 무시
Dec 18 2020
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
producttype이 변수와 같으면 열의 내용을 재정의하고 싶습니다 . 같지 않으면 WooCommerce의 기본값을 에코합니다.
전체 열을 제거하고 내 열을 추가 할 수 있지만 제품 유형이 같지 않으면 기본 콘텐츠가 없습니다.
누가 나를 조금 도울 수 있습니까?
답변
3 7uc1f3r Dec 18 2020 at 15:19
기본 열을 삭제하고 새 열로 바꿀 필요가 없습니다 . 개체에 woocommerce_admin_stock_html
액세스 할 수있는 필터를 사용하면 $product
됩니다.
이렇게하면 기존 열에 자신의 텍스트 / 상태를 추가 할 수 있습니다.
따라서 다음을 얻을 수 있습니다.
// 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 );