Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menambah Status Stok Tersuai pada Produk WooCommerce dalam WooCommerce 4?

Bagaimana untuk Menambah Status Stok Tersuai pada Produk WooCommerce dalam WooCommerce 4?

Susan Sarandon
Lepaskan: 2024-11-03 14:59:02
asal
680 orang telah melayarinya

How to Add Custom Stock Statuses to WooCommerce Products in WooCommerce 4 ?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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=&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;
}
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );</code>
Salin selepas log masuk

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:

  • Gunakan global $product apabila anda tidak mempunyai akses kepada objek $product, seperti dalam cangkuk woocommerce_shop_loop_item_title dan woocommerce_single_product_summary.
  • Akses objek $product jika dihantar secara lalai kepada fungsi panggil balik, seperti dalam cangkuk woocommerce_get_price_html.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan