@ftomovden

Как убрать чекбокс из файла terms.php в woocommerce?

Добрый день. Помогите разобраться с вопросом. Есть файл terms.php , который находится в директории wp-content\plugins\woocommerce\templates\checkout

В нем код, который нужно изменить. Почему то сам чекбокс не хочет работать по непонятной причине (не реагирует на нажатия). Исходя из проблемы сам чекбокс требуется удалить таким образом, что бы без его наличия скрипт пропускал дальше к оформлению заказа. Оставить только текст. В данный момент я удаляю сам чекбокс, и скрипт не пускает (пишет, что требуется выразить свое согласие).

Сам скрипт:

<?php 
/** 
 * Checkout terms and conditions checkbox 
 * 
 * @author         WooThemes 
 * @package     WooCommerce/Templates 
 * @version     2.5.0 
 */ 
if ( ! defined( 'ABSPATH' ) ) { 
  exit; 
} 
 
if ( wc_get_page_id( 'terms' ) > 0 && apply_filters( 'woocommerce_checkout_show_terms', true ) ) : ?> 
  <?php do_action( 'woocommerce_checkout_before_terms_and_conditions' ); ?> 
  <p class="form-row terms wc-terms-and-conditions"> 
      <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox"> 
          <input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="terms" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default', isset( $_POST['terms'] ) ), true ); ?> id="terms" /> <span><?php printf( __( 'I’ve read and accept the <a href="%s" target="_blank">terms & conditions</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'terms' ) ) ); ?></span> <span class="required">*</span> 
      </label> 
      <input type="hidden" name="terms-field" value="1" /> 
  </p> 
  <?php do_action( 'woocommerce_checkout_after_terms_and_conditions' ); ?> 
<?php endif; ?>
  • Вопрос задан
  • 1482 просмотра
Пригласить эксперта
Ответы на вопрос 2
MikeKosulin
@MikeKosulin
В functions.php или лучше плагин Code Snippets:
function set_checked_wc_terms( $terms_is_checked ) {   
  return true;   
}   
add_filter( 'woocommerce_terms_is_checked_default', 'set_checked_wc_terms', 10 );

В стили:
.terms > label.checkbox{
  display:none;
}
Ответ написан
Комментировать
@OneTwoThreeFourFive
<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox"> 
          <input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="terms" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default', isset( $_POST['terms'] ) ), true ); ?> id="terms" CHECKED/> <span><?php printf( __( 'I’ve read and accept the <a href="%s" target="_blank">terms & conditions</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'terms' ) ) ); ?></span> <span class="required">*</span> 
      </label>

Допишите в конце input "checked". Чекбокс будет автоматически отмеченным при загрузке страницы. Если он не нужен, тогда примените к нему display: none это скроет его, но он будет отмечен и система пустит дальше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы