>  기사  >  백엔드 개발  >  WordPress 웹사이트에서 품절된 제품을 숨기는 방법

WordPress 웹사이트에서 품절된 제품을 숨기는 방법

PHPz
PHPz원래의
2024-08-06 04:13:321183검색

How to Hide Out-of-Stock Products on Your WordPress Website

WordPress에서 온라인 상점을 운영하는 경우 제품 페이지를 깔끔하고 깔끔하게 유지해야 합니다. 효과적인 전략 중 하나는 품절된 품목을 숨기는 것입니다. 이는 일반적인 쇼핑 경험을 향상시키고 고객 간의 혼란을 피하는 데 도움이 됩니다. 이 글에서는 functions.php 파일

에 추가된 사용자 정의 코드 조각을 사용하여 품절된 제품을 숨기는 간단한 방법을 안내해 드립니다.

코드

상품 페이지에 구매 가능한 상품만 표시하는 코드부터 살펴보겠습니다.

/**
 * Visit AliKarbasi.dev for more codes.
**/
function custom_pre_get_posts_query( $q ) {
    if ( ! is_admin() && $q->is_main_query() ) {
        if ( is_home() || is_front_page() ) {
            $meta_query = $q->get( 'meta_query' );
            $meta_query[] = array(
                'key'     => '_stock_status',
                'value'   => 'outofstock',
                'compare' => 'NOT IN',
            );
            $q->set( 'meta_query', $meta_query );
        }
    }
}
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

작동 방식

이 코드 조각은 WordPress가 데이터베이스에서 게시물을 가져오기 전에 pre_get_posts 작업 후크를 활용하여 기본 쿼리를 수정합니다. 작동 방식은 다음과 같습니다.

  1. 함수 선언: 쿼리 매개변수를 수정하기 위해 custom_pre_get_posts_query 함수가 선언되었습니다.
  2. 조건부 확인: 이 기능은 현재 요청이 WordPress 관리 영역(!is_admin())에서 온 것이 아닌지 확인하고 기본 쿼리($q->)인지 확인합니다. ;is_main_query()).
  3. 홈 및 전면 페이지 확인: 현재 페이지가 홈 페이지인지 전면 페이지(is_home() 또는 is_front_page())인지 추가로 확인합니다.
  4. 메타 쿼리 수정: 모든 조건이 충족되면 쿼리 개체에서 기존 meta_query를 검색하고 새 조건을 추가하여 메타 키 _stock_status가 있는 게시물을 제외합니다. 품절으로 설정됩니다.
  5. 수정된 메타 쿼리 설정: 수정된 meta_query는 쿼리 개체로 다시 설정되어 품절 제품을 결과에서 효과적으로 제외합니다.

코드 사용 방법

이 코드를 WordPress 사이트에 적용하려면 다음 단계를 따르세요.

테마의 function.php 파일에 액세스하세요:

  • WordPress 관리 대시보드에 로그인하세요.
  • 외관 >으로 이동합니다. 테마편집기.
  • 테마 파일 목록에서 functions.php를 찾아 클릭하세요.

코드 추가:

  • 제공된 코드 조각을 복사하세요.
  • function.php 파일 끝, 닫는 ?> 태그(있는 경우) 바로 앞에 붙여넣으세요.

변경사항 저장:

  • 변경 사항을 저장하려면 파일 업데이트 버튼을 클릭하세요.

결론

functions.php 파일에 이 간단한 코드 조각을 추가하면 품절된 항목을 제품 및 메인 페이지에서 쉽게 숨길 수 있습니다. 이렇게 하면 웹사이트를 깔끔하게 유지하고 고객이 구매 가능한 제품만 볼 수 있도록 보장할 수 있습니다.
즐거운 코딩하세요 :D

위 내용은 WordPress 웹사이트에서 품절된 제품을 숨기는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.