찾다

 >  Q&A  >  본문

보관/주기 페이지의 WooCommerce 제품 카운트다운

<p>메타 키 <code>_sale_price_to</code>를 사용하여 판매 종료 날짜를 표시하는 카운트다운을 만들었습니다.请参阅下side代码:</p> <pre class="brush:php;toolbar:false;">add_shortcode( 'woocommerce_timer_two', 'sales_timer_countdown_product_two', 20 ); 함수 sales_timer_countdown_product_two($atts) { 추출( shortcode_atts( 배열( 'ID' => get_the_ID(), ), $atts, 'woocommerce_timer_two' ) ); 글로벌 $제품; // 제품 개체가 정의되지 않은 경우 제품 ID에서 가져옵니다. if ( ! is_a($product, 'WC_Product') && get_post_type($id) === 'product' ) { $제품 = wc_get_product($id); } if ( is_a($product, 'WC_Product') ) { $sale_date = get_post_meta( $product->get_id(), '_sale_price_dates_to', true ); if ( ! 비어 있음( $sale_date ) ) { ?> <스크립트> jQuery(함수($){ "엄격하게 사용하세요";; $('.countdown-counter').each( function() { var to = $(this).attr("countdown"); var thisis = $(this); var parent = $(this).parent(); var countDownDate = <?php echo $sale_date; ?> * 1000; // 1초마다 카운트다운을 업데이트합니다. var x = setInterval(함수() { // 오늘 날짜와 시간을 가져옵니다. var now = new Date().getTime(); // 현재와 카운트다운 날짜 사이의 거리를 구합니다. var distance = countDownDate - 지금; // 일, 시, 분, 초에 대한 시간 계산 var days = Math.floor(거리 / (1000 * 60 * 60 * 24)); var hour = Math.floor((거리 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var 분 = Math.floor((거리 % (1000 * 60 * 60)) / (1000 * 60)); var 초 = Math.floor((거리 % (1000 * 60)) / 1000); // id="sale-end"인 요소에 결과를 출력합니다. var html = 일 + 시간 + " : " + 분 + " : " + 초; thisis.html(html); // 카운트다운이 끝나면 텍스트를 작성합니다. if (거리 < 0) { 클리어간격(x); parent.css("표시", "없음"); } }, 1000); thisis.removeAttr("카운트다운"); }); }); </스크립트> <!-- 카운트다운이 표시되는 곳입니다 --> <div class="제품 카운트다운"> <span class="countdown-counter" 카운트다운=''. $html .'"></span> </div>;
  • 링크 1
  • 링크 2
  • P粉237647645P粉237647645442일 전393

    모든 응답(1)나는 대답할 것이다

  • P粉449281068

    P粉4492810682023-09-01 16:58:52

    이 코드가 제품 단일 페이지에서 실행되는 경우 WooCommerce 후크를 사용하여 아카이브/루프 페이지에 작업 후크를 추가할 수 있습니다.

    예:-

    으아악

    수정됨

    이 클래스를 추가된 제품 ID로 대체할 수 있습니다.

    으아악

    html 부분도 교체하세요.

    으아악

    회신하다
    0
  • 취소회신하다