WooCommerce 리뷰 양식에 "리뷰 제목" 필드를 추가하는 방법은?
WooCommerce의 리뷰 양식에 이 이미지와 같이 사용자 지정 필드를 추가합니다.
그런 다음 제목의 출력을 얻는 방법은 다음과 같습니다.
저는 단품 리뷰에 새로운 분야를 만드는 방법을 알고 있을 뿐입니다.해당 코드를 추가하여 php 파일:
$comment_form['comment_field'] .= '<p class="comment-form-title"><label for="title">' . esc_html__( 'Review title', 'woocommerce' ) . ' <span class="required">*</span></label><input id="title" name="title" type="text" aria-required="true" required></input></p>';
그런데 이 내용을 데이터베이스에 저장하고 위의 댓글 내용을 출력하려면 어떻게 해야 합니까?
편집: 함수들에 이 코드를 써서 내가 원하는 것들을 성취할 때까지 많은 방법들을 시도했습니다.나의 아이 테마에 pph.
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' );
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'] ) );
}
3) 다음을 사용하여 해당 필드 출력 값을 검색합니다.
var $title = get_comment_meta( $comment->comment_ID, "title", true );
echo $title;
이제 유일하게 누락된 것은 댓글 텍스트 또는 리뷰 텍스트 바로 앞에 해당 필드의 출력을 어떻게 배치할 수 있습니까?
제가 해결책을 찾기엔 너무 좋은 것 같아요. 제가 찾고 있는 것에 대한 제 대답입니다. 아마 도움이 될 수 있을 겁니다!
1) 당신의 기능으로 가세요.부모 또는 자녀 테마에 php를 붙인 후 아래 코드를 붙여넣어 리뷰 코멘트 양식에 사용자 정의 필드 "리뷰 제목"을 추가합니다.
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' );
2) 마지막 코드 바로 위에 이 코드를 추가하여 해당 필드 값을 데이터베이스의 wp_commentmeta 테이블에 저장합니다.
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'] ) );
}
3) 해당 필드 출력 값을 검색하려면 아래 코드를 사용합니다.
var $title = get_comment_meta( $comment->comment_ID, "title", true );
echo $title;
참고: 댓글 루프에서만 작동합니다!
4) 각 주석 텍스트 앞에 해당 필드 출력을 추가하려면 함수에 대한 새 함수를 만들어야 합니다.php는 다음과 같습니다.
function get_review_title( $id ) {
$val = get_comment_meta( $id, "title", true );
$title = $val ? '<strong class="review-title">' . $val . '</strong>' : '';
return $title;
}
그런 다음 아래 코드를 WooCommerce 템플릿 파일 리뷰에 추가해야 합니다.php 또는 woocmerce_review_before_comment_meta hook을 사용할 수 있지만, 제 경우에는 그 코드를 작성했습니다.echo get_review_title( $comment->comment_ID );
바로 직후에
do_action( 'woocommerce_review_before_comment_meta', $comment );
도움이 되길 바래요!
언급URL : https://stackoverflow.com/questions/50633080/how-to-add-a-review-title-field-on-woocommerce-reviews-form
'programing' 카테고리의 다른 글
| Bundle Name, Executable Name, Product Name...anything else? (0) | 2023.09.15 |
|---|---|
| json data에 대한 압축을 푸는 트리거를 만들려면 어떻게 해야 합니까? (0) | 2023.09.15 |
| 자산 카탈로그 색상 집합을 어떻게 사용할 수 있습니까? (0) | 2023.09.10 |
| mariadb가 컨테이너 외부에 있을 수 없습니다. (0) | 2023.09.10 |
| XPath로 CSS 클래스별로 요소를 찾으려면 어떻게 해야 합니까? (0) | 2023.09.10 |