source

Wocommerce 사용자 정의 제품 텍스트

nicesource 2023. 9. 21. 20:34
반응형

Wocommerce 사용자 정의 제품 텍스트

저는 각 제품에 특화된 사용자 입력 텍스트가 포함된 woecommerce를 이용하여 가변적인 제품을 만들려고 합니다.이를 위해 'custom_text' 유형을 탐지하고 일반 선택 옵션 드롭다운 대신 텍스트 입력 필드를 표시합니다.

이것은 가변적입니다.php:

<form action="<?php echo esc_url( $product->add_to_cart_url() ); ?>" class="variations_form cart" method="post" enctype='multipart/form-data' data-product_id="<?php echo $post->ID; ?>">

    <?php 
    $loop = 0; foreach ( $attributes as $name => $options ) : $loop++; 

        <?php  if(is_array($options) && $options[0] == "custom_text") : //Name to be added to product ?> 
            <label for="<?php echo sanitize_title($name); ?>"><?php echo $woocommerce->attribute_label($name); ?></label></td>
            <input type="text" class="fullwidth req" id="<?php echo esc_attr( sanitize_title($name) ); ?>" name="attribute_<?php echo sanitize_title($name); ?>"/>
        <?php else : ?>
    ...

카트 페이지에 도착하면 입력 내용이 모두 소문자로 표시되고 공백이 제거(하이픈으로 변경)되는 을 제외하고는 작동 중입니다.

이 행동을 어디에 연결하거나 무시할 수 있는지 아는 사람?저는 모든 것을 시도해 보았지만 소용이 없었습니다.

감사해요.

궁금하신 분이 계시다면 제가 답을 찾았습니다.

            // Get value from post data
            // Don't use woocommerce_clean as it destroys sanitized characters
            $value = sanitize_title( trim( stripslashes( $_REQUEST[ $taxonomy ] ) ) );

이전은 wocommerce-functions.php의 339번 라인에 있습니다.다음으로 변경해야 합니다.

 $value = trim( stripslashes( $_REQUEST[ $taxonomy ] ) ) 

이제 이것은 이 파일을 제대로 덮어쓰는 문제일 뿐입니다.저는 우커머스 기능에서 원래의 기능을 복사했습니다.php를 내 테마의 기능에 추가했습니다. php.그런 다음 사용자 입력을 소독하지 않도록 변경했습니다.

이것이 제 테마의 기능에 추가한 것입니다.php:

add_action( 'init', 'override_add_to_cart_action' );
function override_add_to_cart_action( $url = false ) { // Original function is woocommerce_add_to_cart_action()
     // ... full function above and below
     $value = trim( stripslashes( $_REQUEST[ $taxonomy ] ) );
     // ...
}

이렇게 하면 필요할 때 플러그인을 업데이트할 수 있는 핵심 파일을 변경할 필요가 없습니다. :)

언급URL : https://stackoverflow.com/questions/20862740/woocommerce-custom-product-text

반응형