如何在 WooCommerce 中的产品结构化数据 (Schema.org) 中添加产品图片和描述
How to add product image and description in product structured data (Schema.org) in WooCommerce
我正在使用它向每个产品的架构添加自定义字段
add_filter( 'woocommerce_structured_data_product', function( $markup, $product ) {
if( is_product() ) {
$markup['brand'] = get_post_meta(get_the_ID(), 'brand', TRUE);
}
我还需要将产品图片 url 和描述添加到架构中,我该如何实现?
woocommerce_structured_data_product
挂钩已在产品页面上运行,因此您不需要 is_product()
检查。
如 documentation 中所述,它在 woocommerce_single_product_summary
挂钩内执行。
您可以像这样覆盖结构化数据:
// overwrites structured data
add_filter( 'woocommerce_structured_data_product', 'set_structured_data', 99, 2 );
function set_structured_data( $markup, $product ) {
$markup['brand'] = get_post_meta( $product->get_id(), 'brand', true );
$markup['image'] = wp_get_attachment_url( $product->get_image_id() );
$markup['description'] = wp_strip_all_tags( $product->get_short_description() ? $product->get_short_description() : $product->get_description() );
return $markup;
}
代码已经过测试并且可以工作。将它添加到您的活动主题 functions.php.
在产品页面上,找到 <script type="application/ld+json">
元素,它应该如下所示:
然后检查 brand
、image
和 description
字段是否有值。
您可以在此处找到要添加到产品结构化数据的完整字段列表:
如果要检查结构化数据的有效性 可以在代码中输入整个脚本 Rich Results Test - Google Search Console 页面部分 (而不是产品页面 url)。
一些有用的链接:
相关回答:
我正在使用它向每个产品的架构添加自定义字段
add_filter( 'woocommerce_structured_data_product', function( $markup, $product ) {
if( is_product() ) {
$markup['brand'] = get_post_meta(get_the_ID(), 'brand', TRUE);
}
我还需要将产品图片 url 和描述添加到架构中,我该如何实现?
woocommerce_structured_data_product
挂钩已在产品页面上运行,因此您不需要 is_product()
检查。
如 documentation 中所述,它在 woocommerce_single_product_summary
挂钩内执行。
您可以像这样覆盖结构化数据:
// overwrites structured data
add_filter( 'woocommerce_structured_data_product', 'set_structured_data', 99, 2 );
function set_structured_data( $markup, $product ) {
$markup['brand'] = get_post_meta( $product->get_id(), 'brand', true );
$markup['image'] = wp_get_attachment_url( $product->get_image_id() );
$markup['description'] = wp_strip_all_tags( $product->get_short_description() ? $product->get_short_description() : $product->get_description() );
return $markup;
}
代码已经过测试并且可以工作。将它添加到您的活动主题 functions.php.
在产品页面上,找到 <script type="application/ld+json">
元素,它应该如下所示:
然后检查 brand
、image
和 description
字段是否有值。
您可以在此处找到要添加到产品结构化数据的完整字段列表:
如果要检查结构化数据的有效性 可以在代码中输入整个脚本 Rich Results Test - Google Search Console 页面部分 (而不是产品页面 url)。
一些有用的链接:
相关回答: