【发布时间】:2022-01-04 03:11:21
【问题描述】:
我有一个“产品”谷歌架构标记,其中包含“评论”的粘贴循环。 这是标记代码的一部分:
"review": [
<?php
$args = array(
'post_type' => 'my_reviews',
'category_name' => 'my-product',
'paged' => $paged);
$loop = new WP_Query($args);
if ($loop->have_posts()) :
while ($loop->have_posts()) : $loop->the_post(); ?>
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5"
},
"author": {
"@type": "Person",
"name": "<?php the_title(); ?>"
},
"reviewBody": "<?php echo get_the_content(); ?>"},
<?php
endwhile;
endif;
wp_reset_postdata();
?>],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5",
"bestRating": "5",
"ratingCount": "<?php echo count_cat_post('My Product'); ?>"
},
一切正常,除了在最后一个对象的} 之后,逗号仍然被困住。
结果是这样的:
"review": [{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5"
},
"author": {
"@type": "Person",
"name": "John Doe"
},
"reviewBody": "Review 1 Content"
},
{
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "1"
},
"author": {
"@type": "Person",
"name": "Jane Doe"
},
"reviewBody": "Review 2 Content."
}, <-- this is the comma I need to remove
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "88",
"bestRating": "100",
"ratingCount": "2"
},
我怎样才能删除它?
【问题讨论】:
-
如果你删除那个逗号,它会使 JSON 无效!
-
@Dula 感谢您的留言,但请您仔细看一下。我提到的逗号位于数组右方括号之前的数字括号之后。
-
啊..对不起!我没有仔细看。但是为什么要删除那个逗号,因为它不会影响任何东西?
-
你可以设置这样的条件
"reviewBody": "<?php echo get_the_content(); ?>"} <?php if ($loop->current_post + 1 != $loop->post_count) { echo ','; } ?> -
是的,@Claymore 解决方案就是我的意思,有更好的解决方案你应该在有机会的时候探索;)
标签: javascript php json