Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menambah Status Stok Tersuai seperti 'Prepesanan' dan 'Hubungi Kami' pada Produk WooCommerce?

Bagaimana untuk Menambah Status Stok Tersuai seperti 'Prepesanan' dan 'Hubungi Kami' pada Produk WooCommerce?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 22:32:291082semak imbas

How to Add Custom Stock Statuses like “Preorder” and “Contact Us” to WooCommerce Products?

Cara Menambah Status Stok Tersuai pada Produk dalam WooCommerce 4

Masalahnya

Status stok tersuai, seperti "Prepesanan" dan "Hubungi kami ," tiada daripada pilihan produk dalam WooCommerce 4 .

Penyelesaian

Tambahkan kod berikut pada fail functions.php anda:

// Add new stock status options
add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );
function filter_woocommerce_product_stock_status_options( $status ) {
    $status['pre_order'] = __( 'Pre order', 'woocommerce' );
    $status['contact_us'] = __( 'Contact us', 'woocommerce' );
    return $status;
}

// Availability text
add_filter( 'woocommerce_get_availability_text', 'filter_woocommerce_get_availability_text', 10, 2 );
function filter_woocommerce_get_availability_text( $availability, $product ) {
    switch( $product->get_stock_status() ) {
        case 'pre_order':
            $availability = __( 'Pre order', 'woocommerce' );
        break;
        case 'contact_us':
            $availability = __( 'Contact us', 'woocommerce' );
        break;
    }
    return $availability; 
}

// Availability CSS class
add_filter( 'woocommerce_get_availability_class', 'filter_woocommerce_get_availability_class', 10, 2 );
function filter_woocommerce_get_availability_class( $class, $product ) {
    switch( $product->get_stock_status() ) {
        case 'pre_order':
            $class = 'pre-order';
        break;
        case 'contact_us':
            $class = 'contact-us';
        break;
    }
    return $class;
}

// Admin stock html
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
    switch( $product->get_stock_status() ) {
        case 'pre_order':
            $stock_html = '<mark class=&quot;pre-order&quot; style=&quot;background:transparent none;color:#33ccff;font-weight:700;line-height:1;&quot;>' . __( 'Pre order', 'woocommerce' ) . '</mark>';
        break;
        case 'contact_us':
            $stock_html = '<mark class=&quot;contact-us&quot; style=&quot;background:transparent none;color:#cc33ff;font-weight:700;line-height:1;&quot;>' . __( 'Contact us', 'woocommerce' ) . '</mark>';
        break;
    }
    return $stock_html;
}

Nota Tambahan:

  • Perubahan ini tidak mempunyai kesan ke atas status stok sedia ada.
  • Status stok baharu akan muncul pada halaman produk, halaman produk tunggal dan jadual senarai produk pentadbir.
  • Jika mahu, anda boleh menggunakan status stok tersuai dalam cangkuk yang anda sudah mempunyai akses kepada objek $product.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Status Stok Tersuai seperti 'Prepesanan' dan 'Hubungi Kami' pada Produk WooCommerce?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn