66 lines
2.6 KiB
PHP
66 lines
2.6 KiB
PHP
<?php
|
|
// Copyright 2026 Umbra Tools (umbratools.com)
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
/**
|
|
* Template Name: Reviews
|
|
*/
|
|
|
|
get_header();
|
|
?>
|
|
|
|
<div class="reviews-container">
|
|
<header class="page-header">
|
|
<h1 class="page-title"><?php esc_html_e('Reviews', 'bd-murphy'); ?></h1>
|
|
</header>
|
|
|
|
<div class="reviews-grid">
|
|
<?php
|
|
if (have_posts()) :
|
|
while (have_posts()) :
|
|
the_post();
|
|
$book_id = get_the_ID();
|
|
$cover_url = BD_BookShelfHelper::get_cover_url($book_id, 'rev-thumb');
|
|
$title = get_the_title();
|
|
$reviews = BD_BookShelfHelper::get_reviews($book_id);
|
|
$review_count = count($reviews);
|
|
?>
|
|
<article class="review-card">
|
|
<div class="review-card-cover">
|
|
<a href="<?php the_permalink(); ?>">
|
|
<img src="<?php echo esc_url($cover_url); ?>" alt="<?php echo esc_attr($title); ?>">
|
|
</a>
|
|
</div>
|
|
<div class="review-card-info">
|
|
<h2 class="review-card-title">
|
|
<a href="<?php the_permalink(); ?>"><?php echo esc_html($title); ?></a>
|
|
</h2>
|
|
<p class="review-count"><?php printf(esc_html(_n('%d review', '%d reviews', $review_count, 'bd-murphy')), $review_count); ?></p>
|
|
|
|
<?php if ($reviews) : ?>
|
|
<?php $display_reviews = array_slice($reviews, 0, 3); ?>
|
|
<?php foreach ($display_reviews as $review) : ?>
|
|
<div class="review-entry">
|
|
<span class="review-source"><?php echo esc_html(strtoupper($review->source_name)); ?></span>
|
|
<p class="review-synopsis"><?php echo esc_html($review->synopsis); ?></p>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<?php endif; ?>
|
|
|
|
<a href="<?php the_permalink(); ?>" class="view-all-reviews">
|
|
<?php esc_html_e('View all reviews', 'bd-murphy'); ?>
|
|
</a>
|
|
</div>
|
|
</article>
|
|
<?php
|
|
endwhile;
|
|
else :
|
|
?>
|
|
<p class="no-reviews"><?php esc_html_e('No reviews available yet.', 'bd-murphy'); ?></p>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
get_footer();
|