programing

Woocommerce에서 프로그래밍된 등급으로 제품 리뷰 추가

newstyles 2023. 9. 11. 21:31

Woocommerce에서 프로그래밍된 등급으로 제품 리뷰 추가

제목에 다 적혀있어요.리뷰가 워드프레스의 네이티브 댓글 게시글 유형인 것으로 알고 있습니다.댓글을 추가할 코드를 포함시켰습니다.

문제는 제가 어떻게 댓글에 등급을 부여하고 어떻게 특정 제품과 연결시킬지 불분명하다는 것입니다.댓글_post_를 사용할 때아이디는 댓글(리뷰)을 올바른 게시물에 할당하지 않는 것 같습니다.

$time = current_time('mysql');

$data = array(
    'comment_post_ID' => 1,
    'comment_author' => 'admin',
    'comment_author_email' => 'admin@admin.com',
    'comment_author_url' => 'http://',
    'comment_content' => 'content here',
    'comment_type' => '',
    'comment_parent' => 0,
    'user_id' => 1,
    'comment_author_IP' => '127.0.0.1',
    'comment_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)',
    'comment_date' => $time,
    'comment_approved' => 1,
);

wp_insert_comment($data);

키로'comment_post_ID'당신의 코멘트가 표시되는 곳입니다. 그래서 원하는 제품 ID.

그런 다음 전용 워드프레스 기능을 사용하여 다음과 같은 등급을 추가할 수 있습니다.

update_comment_meta( $comment_id, 'rating', 3 ); // The rating is an integer from 1 to 5

그래서 당신의 코드는 (where)와 같습니다. $product_id 는 이 리뷰의 대상 제품 ID):

$comment_id = wp_insert_comment( array(
    'comment_post_ID'      => 37, // <=== The product ID where the review will show up
    'comment_author'       => 'LoicTheAztec',
    'comment_author_email' => 'loictheaztec@fantastic.com', // <== Important
    'comment_author_url'   => '',
    'comment_content'      => 'content here',
    'comment_type'         => '',
    'comment_parent'       => 0,
    'user_id'              => 5, // <== Important
    'comment_author_IP'    => '',
    'comment_agent'        => '',
    'comment_date'         => date('Y-m-d H:i:s'),
    'comment_approved'     => 1,
) );

// HERE inserting the rating (an integer from 1 to 5)
update_comment_meta( $comment_id, 'rating', 3 );

테스트를 거쳐 의도한 대로 작동합니다.

작성자 이메일사용자 ID는 기존의 것이어야 합니다.

enter image description here

질문에 특정 제품과 연결하는 방법이 포함되어 있기 때문에 허용된 답변이 완전하지 않습니다.또한 주석 유형을 검토채워야 합니다.리뷰가 제품에 연결되지 않은 경우 Yoast 스키마 등이 모든 변수를 채우지 않고 Google에서 스키마 마크업에 대한 Warning을 제공합니다.

승인된 답변에 이 내용을 추가합니다.

'comment_type'          => 'review'

또한 제품에 연결(귀하의$post_id, remark boole 값과 배열.

if($comment_id) update_comment_meta($comment_id, 'rating', 5);
if($comment_id) update_comment_meta($comment_id, 'verified', 1);
    
if($comment_id) update_post_meta($post_id, '_wc_average_rating', '5.00');
if($comment_id) update_post_meta($post_id, '_wc_review_count', '1');
if($comment_id) update_post_meta($post_id, '_wc_rating_count', array(1));

이제 구글은 이것을 우커머스 3과 2020년 현재의 매력으로 받아들입니다.@licthastec 당신이 원한다면 당신은 당신 자신을 편집할 수 있습니다.

언급URL : https://stackoverflow.com/questions/52122275/add-a-product-review-with-ratings-programmatically-in-woocommerce