我想在WooCommerce中添加一个品牌和一个gtin到我的产品标记。目前Yoast SEO插件已经添加了很多标记。但它只能选择添加具有产品属性的品牌。在我的情况下,品牌是基于自定义字段。此外,gtin是在一个不同的领域,不能与Yoast一起使用。
我在他们的docs中发现了一个代码片段,它允许向标记添加自定义数据:
add_filter('wpseo_schema_webpage','example_change_webpage');
/**
* Changes @type of Webpage Schema data.
*
* @param array $data Schema.org Webpage data array.
*
* @return array Schema.org Webpage data array.
*/
function example_change_webpage( $data ) {
if ( ! is_page( 'about' ) ) {
return $data;
}
$data['@type'] = 'AboutPage';
return $data;
}
但这不是针对产品的,我不知道如何改变这一点。
我还找到了一个schmea piece产品的例子:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Product",
"@id": "https://www.example.com/#/schema/product/abc123",
"name": "Example Product",
"image": {
"@id": "https://www.example.com/#/schema/image/abc123"
}
}
]
}
我可以在一个自定义函数中使用它,并将其作为JavaScript添加到头部。就像这样:
add_action( 'wp_head', function() {
if ( is_product() ):
?>
<script type="application/ld+json">{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Product",
"@id": "#product",
"brand": {
"@id": "https://www.example.com/#/schema/organization/abc123"
},
"sku": "abc123",
}
]
}</script>
<?php
endif;
}, 99 );
但是现在我有两个不同的产品模式标记。
有没有一种方法可以从Yoast向现有的标记添加内容?
3条答案
按热度按时间hsvhsicv1#
除非你使用的是Yoast SEO woocommerce插件,否则上述批准的答案将不起作用。您可以使用下面的代码添加品牌和gtin。
sqyvllje2#
我想我找到了一个解决办法:
pdtvr36n3#