相关疑难解决方法(0)

如何在WooCommerce评论表单上添加“评论标题”字段?

我想将自定义字段添加到WooCommerce上的评论表单中,如下图所示: 在此处输入图片说明

然后像这样获取标题的输出: 在此处输入图片说明

我只知道如何通过添加以下代码在single-product-reviews.php文件上创建一个新字段:

$comment_form['comment_field'] .= '<p class="comment-form-title"><label for="title">' . esc_html__( 'Review title', 'woocommerce' ) . '&nbsp;<span class="required">*</span></label><input id="title" name="title" type="text" aria-required="true" required></input></p>';
Run Code Online (Sandbox Code Playgroud)

但是,如何将其保存在数据库中以及如何在注释内容上方输出此标题?

编辑: 我尝试了许多方法,直到通过在我的子主题上的functions.php上编写此代码来达到我想要的目的。

1)在评论评论表单上添加自定义字段“评论标题”:

function add_review_title_field_on_comment_form() {
    echo '<p class="comment-form-title uk-margin-top"><label for="title">' . __( 'Review title', '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' );
Run Code Online (Sandbox Code Playgroud)

2)将该字段值保存在数据库的wp_commentmeta表上:

add_action( 'comment_post', 'instacraftcbd_review_title_save_comment' );
function instacraftcbd_review_title_save_comment( $comment_id ){
    if( isset( $_POST['title'] ) )
      update_comment_meta( $comment_id, 'title', esc_attr( $_POST['title'] …
Run Code Online (Sandbox Code Playgroud)

php wordpress woocommerce

3
推荐指数
1
解决办法
1557
查看次数

标签 统计

php ×1

woocommerce ×1

wordpress ×1