Сделайте поле заголовка отзыва обязательным - Woocommerce - PullRequest
0 голосов
/ 04 января 2019

Вот код, который я использую для добавления заголовка в форму обзора woocommerce:

function add_review_title_field_on_comment_form() {
    echo '<p class="comment-form-title uk-margin-top"><label for="title">' . __( 'Review Headline', 'text-domain' ) . '</label><input class="uk-input uk-width-large uk-display-block" type="text" name="title" id="title"/></p>';
}
add_action( 'comment_form_logged_in_after', 'add_review_title_field_on_comment_form' );
add_action( 'comment_form_after_fields', 'add_review_title_field_on_comment_form' );

add_action( 'comment_post', 'save_comment_review_title_field' );
function save_comment_review_title_field( $comment_id ){
    if( isset( $_POST['title'] ) )
      update_comment_meta( $comment_id, 'title', esc_attr( $_POST['title'] ) );
}

function get_review_title( $id ) {
    $val = get_comment_meta( $id, "title", true );
    $title = $val ? '<strong class="review-title" style="font-size:16px;">' . $val . '</strong>' : '';
    return $title;
}

Благодаря этому коду я могу добавить заголовок, поданный для формы обзора, но это не обязательно, проверьте

enter image description here

Может кто-нибудь посоветовать мне, как сделать это поле обязательным, проверьте скриншот, я знаю, что нужно сделать, чтобы любое поле было обязательным, но оно идет какфункции для functions.php вот в чем проблема.

1 Ответ

0 голосов
/ 04 января 2019

Html5 имеет проверку по умолчанию required, поэтому добавьте, проверьте нижеприведенный код для этого.

 function add_review_title_field_on_comment_form() {
    echo '<p class="comment-form-title uk-margin-top"><label for="title">' . __( 'Review Headline', 'text-domain' ) . '</label><input class="uk-input uk-width-large uk-display-block" type="text" name="title" id="title" required/></p>';

 }

И для серверной части добавьте код в свою функцию, для этой проверки ниже код.

function save_comment_review_title_field( $comment_id ){
    if( isset( $_POST['title'] ) && ! empty($_POST[ 'title' ]))
          update_comment_meta( $comment_id, 'title', esc_attr( $_POST['title'] ) );
      else
         wp_die( __('Please enter a valid title, its required.') );
 }

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...