programing

WooCommerce에 상품 설명을 위한 숏코드가 있나요?

instargram 2023. 9. 19. 20:47
반응형

WooCommerce에 상품 설명을 위한 숏코드가 있나요?

상품설명(제목 아래 텍스트란)을 부를 수 있는 숏코드가 있습니까?

지금은 다른 커스텀 필드를 이용해서 이 일을 하고 있는데 우커머스 필드를 이용하면 더 좋을 것 같습니다.

다음과 같은 방식으로 자신만의 쇼트코드를 만들 수 있습니다.

add_shortcode( 'product_description', 'display_product_description' );
function display_product_description( $atts ){
    $atts = shortcode_atts( array(
        'id' => get_the_id(),
    ), $atts, 'product_description' );

    global $product;

    if ( ! is_a( $product, 'WC_Product') )
        $product = wc_get_product($atts['id']);

    return $product->get_description();
}

코드가 작동합니다.활성 하위 테마(활성 테마)의 php 파일입니다.테스트를 거쳐 작동합니다.

사용 예시 [product_description]

1) 현재 제품 페이지에서 ph:

echo do_shortcode( "[product_description]" );

2) 관련 제품 ID를 제공하는 모든 php 코드에서

echo do_shortcode( "[product_description id='37']" );

저는 위의 @LoicTheAztec의 답변과 매우 유사한 솔루션을 작성했지만, 조금 더 방어적으로 작성했습니다(그의 솔루션이 Element를 깨거나 저장 시 숏코드를 실행할 때 제품 컨텍스트가 없어서 저를 위해 편집했습니다).

또한 컨텐츠가 포맷될 때 문단/줄 문제를 해결합니다(기본적으로 줄 바꿈).<p>tags)를 입력한 후 반환합니다.

function custom_product_description($atts){
    global $product;

    try {
        if( is_a($product, 'WC_Product') ) {
            return wc_format_content( $product->get_description("shortcode") );
        }

        return "Product description shortcode run outside of product context";
    } catch (Exception $e) {
        return "Product description shortcode encountered an exception";
    }
}
add_shortcode( 'custom_product_description', 'custom_product_description' );

언급URL : https://stackoverflow.com/questions/53288621/is-there-a-shortcode-for-product-description-in-woocommerce

반응형