Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menambah Fungsi Status Stok Tersuai pada WooCommerce 4?
Pengenalan
Menambah status stok tersuai pada produk WooCommerce anda membenarkan anda untuk memberikan maklumat yang lebih terperinci tentang ketersediaan mereka. Ini boleh membantu meningkatkan pengalaman membeli-belah pelanggan anda dan mengurangkan kekeliruan.
Pilihan Status Stok Tersuai
Untuk mencapai fungsi status stok tersuai, ikuti langkah berikut:
Tambah Status Stok Tersuai:
<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>
Kemas kini Teks Ketersediaan dan Kelas:
<code class="php">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 ); 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>
Paparkan Status Tersuai pada Senarai Produk Pentadbir:
<code class="php">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>
Gunakan Status Tersuai dalam Cangkuk:
Pilihan 1: Menggunakan $product global
<code class="php">function woocommerce_my_callback() { // Get the global product object global $product; // Is a WC product if ( is_a( $product, 'WC_Product' ) ) { // Get stock status $product_stock_status = $product->get_stock_status(); // Use this line during testing, delete afterwards! echo '<p style="color:red;font-size:20px;">DEBUG INFORMATION = ' . $product_stock_status . '</p>'; // Compare if ( $product_stock_status == 'My custom stock status' ) { // Etc.. } } } add_action( 'woocommerce_shop_loop_item_title', 'woocommerce_my_callback', 10 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_my_callback', 10 );</code>
Pilihan 2: Menghantar $product kepada panggilan balik
<code class="php">function filter_woocommerce_get_price_html( $price, $product ) { // Is a WC product if ( is_a( $product, 'WC_Product' ) ) { // Get stock status $product_stock_status = $product->get_stock_status(); // Use this line during testing, delete afterwards! echo '<p style="color:red;font-size:20px;">DEBUG INFORMATION = ' . $product_stock_status . '</p>'; // Compare if ( $product_stock_status == 'My custom stock status' ) { // Etc.. // $price .= ' my text'; } } return $price; } add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );</code>
Kesimpulan
Menambah status stok tersuai pada WooCommerce memberikan lebih fleksibiliti dan maklumat kepada pelanggan anda. Dengan mengikut langkah ini, anda boleh melanjutkan fungsi lalai WooCommerce dengan mudah dan meningkatkan pengalaman membeli-belah untuk pengguna anda.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Fungsi Status Stok Tersuai pada WooCommerce 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!