> 백엔드 개발 > PHP 튜토리얼 > WooCommerce 제품에 '예약 주문' 및 '문의하기'와 같은 사용자 정의 재고 상태를 추가하는 방법은 무엇입니까?

WooCommerce 제품에 '예약 주문' 및 '문의하기'와 같은 사용자 정의 재고 상태를 추가하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-02 22:32:29
원래의
1094명이 탐색했습니다.

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

WooCommerce 4의 제품에 사용자 정의 재고 상태를 추가하는 방법

문제

"선주문" 및 "연락처"와 같은 사용자 정의 재고 상태 ,"가 WooCommerce 4의 제품 옵션에서 누락되었습니다.

솔루션

functions.php 파일에 다음 코드를 추가하세요.

// 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;
}
로그인 후 복사

추가 참고 사항:

  • 이러한 변경 사항은 기존 재고 상태에 영향을 주지 않습니다.
  • 새로운 재고 상태는 제품 페이지에 표시됩니다. 단일 제품 페이지 및 관리 제품 목록 테이블.
  • 원하는 경우 $product 개체에 이미 액세스할 수 있는 후크에서 사용자 정의 재고 상태를 사용할 수 있습니다.

위 내용은 WooCommerce 제품에 '예약 주문' 및 '문의하기'와 같은 사용자 정의 재고 상태를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿