longnguyenwp

qna-tab.php

Feb 16th, 2021
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.43 KB | None | 0 0
  1. <?php
  2. if ( ! defined( 'ABSPATH' ) ) {
  3.     exit;
  4. }
  5. global $product;
  6. //check for old WooCommerce versions
  7. if( method_exists( $product, 'get_id' ) ) {
  8.     $cr_product_id  = $product->get_id();
  9. } else {
  10.     $cr_product_id  = $product->id;
  11. }
  12. $nonce = wp_create_nonce( "cr_qna_" . $cr_product_id );
  13. $nonce_ans = wp_create_nonce( "cr_qna_a_" . $cr_product_id );
  14. ?>
  15. <div id="cr_qna" class="cr-qna-block">
  16.     <h2><?php _e( 'Q & A', 'customer-reviews-woocommerce' ); ?></h2>
  17.     <div class="cr-qna-search-block">
  18.         <button type="button" class="cr-qna-ask-button"><?php _e( 'Ask a question', 'customer-reviews-woocommerce' ); ?></button>
  19.     </div>
  20.     <div class="cr-qna-list-block">
  21.         <?php
  22.         if( isset( $qna ) && is_array( $qna ) && 0 < count( $qna ) ) :
  23.             foreach ($qna as $q) {
  24.                 ?>
  25.                 <div class="cr-qna-list-q-cont">
  26.                     <div class="cr-qna-list-q-q">
  27.                         <div class="cr-qna-list-q-q-l">
  28.                             <img class="cr-qna-list-q-icon" src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/question.svg'; ?>" alt="Question" />
  29.                         </div>
  30.                         <div class="cr-qna-list-q-q-r">
  31.                             <span class="cr-qna-list-question"><?php echo esc_html( $q['question'] ); ?></span>
  32.                             <span class="cr-qna-list-q-author"><?php echo sprintf( __( '%s asked on %s', 'customer-reviews-woocommerce' ), '<span class="cr-qna-list-q-author-b">' . esc_html( $q['author'] ) . '</span>', date_i18n( $date_format, strtotime( $q['date'] ) ) ); ?></span>
  33.                         </div>
  34.                     </div>
  35.                     <?php
  36.                     if( isset( $q['answers'] ) && is_array( $q['answers'] ) && 0 < count( $q['answers'] ) ) :
  37.                     ?>
  38.                     <div class="cr-qna-list-q-a">
  39.                         <div class="cr-qna-list-q-a-l">
  40.                             <img class="cr-qna-list-q-icon" src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/answer.svg'; ?>" alt="Question" />
  41.                         </div>
  42.                         <div class="cr-qna-list-q-a-r">
  43.                             <?php
  44.                             $cr_i = 0;
  45.                             $cr_len = count( $q['answers'] );
  46.                             foreach ($q['answers'] as $a) {
  47.                                 if( $cr_i === $cr_len-1 ) {
  48.                                     $cr_class_qna_list_answer = 'cr-qna-list-answer cr-qna-list-last';
  49.                                 } else {
  50.                                     $cr_class_qna_list_answer = 'cr-qna-list-answer';
  51.                                 }
  52.                                 ?>
  53.                                 <div class="<?php echo $cr_class_qna_list_answer; ?>">
  54.                                     <span class="cr-qna-list-answer-s"><?php echo esc_html( $a['answer'] ); ?></span>
  55.                                     <span class="cr-qna-list-q-author"><?php echo sprintf( __( '%s answered on %s', 'customer-reviews-woocommerce' ), '<span class="cr-qna-list-q-author-b">' . esc_html( $a['author'] ) . '</span>', date_i18n( $date_format, strtotime( $a['date'] ) ) ); ?></span>
  56.                                 </div>
  57.                                 <?php
  58.                                 $cr_i++;
  59.                             }
  60.                             ?>
  61.                         </div>
  62.                     </div>
  63.                     <?php
  64.                     endif;
  65.                     ?>
  66.                     <div class="cr-qna-list-q-b">
  67.                         <div class="cr-qna-list-q-b-l"></div>
  68.                         <div class="cr-qna-list-q-b-r">
  69.                             <button type="button" data-question="<?php echo $q['id']; ?>" class="cr-qna-ans-button"><?php _e( 'Answer the question', 'customer-reviews-woocommerce' ); ?></button>
  70.                             <div class="cr-qna-q-voting cr-qna-q-voting-<?php echo $q['id']; ?>" data-vquestion="<?php echo $q['id']; ?>">
  71.                                 <img src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/upvote.svg'; ?>" alt="Upvote" title="<?php _e( 'Upvote the question', 'customer-reviews-woocommerce' ); ?>" data-upvote="1" />
  72.                                 <span class="cr-qna-q-voting-upvote">(<?php
  73.                                     if( isset( $q['votes'] ) && isset( $q['votes']['upvotes'] ) ) {
  74.                                         echo intval( $q['votes']['upvotes'] );
  75.                                     } else {
  76.                                         echo '0';
  77.                                     } ?>)</span>
  78.                                 <img src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/downvote.svg'; ?>" alt="Downvote" title="<?php _e( 'Downvote the question', 'customer-reviews-woocommerce' ); ?>" data-upvote="0"  />
  79.                                 <span class="cr-qna-q-voting-downvote">(<?php
  80.                                     if( isset( $q['votes'] ) && isset( $q['votes']['downvotes'] ) ) {
  81.                                         echo intval( $q['votes']['downvotes'] );
  82.                                     } else {
  83.                                         echo '0';
  84.                                     } ?>)</span>
  85.                             </div>
  86.                             <div class="cr-qna-q-voting-spinner cr-qna-q-voting-spinner-<?php echo $q['id']; ?>">
  87.                                 <img src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/spinner-dots-2.svg'; ?>" alt="Loading" />
  88.                             </div>
  89.                         </div>
  90.                     </div>
  91.                 </div>
  92.                 <?php
  93.             }
  94.         else:
  95.         ?>
  96.         <div class="cr-qna-list-empty"><?php _e( 'There are no questions yet', 'customer-reviews-woocommerce' ); ?></div>
  97.         <?php
  98.         endif;
  99.         ?>
  100.     </div>
  101.     <div class="cr-qna-new-q-overlay">
  102.         <div class="cr-qna-new-q-form">
  103.             <button class="cr-qna-new-q-form-close"><span class="dashicons dashicons-no"></span></button>
  104.             <div class="cr-qna-new-q-form-input">
  105.                 <p class="cr-qna-new-q-form-title"><?php _e( 'Ask a question', 'customer-reviews-woocommerce' ); ?></p>
  106.                 <p class="cr-qna-new-q-form-text"><?php _e( 'Your question will be answered by a store representative or other customers.', 'customer-reviews-woocommerce' ); ?></p>
  107.                 <textarea name="question" class="cr-qna-new-q-form-q" rows="3" placeholder="<?php _e( 'Start your question with \'What\', \'How\', \'Why\', etc.', 'customer-reviews-woocommerce' ); ?>"></textarea>
  108.                 <input type="text" name="name" class="cr-qna-new-q-form-name" placeholder="<?php _e( 'Your name', 'customer-reviews-woocommerce' ); ?>"></input>
  109.                 <input type="email" name="email" class="cr-qna-new-q-form-email" placeholder="<?php _e( 'Your email', 'customer-reviews-woocommerce' ); ?>"></input>
  110.                 <div class="cr-qna-new-q-form-s">
  111.                     <?php
  112.                     if( 0 < strlen( $cr_recaptcha ) ) {
  113.                         echo '<p>' . sprintf( __( 'This site is protected by reCAPTCHA and the Google %1$sPrivacy Policy%2$s and %3$sTerms of Service%4$s apply.', 'customer-reviews-woocommerce' ), '<a href="https://policies.google.com/privacy" rel="noopener noreferrer nofollow" target="_blank">', '</a>', '<a href="https://policies.google.com/terms" rel="noopener noreferrer nofollow" target="_blank">', '</a>' ) . '</p>';
  114.                     }
  115.                     ?>
  116.                     <button type="button" data-nonce="<?php echo $nonce; ?>" data-product="<?php echo $cr_product_id; ?>" data-crcptcha="<?php echo $cr_recaptcha; ?>" class="cr-qna-new-q-form-s-b"><?php _e( 'Submit', 'customer-reviews-woocommerce' ); ?></button>
  117.                     <button type="button" class="cr-qna-new-q-form-s-b cr-qna-new-q-form-s-p"><img src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/spinner-dots.svg'; ?>" alt="Loading" /></button>
  118.                 </div>
  119.             </div>
  120.             <div class="cr-qna-new-q-form-ok">
  121.                 <p class="cr-qna-new-q-form-title"><?php _e( 'Thank you for the question!', 'customer-reviews-woocommerce' ); ?></p>
  122.                 <img class="cr-qna-new-q-form-mail" src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/mail.svg'; ?>" alt="Mail" />
  123.                 <p class="cr-qna-new-q-form-text"><?php _e( 'Your question has been received and will be answered soon. Please do not submit the same question again.', 'customer-reviews-woocommerce' ); ?></p>
  124.                 <div class="cr-qna-new-q-form-s">
  125.                     <button type="button" class="cr-qna-new-q-form-s-b"><?php _e( 'OK', 'customer-reviews-woocommerce' ); ?></button>
  126.                 </div>
  127.             </div>
  128.             <div class="cr-qna-new-q-form-error">
  129.                 <p class="cr-qna-new-q-form-title"><?php _e( 'Error', 'customer-reviews-woocommerce' ); ?></p>
  130.                 <img class="cr-qna-new-q-form-mail" src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/warning.svg'; ?>" alt="Warning" height="32px" />
  131.                 <p class="cr-qna-new-q-form-text"><?php _e( 'An error occurred when saving your question. Please report it to the website administrator. Additional information:', 'customer-reviews-woocommerce' ); ?></p>
  132.             </div>
  133.         </div>
  134.         <div class="cr-qna-new-q-form cr-qna-new-a-form">
  135.             <button class="cr-qna-new-q-form-close"><span class="dashicons dashicons-no"></span></button>
  136.             <div class="cr-qna-new-q-form-input">
  137.                 <p class="cr-qna-new-q-form-title"><?php _e( 'Add an answer', 'customer-reviews-woocommerce' ); ?></p>
  138.                 <p class="cr-qna-new-q-form-text"></p>
  139.                 <textarea name="question" class="cr-qna-new-q-form-q" rows="3" placeholder="<?php _e( 'Write your answer', 'customer-reviews-woocommerce' ); ?>"></textarea>
  140.                 <input type="text" name="name" class="cr-qna-new-q-form-name" placeholder="<?php _e( 'Your name', 'customer-reviews-woocommerce' ); ?>"></input>
  141.                 <input type="email" name="email" class="cr-qna-new-q-form-email" placeholder="<?php _e( 'Your email', 'customer-reviews-woocommerce' ); ?>"></input>
  142.                 <div class="cr-qna-new-q-form-s">
  143.                     <?php
  144.                     if( 0 < strlen( $cr_recaptcha ) ) {
  145.                         echo '<p>' . sprintf( __( 'This site is protected by reCAPTCHA and the Google %1$sPrivacy Policy%2$s and %3$sTerms of Service%4$s apply.', 'customer-reviews-woocommerce' ), '<a href="https://policies.google.com/privacy" rel="noopener noreferrer nofollow" target="_blank">', '</a>', '<a href="https://policies.google.com/terms" rel="noopener noreferrer nofollow" target="_blank">', '</a>' ) . '</p>';
  146.                     }
  147.                     ?>
  148.                     <button type="button" data-nonce="<?php echo $nonce_ans; ?>" data-product="<?php echo $cr_product_id; ?>" data-crcptcha="<?php echo $cr_recaptcha; ?>" class="cr-qna-new-q-form-s-b"><?php _e( 'Submit', 'customer-reviews-woocommerce' ); ?></button>
  149.                     <button type="button" class="cr-qna-new-q-form-s-b cr-qna-new-q-form-s-p"><img src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/spinner-dots.svg'; ?>" alt="Loading" /></button>
  150.                 </div>
  151.             </div>
  152.             <div class="cr-qna-new-q-form-ok">
  153.                 <p class="cr-qna-new-q-form-title"><?php _e( 'Thank you for the answer!', 'customer-reviews-woocommerce' ); ?></p>
  154.                 <img class="cr-qna-new-q-form-mail" src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/mail.svg'; ?>" alt="Mail" />
  155.                 <p class="cr-qna-new-q-form-text"><?php _e( 'Your answer has been received and will be published soon. Please do not submit the same answer again.', 'customer-reviews-woocommerce' ); ?></p>
  156.                 <div class="cr-qna-new-q-form-s">
  157.                     <button type="button" class="cr-qna-new-q-form-s-b"><?php _e( 'OK', 'customer-reviews-woocommerce' ); ?></button>
  158.                 </div>
  159.             </div>
  160.             <div class="cr-qna-new-q-form-error">
  161.                 <p class="cr-qna-new-q-form-title"><?php _e( 'Error', 'customer-reviews-woocommerce' ); ?></p>
  162.                 <img class="cr-qna-new-q-form-mail" src="<?php echo get_stylesheet_directory_uri() . '/' . 'img/warning.svg'; ?>" alt="Warning" height="32px" />
  163.                 <p class="cr-qna-new-q-form-text"><?php _e( 'An error occurred when saving your question. Please report it to the website administrator. Additional information:', 'customer-reviews-woocommerce' ); ?></p>
  164.             </div>
  165.         </div>
  166.     </div>
  167. </div>
  168.  
Advertisement
Add Comment
Please, Sign In to add comment