Как автоматически сгенерировать фрагмент кода Google Schema.org из цикла php - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь отредактировать цикл кода PHP в отзыве.Я хочу, чтобы цикл отображал Rich Snippet «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(); ?>

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

...