안녕하세요 댓글 부분에 궁금한 점이 있습니다,
댓글 커스텀 스킨을 만들어서 추가 입력 필드 (radio button) 을 아래의 방식으로 넣었습니다.
<input type="radio" name="comment_option_rating" value="5"<?php if($comment->option->rating=='3'):?> checked<?php endif?>>
<input type="radio" name="comment_option_rating" value="4"<?php if($comment->option->rating=='4'):?> checked<?php endif?>>
<input type="radio" name="comment_option_rating" value="3"<?php if($comment->option->rating=='5'):?> checked<?php endif?>>
etc...
그리고 출력하는 데에도 아무런 문제 없이 잘됩니다.
다만 위에 입력한 커스텀 필드를 KBoard 본문에도 출력을 하고 싶어서 혹시 방법이 있나 해서 물어봅니다.
현재 댓글에는 이렇게 출력하고 있습니다:
if($comment->option->rating=='3') echo '<img src="/wp-content/themes/haninvegas/assets/img/global/star-3.png" width="80px;">';
else if($comment->option->rating=='4') echo '<img src="/wp-content/themes/haninvegas/assets/img/global/star-4.png" width="80px;">';
else if($comment->option->rating=='5') echo '<img src="/wp-content/themes/haninvegas/assets/img/global/star-5.png" width="80px;">';
이런 식으로 본문에 (document.php) 출력하고자 하는데 방법이 있을까요?
감사합니다!
스킨의 document.php 파일에 아래 코드를 추가하시면,
댓글의 rating에 등록한 값들의 평균값을 가져올 수 있습니다.
<?php
global $wpdb;
$rating = $wpdb->get_var("SELECT AVG(`option`.`option_value`) FROM `{$wpdb->prefix}kboard_comments` AS `comments` LEFT JOIN `{$wpdb->prefix}kboard_comments_option` AS `option` ON `comments`.`uid`=`option`.`comment_uid` WHERE `comments`.`content_uid`='{$content->uid}' AND `option`.`option_key`='rating'");
echo $rating;
?>
위의 쿼리에서 AVG()는 평균값을 가져오는 MySQL 함수입니다.
SUM() 또는 COUNT() 등 함수를 사용할 수 있습니다.
추가로 content_uid 값과 option_key 에 따라서 가져오는 값이 달라집니다.
추가로, 조금 실수하신 듯하여 알려드립니다.
올려주신 코드에 오타가 있습니다 ㅎㅎ
<input type="radio" name="comment_option_rating" value="5"<?php if($comment->option->rating=='3'):?> checked<?php endif?>>
<input type="radio" name="comment_option_rating" value="4"<?php if($comment->option->rating=='4'):?> checked<?php endif?>>
<input type="radio" name="comment_option_rating" value="3"<?php if($comment->option->rating=='5'):?> checked<?php endif?>>
역시 잘되네요 정말 감사합니다 ^^ 오류도 찾아주시고... ㅎㅎㅎ
mySQL AVG() 라는 함수... 어떻게 아시고 제가 딱 필요한거 찾아주셨습니다! ㅎㅎ
다시 한번 항상 친절한 답변에 감사드립니다