사용자가 아닌 관리자에 의한 별점만 구현할 경우에는 별도 플러그인 없이 ACF 만으로 처리할 수 있습니다.
1) 별점 필드 만들기
ACF 필드를 이용해 별점 필드를 만듭니다. 단순히 포스트 메타에 별점을 저정하는 용도이기 떄문에 선택하기(dropdown), 라디오(radio) 모두 사용할 수 있습니다. 단 반환 형식은 값만 지정합니다.

3) 별점 보여주기
숫자만 보여줄 경우 ACF 숏코드나 다이나믹 블록을 사용하면 되지만, 이러면 밋밋하기 때 이미지로 보여주는 경우입니다.
① 별점 이미지 업로드
별점을 보여줄 때 사용할 적당한 이미지를 업로드합니다. 크기 제한을 받지 않기 위해서 SVG 형식을 권장합니다. 이미지 위치는
② 숏코드 만들기
아래의 PHP 스니펫을 이용해 별점 이미지를 보여주는 숏코드를 만듭니다. 여기서는 [post_admin_rating]을 사용하겠습니다.
<?php
// ACF 별점
add_shortcode('post_admin_rating', function(){
global $post;
$type_terms = get_terms(array(
'taxonomy' => 'doc-type',
'orderby' => 'menu_order',
'order' => 'ASC')
);
$rating = get_post_meta( $post->ID, 'post_admin_rating' . $taxonomy, true );
$rating = is_null($rating) || empty($rating)? 0 : $rating;
$width = ($rating * 20) . '%';
$rating_star = '';
$break = 0;
while(true){
if($break >= $rating){
break;
}
$rating_star .= sprintf('<span class="star"></span>');
$break++;
}
$output = sprintf('<div class="wps-star-rating" role="img" aria-label="Rated %1$s out of 5">%2$s</span></div>', $rating, $rating_star);
return $output;
});
Code language: HTML, XML (xml)
Leave a Comment