/home/fdhrevqn/public_html/wp-content/themes/fox/inc/review.php
<?php
/**
* abstract: all about review
*/
/*
* Displays review section
* @since 4.0
* ------------------------------------------------------------------ */
if ( ! function_exists( 'fox_review' ) ) :
function fox_review() {
$review = get_post_meta( get_the_ID(), '_wi_review', true ); if ( ! $review || ! is_array( $review ) ) return;
$items = '';
ob_start();
foreach ( $review as $item ) : if ( ! isset( $item[ 'criterion' ] ) || ! isset( $item[ 'score' ] ) || ! $item[ 'criterion' ] || ! $item[ 'score' ] ) continue; ?>
<div class="review-item">
<div class="review-criterion"><?php echo $item[ 'criterion' ]; ?></div>
<div class="review-score"><?php echo $item[ 'score' ]; ?><span class="unit">/10</span></div>
</div>
<?php endforeach;
$items = trim ( ob_get_clean() );
if ( ! $items ) return;
?>
<?php
ob_start();
$average = get_post_meta( get_the_ID(), '_wi_review_average', true ); ?>
<?php if ( $average && is_numeric( $average ) ) : ?>
<div class="review-item overall">
<div class="review-criterion"><?php echo esc_html__( 'Overall', 'wi' ); ?></div>
<div class="review-score"><?php echo number_format((float)$average, 1, '.', ''); ?><span class="unit">/10</span></div>
</div>
<?php endif;
$items .= ob_get_clean();
?>
<?php
?>
<div id="review-wrapper">
<h2 id="review-heading"><?php echo esc_html__( 'Review', 'wi' ); ?></h2>
<div id="review">
<?php echo $items ; ?>
</div>
<?php if ( $review_text = get_post_meta( get_the_ID(), '_wi_review_text', true ) ) { ?>
<div class="review-text">
<div class="review-text-inner">
<?php echo do_shortcode( $review_text ); ?>
</div>
</div><!-- .review-text -->
<?php } ?>
<?php
$btn1 = get_post_meta( get_the_ID(), '_wi_review_btn1_url', true );
$btn1_text = trim( get_post_meta( get_the_ID(), '_wi_review_btn1_text', true ) ); if ( ! $btn1_text ) $btn1_text = 'Click Me';
$btn2 = get_post_meta( get_the_ID(), '_wi_review_btn2_url', true );
$btn2_text = trim( get_post_meta( get_the_ID(), '_wi_review_btn2_text', true ) ); if ( ! $btn2_text ) $btn2_text = 'Click Me';
if ( $btn1 || $btn2 ) {
?>
<div class="review-buttons">
<?php if ( $btn1 ) { ?>
<a href="<?php echo esc_url( $btn1 ); ?>" target="_blank" class="wi-btn fox-btn btn-fill btn-small btn-1"><?php echo $btn1_text; ?></a>
<?php } ?>
<?php if ( $btn2 ) { ?>
<a href="<?php echo esc_url( $btn2 ); ?>" target="_blank" class="wi-btn fox-btn btn-fill btn-small btn-2"><?php echo $btn2_text; ?></a>
<?php } ?>
</div><!-- .review-buttons -->
<?php } // if btn ?>
</div>
<?php
}
endif;
/*
* Returns post meta to display average review score
* @since 4.0
* ------------------------------------------------------------------ */
if ( ! function_exists( 'fox_get_review_score' ) ):
function fox_get_review_score() {
$average = get_post_meta( get_the_ID(), '_wi_review_average', true );
return number_format( ( float ) $average, 1, '.', '' );
}
endif;
/*
* Return just post meta
* @since 4.3
* ------------------------------------------------------------------ */
if ( ! function_exists( 'fox_get_review_score_number' ) ):
function fox_get_review_score_number() {
return get_post_meta( get_the_ID(), '_wi_review_average', true );
}
endif;
/*
* check for displaying review to display review
* before or after
* @since 4.5
* ------------------------------------------------------------------ */
add_action( 'fox_before_entry_content', 'check_fox_review_before', 60 );
function check_fox_review_before() {
$review_positions = get_theme_mod( 'wi_review_positions', 'before' );
if ( ! is_array( $review_positions ) ) {
$review_positions = explode( ',', $review_positions );
$review_positions = array_map( 'trim', $review_positions );
}
if ( ! in_array( 'before', $review_positions ) ) {
return;
}
fox_review();
}
add_action( 'fox_after_entry_content', 'check_fox_review_after', 5 );
function check_fox_review_after() {
$review_positions = get_theme_mod( 'wi_review_positions', 'before' );
if ( ! is_array( $review_positions ) ) {
$review_positions = explode( ',', $review_positions );
$review_positions = array_map( 'trim', $review_positions );
}
if ( ! in_array( 'after', $review_positions ) ) {
return;
}
fox_review();
}