Status Stok Tersuai untuk Produk WooCommerce dalam WooCommerce 4
Menambah status stok tersuai pada produk dalam WooCommerce 4 ialah proses yang agak mudah. Walau bagaimanapun, ia memerlukan pengubahsuaian fungsi tertentu untuk memastikan bahawa status dipaparkan dengan betul di bahagian hadapan dan bahagian belakang.
Menambah Status Stok Tersuai
Untuk menambah status stok tersuai, tambah kod berikut pada fail functions.php anda:
<code class="php">function filter_woocommerce_product_stock_status_options( $status ) { // Add new statuses $status['pre_order'] = __('Pre Order', 'woocommerce'); $status['contact_us'] = __('Contact us', 'woocommerce'); return $status; } add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );</code>
Kod ini menambah dua status baharu: "Prapesanan" dan "Hubungi Kami".
Memaparkan Ketersediaan Stok Tersuai
Untuk memastikan status tersuai dipaparkan dengan betul di bahagian hadapan, gunakan perubahan berikut:
<code class="php">// Availability text function filter_woocommerce_get_availability_text( $availability, $product ) { // Get stock status switch( $product->get_stock_status() ) { case 'pre_order': $availability = __( 'Pre Order', 'woocommerce' ); break; case 'contact_us': $availability = __( 'Contact us', 'woocommerce' ); break; } return $availability; } add_filter( 'woocommerce_get_availability_text', 'filter_woocommerce_get_availability_text', 10, 2 ); // Availability CSS class function filter_woocommerce_get_availability_class( $class, $product ) { // Get stock status switch( $product->get_stock_status() ) { case 'pre_order': $class = 'pre-order'; break; case 'contact_us': $class = 'contact-us'; break; } return $class; } add_filter( 'woocommerce_get_availability_class', 'filter_woocommerce_get_availability_class', 10, 2 );</code>
Memaparkan Status Stok dalam Senarai Produk Pentadbir
Untuk memaparkan status stok tersuai dalam jadual senarai produk pentadbir, ubah suai fungsi berikut:
<code class="php">// Admin stock html function filter_woocommerce_admin_stock_html( $stock_html, $product ) { // Simple if ( $product->is_type( 'simple' ) ) { // Get stock status $product_stock_status = $product->get_stock_status(); // Variable } elseif ( $product->is_type( 'variable' ) ) { foreach( $product->get_visible_children() as $variation_id ) { // Get product $variation = wc_get_product( $variation_id ); // Get stock status $product_stock_status = $variation->get_stock_status(); } } // Stock status switch( $product_stock_status ) { case 'pre_order': $stock_html = '<mark class="pre-order" style="background:transparent none;color:#33ccff;font-weight:700;line-height:1;">' . __( 'Pre order', 'woocommerce' ) . '</mark>'; break; case 'contact_us': $stock_html = '<mark class="contact-us" style="background:transparent none;color:#cc33ff;font-weight:700;line-height:1;">' . __( 'Contact us', 'woocommerce' ) . '</mark>'; break; } return $stock_html; } add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );</code>
Pilihan: Menggunakan Status Stok Tersuai dalam Cangkuk
Anda boleh gunakan status stok tersuai dalam cangkuk apabila anda mempunyai akses kepada objek $product atau boleh menggunakan $product global.
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Menambah Status Stok Tersuai pada Produk WooCommerce dalam WooCommerce 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!