افزونه WooCommerce نیز با در نظر گرفتن SEO توسعه یافته است و به وب سایت شما نشانه گذاری طرحواره محصولات (و همچنین سایر ریزداده های مفید برای موتورهای جستجو) را ارائه می دهد.
این بدان معناست که بهطور پیشفرض، محصولات شما به همراه دادههای دیگری مانند ستارههای بررسی، وضعیت سهام، تعداد نظرات و – شما شاهد آمدن آن هستید – قیمت محصول در Google نشان داده میشوند.
با این حال، در سناریوی خاصی، ممکن است بخواهید قیمت محصولات WooCommerce را از نتایج جستجوی Google (و البته همه موتورهای جستجوی دیگر) پنهان کنید.
به عنوان مثال، زیرا قیمت های شما فقط برای کاربرانی که وارد سیستم شده اند قابل مشاهده است. یا شاید به این دلیل که نمی خواهید قیمت های خود را نمایش دهید تا زمانی که مشتریان بالقوه به وب سایت شما مراجعه کنند و تمام مزایای محصول را نخوانند، نه اینکه آنها تصمیم بگیرند که فقط قیمت بگیرند.
در هر صورت، بیایید ببینیم چگونه انجام می شود. و بار دیگر، این یک خط کد است. لذت ببرید!
کد زیر را در فایل فانکشن قالب خود قرار دهید
add_filter( 'woocommerce_structured_data_product_offer', '__return_empty_array' );
لطفاً توجه داشته باشید، در صورتی که بخواهید آن را به روشی خاص تر دستکاری کنید، در اینجا کد کامل هسته WooCommerce آمده است.
if ( '' !== $product->get_price() ) {
// Assume prices will be valid until the end of next year, unless on sale and there is an end date.
$price_valid_until = gmdate( 'Y-12-31', time() + YEAR_IN_SECONDS );if ( $product->is_type( 'variable' ) ) {
$lowest = $product->get_variation_price( 'min', false );
$highest = $product->get_variation_price( 'max', false );if ( $lowest === $highest ) {
$markup_offer = array(
'@type' => 'Offer',
'price' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
'priceValidUntil' => $price_valid_until,
'priceSpecification' => array(
'price' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
'priceCurrency' => $currency,
'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
),
);
} else {
$markup_offer = array(
'@type' => 'AggregateOffer',
'lowPrice' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
'highPrice' => wc_format_decimal( $highest, wc_get_price_decimals() ),
'offerCount' => count( $product->get_children() ),
);
}
} else {
if ( $product->is_on_sale() && $product->get_date_on_sale_to() ) {
$price_valid_until = gmdate( 'Y-m-d', $product->get_date_on_sale_to()->getTimestamp() );
}
$markup_offer = array(
'@type' => 'Offer',
'price' => wc_format_decimal( $product->get_price(), wc_get_price_decimals() ),
'priceValidUntil' => $price_valid_until,
'priceSpecification' => array(
'price' => wc_format_decimal( $product->get_price(), wc_get_price_decimals() ),
'priceCurrency' => $currency,
'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
),
);
}$markup_offer += array(
'priceCurrency' => $currency,
'availability' => 'http://schema.org/' . ( $product->is_in_stock() ? 'InStock' : 'OutOfStock' ),
'url' => $permalink,
'seller' => array(
'@type' => 'Organization',
'name' => $shop_name,
'url' => $shop_url,
),
);$markup['offers'] = array( apply_filters( 'woocommerce_structured_data_product_offer', $markup_offer, $product ) );
}
اگر قادر به انجام این کار نیستید با ما در ارتباط باشید.