WooCommerce 4의 WooCommerce 제품에 대한 사용자 정의 재고 상태
WooCommerce 4의 제품에 사용자 정의 재고 상태를 추가하는 과정은 비교적 간단합니다. 그러나 상태가 프런트엔드와 백엔드에 올바르게 표시되도록 하려면 특정 기능을 수정해야 합니다.
사용자 정의 재고 상태 추가
사용자 정의 재고 상태를 추가하려면 다음을 추가하세요. 다음 코드를 function.php 파일에 추가하세요.
<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>
이 코드는 "사전 주문" 및 "문의하기"라는 두 가지 새로운 상태를 추가합니다.
사용자 정의 재고 가용성 표시
사용자 정의 상태가 프런트엔드에 올바르게 표시되도록 하려면 다음 변경 사항을 적용하세요.
<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>
관리 제품 목록에 재고 상태 표시
관리 제품 목록 테이블에 사용자 정의 재고 상태를 표시하려면 다음 기능을 수정하십시오.
<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>
선택 사항: 후크에서 사용자 정의 재고 상태 사용
다음을 수행할 수 있습니다. $product 개체에 액세스할 수 있거나 전역 $product를 사용할 수 있는 경우 후크에서 사용자 정의 재고 상태를 사용합니다.
참고:
위 내용은 WooCommerce 4의 WooCommerce 제품에 사용자 정의 재고 상태를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!