我应该对带有分页的特定帖子进行评论。我已经写了一个用于从外部API获取评论的函数(下面的函数是中介函数,但重点不在获取评论中)
function get_reviews($tag_id) {
$token = $_SESSION['_api_session_token'];
$limit = 3;
$offset = 0;
$strains_url = esc_url_raw(API_V2 . '/posts?limit=' . $limit . '&offset=' . $offset . '&relevancy=relevant&tagId=' . $tag_id);
$headers = array(
'headers' => array(
'Authorization' => strtr('Bearer $token', array(
'$token' => $token
))
)
);
$raw_response = wp_remote_get( $strains_url, $headers );
$raw_body = wp_remote_retrieve_body($raw_response);
$body = json_decode( $raw_body );
return $body;
}
然后我渲染模板中响应的评论:
<?php foreach(get_the_reviews() as $review) { ?>
<div class='review'>
<div class='avatar-wrapper'>
<div class='avatar'>
<img src='<?php echo $review->avatarUrl ?>'>
</div>
</div>
<div class='content'>
<div class='header content-item'>
<div class='user-name header-item'><?php echo $review->userName ?></div>
<div class='separator header-item'>•</div>
<div class='review-date header-item'><?php echo $review->datePosted->format('F d, Y'); ?></div>
</div>
<div class='rating content-item'>
<form action='''>
<?php for($i = 5; $i >0; $i--) { ?>
<input class='star star-<?php echo $i ?>-<?php echo $review->id ?>' id='star-<?php echo $i ?>-<?php echo $review->id ?>' type='radio' name='star' <?php echo round($review->rating) == $i ? 'checked' : '' ?>/>
<label class='star star-<?php echo $i ?>-<?php echo $review->id ?>' for='star-<?php echo $i ?>-<?php echo $review->id ?>'></label>
<?php } ?>
</form>
</div>
<div class='content-data content-item'><?php echo $review->review ?></div>
</div>
</div>
<?php } ?>
所以问题是:在这种情况下如何进行分页。我已经使用JS进行过尝试,但这导致了混乱且难以维护的代码。也许有一些功能,例如数据绑定,所以模板可以反映变量的变化?谢谢。