这是我用来在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;
}
由于此代码,我可以添加用于审核表单的标题,但这不是必需的,请检查
谁能建议我该如何设置此字段为必填项,请查看屏幕截图,我知道该怎么做才能设置任何必填字段,但这是功能函数php中出现的问题。
谢谢
答案 0 :(得分:1)
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.') );
}
希望这会对您有所帮助。