WooCommerce非常注重搜索引擎优化SEO,所以它会在产品里包括 Schema 标记。这个标记会向搜索引擎提供关于产品的信息,像产品名字,可用性,评论数量,平均评分,以及价格。这就是Rich Snippets,也叫富文本摘要或丰富网站摘要。
在某些情况下,你可能不希望显示某些信息在搜索页(serps)上,特别是产品价格,直到用户进入店铺后才能看到或者你的网站有根据用户角色或会员等级设定不同的价格。你网站的Rich Snippets可以通过谷歌的rich工具查询到。
代码删除产品价格丰富摘要
把下面的自定义代码加到子主题的functions里或者用code snippets插件。
/* 删除 WooCommerce 产品价格的 rich snippets */
function cl_product_delete_meta_price( $product = null ) {
if ( ! is_object( $product ) ) {
global $product;
}
if ( ! is_a( $product, 'WC_Product' ) ) {
return;
}
if ( '' !== $product->get_price() ) {
$shop_name = get_bloginfo( 'name' );
$shop_url = home_url();
$markup_offer = array(
'@type' => 'Offer',
'availability' => 'https://schema.org/' . $stock = ( $product->is_in_stock() ? 'InStock' : 'OutOfStock' ),
'sku' => $product->get_sku(),
'image' => wp_get_attachment_url( $product->get_image_id() ),
'description' => $product->get_description(),
'seller' => array(
'@type' => 'Organization',
'name' => $shop_name,
'url' => $shop_url,
),
);
}
return $markup_offer;
}
add_filter( 'woocommerce_structured_data_product_offer', 'cl_product_delete_meta_price' );
等下次搜索引擎爬过你网站的时候,搜索页就会取消产品价格的Rich。