Php Woocommerce产品动态模式标记

Php Woocommerce产品动态模式标记,php,html,wordpress,woocommerce,schema,Php,Html,Wordpress,Woocommerce,Schema,下面是为WooCommerce产品动态添加模式标记的代码: add_action('wp_head', 'schema_product'); function schema_product(){ global $product; if (is_singular('product')) { ?> <script type="application/ld+json"> { "@context": "http://schema.org", "

下面是为WooCommerce产品动态添加模式标记的代码:

add_action('wp_head', 'schema_product');
function schema_product(){
global $product;
if (is_singular('product')) {  ?>
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "Product",
      "name": "<?php echo $product->get_name(); ?>",
      "description": "Ver descripción en el link incluido.",
      "image": "<?php echo get_the_post_thumbnail_url( $product->get_id(), 'full' ); ?>",
      "url": "<?php echo get_permalink( $product->get_id() ); ?>",
      "sku": "<?php echo $product->get_sku(); ?>",
      "brand": "<?php echo get_post_meta(get_the_ID(), 'brand', TRUE); ?>",
      "offers": {
        "@type": "Offer",
        "availability": "http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>",
        "price": "<?php echo $product->get_price(); ?>",
        "priceValidUntil": "2019-12-31",
        "priceCurrency": "<?php echo get_woocommerce_currency(); ?>",
        "url": "<?php echo get_permalink( $product->get_id() ); ?>"
        },
      "aggregateRating": {
        "@type": "AggregateRating",
        "bestRating": "5",
        "ratingValue": "5",
        "reviewCount": "3"
        },
      "review": {
          "author": "Federico",
          "reviewRating": {
            "@type": "Rating",
            "bestRating": "5",
            "ratingValue": "5",
            "worstRating": "4"
          }
        }
    }
    </script>
<?php  }
};
add_action('wp_head','schema_product');
函数模式_乘积(){
全球$产品;
如果(是单数(‘乘积’){?>
{
“@context”:”http://schema.org",
“@type”:“产品”,
“名称”:“,
“描述”:“描述所有链接的内容。”,
“图像”:“,
“url”:“,
“sku”:“,
“品牌”:“,
“提议”:{
“@type”:“Offer”,
“可用性”:http://schema.org/",
“价格”:“,
“priceValidUntil”:“2019-12-31”,
“价格货币”:“,
“url”:”
},
“聚合”:{
“@type”:“聚合”,
“最佳评级”:“5”,
“额定值”:“5”,
“reviewCount”:“3”
},
“审查”:{
“作者”:“费德里科”,
“复习”:{
“@type”:“评级”,
“最佳评级”:“5”,
“额定值”:“5”,
“工作”:“4”
}
}
}

代码中有一些错误…请尝试以下操作:

add_action('wp_head', 'schema_product');
function schema_product(){
    global $product;

    if ( is_product() && ! is_a($product, 'WC_Product') ) {
        $product = wc_get_product( get_the_id() );
    }

    if ( is_product() && is_a($product, 'WC_Product') ) :

    ?>
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "Product",
      "name": "<?php echo $product->get_name(); ?>",
      "description": "Ver descripción en el link incluido.",
      "image": "<?php echo get_the_post_thumbnail_url( $product->get_id(), 'full' ); ?>",
      "url": "<?php echo get_permalink( $product->get_id() ); ?>",
      "sku": "<?php echo $product->get_sku(); ?>",
      "brand": "<?php echo $product->get_meta('brand'); ?>",
      "offers": {
        "@type": "Offer",
        "availability": "http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>",
        "price": "<?php echo $product->get_price(); ?>",
        "priceValidUntil": "2019-12-31",
        "priceCurrency": "<?php echo get_woocommerce_currency(); ?>",
        "url": "<?php echo $product->get_permalink(); ?>"
        },
      "aggregateRating": {
        "@type": "AggregateRating",
        "bestRating": "5",
        "ratingValue": "5",
        "reviewCount": "3"
        },
      "review": {
          "author": "Federico",
          "reviewRating": {
            "@type": "Rating",
            "bestRating": "5",
            "ratingValue": "5",
            "worstRating": "4"
          }
        }
    }
    </script>
    <?php
    endif;
}

谢谢@LoicTheAztec,这很好。对于品牌来说,这是每种产品的定制领域。因此,与原始产品线完美结合。
"brand": "<?php echo $product->get_meta('brand'); ?>",
"brand": "<?php $brand = wp_get_post_terms( $product->get_id(), 'product_brand' ); $brand = reset($brand); echo $brand->name; ?>",