Ganti konten dari kolom "is_in_stock" di daftar produk admin WooCommerce
Saya mencoba untuk mengganti konten dari kolom "is_in_stock" di daftar produk admin WooCommerce.
Untuk ini saya saat ini menggunakan:
<?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';
}
}
}
?>
Tetapi ini tidak menimpa konten default tetapi menambahkan teks saya ke ini. Konten default adalah status stok onstock
, backorder
atau out of stock
.
Saya membuat jenis produk khusus dan saya ingin mengganti konten di kolom is_in_stock
jika jenis produk sama dengan variabel. Jika tidak sama, gema default dari WooCommerce.
Saya dapat menghapus seluruh kolom dan menambahkan kolom saya sendiri tetapi kemudian saya tidak memiliki konten default jika producttype tidak sama.
Siapa yang bisa sedikit membantu saya?
Jawaban
Tidak perlu menghapus kolom default dan menggantinya dengan yang baru, Anda bisa menggunakan woocommerce_admin_stock_html
filter di mana Anda memiliki akses ke $product
objek tersebut.
Dengan begitu Anda dapat menambahkan teks / status Anda sendiri ke kolom yang ada.
Jadi Anda mendapatkan:
// 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 );