wordpress — Как автоматически сгенерировать фрагмент кода Google Schema.org из цикла php

Я пытаюсь изменить цикл кода PHP в отзыве.
Я хочу, чтобы цикл отображал расширенный фрагмент «Review» из библиотеки Schema.org.

<div class="testimonials">
<?php $loop = new WP_Query( array ('post_type' => 'testimonials', 'order' => 'DESC', 'orderby' => 'date', 'showposts' => '99' )); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<div class="testimonial">
<?php if (has_post_thumbnail(get_the_ID())) { ?>
<div class="col-md-3 col-sm-4">
<img src="<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'testimonials_main' ); $url = $thumb['0']; echo $url; ?>" alt="<?php echo the_title(); ?>" />
</div>
<?php } ?>
<div class="col-md-9 col-sm-8">
<div class="testdesc"><?php echo the_content(); ?></div>
<div class="testname"><?php echo the_title(); ?> - <?php echo the_date(); ?></div>
</div>

</div>

<?php endwhile; wp_reset_postdata(); ?>

Я хочу использовать приведенный выше код для создания нескольких Rich Snippets из Schema.org, фрагмент, который я хочу выглядеть так:

<script type='application/ld+json'>
{
"@context": "http://schema.org/",
"@type": "Review",
"itemReviewed": "Wedding Hair & Makeup",
"reviewBody": "Hi girls,  I was  hoping you could pass on a huge thank you to Charmaine “Miss Blue Lily” for my wedding hair and makeup and my Friday night hair. It was completely perfect and I loved how I looked. Charmaine was so accommodating when I was changing my mind and a
delight to have around on the wedding day, a real credit to the Gemma
Sutton team ��So thank you so much!  lots of love,  Charlotte xx",
"reviewRating": {
"@type": "Rating",
"bestRating": "5",
"ratingValue": "5",
"worstRating": "0"},
"author": "Charlotte",
"alternateName": "Wedding Hair & Makeup"}
</script>

Я думаю, что мой код должен выглядеть примерно так, но у меня проблемы

<div class="testimonials">
<?php $loop = new WP_Query( array ('post_type' => 'testimonials', 'order' => 'DESC', 'orderby' => 'date', 'showposts' => '99' )); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<div class="testimonial">
<?php if (has_post_thumbnail(get_the_ID())) { ?>
<div class="col-md-3 col-sm-4">
<img src="<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'testimonials_main' ); $url = $thumb['0']; echo $url; ?>" alt="<?php echo the_title(); ?>" />
</div>
<?php } ?>
<div class="col-md-9 col-sm-8">
<div class="testdesc"><?php echo the_content(); ?></div>
<div class="testname"><?php echo the_title(); ?> - <?php echo the_date(); ?></div>
</div>
<script type='application/ld+json'>
{
"@context": "http://schema.org/",
"@type": "Review",
"itemReviewed": "Wedding Hair & Makeup",
"reviewBody": "<?php echo the_content(); ?>",
"reviewRating": {
"@type": "Rating",
"bestRating": "5",
"ratingValue": "5",
"worstRating": "0"},
"author": "<?php echo the_title(); ?>",
"alternateName": "Wedding Hair & Makeup"}
</script>
</div>

<?php endwhile; wp_reset_postdata(); ?>

Приведенный выше код не извлекает правильные значения из базы данных.
Я не уверен, должен ли я устанавливать переменную вместо этого?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …