add_filter( 'rank_math/json_ld', function( $data, $jsonld ) {
if ( empty( $data['richSnippet'] ) || ! in_array( $data['richSnippet']['@type'], [ 'Product', 'ProductGroup' ] ) ) {
return $data;
}
$data['shippingDetails'] = [
'@context' => 'https://schema.org/',
'@type' => 'OfferShippingDetails',
'@id' => '#shipping_policy',
'deliveryTime' => [
'@type' => 'ShippingDeliveryTime',
'handlingTime' => [
'@type' => 'QuantitativeValue',
'minValue' => 15,
'maxValue' => 20,
'unitCode' => 'DAY',
],
'transitTime' => [
'@type' => 'QuantitativeValue',
'minValue' => 7,
'maxValue' => 10,
'unitCode' => 'DAY'
],
],
'shippingRate' => [
'@type' => 'MonetaryAmount',
'value' => 60,
'currency' => 'INR',
],
'shippingDestination' => [
'@type' => 'DefinedRegion',
'addressCountry' => 'IN'
]
];
$data['hasMerchantReturnPolicy'] = [
'@context' => 'https://schema.org/',
'@type' => 'MerchantReturnPolicy',
'@id' => '#merchant_policy',
'applicableCountry' => 'IN',
'returnPolicyCountry' => 'IN',
'returnPolicyCategory' => 'https://schema.org/MerchantReturnFiniteReturnWindow',
'merchantReturnDays' => 7,
'returnMethod' => 'https://schema.org/ReturnByMail',
'returnFees' => 'https://schema.org/FreeReturn'
];
if ( 'Product' === $data['richSnippet']['@type'] ) {
$data['richSnippet']['offers']['shippingDetails'] = [ '@id' => '#shipping_policy' ];
$data['richSnippet']['offers']['hasMerchantReturnPolicy'] = ['@id' => '#merchant_policy'];
return $data;
}
if ( empty( $data['richSnippet']['hasVariant'] ) ) {
return $data;
}
foreach ( $data['richSnippet']['hasVariant'] as $key => $value ) {
if ( empty( $value['offers'] ) ) {
continue;
}
$data['richSnippet']['hasVariant'][ $key ]['offers']['shippingDetails'] = [ '@id' => '#shipping_policy' ];
$data['richSnippet']['hasVariant'][ $key ]['offers']['hasMerchantReturnPolicy'] = [ '@id' => '#merchant_policy' ];
}
return $data;
}, 99, 2);
Shop Custom Cut Lab Grown Diamonds