Как изменить схему продукта на изображении?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как изменить схему продукта на изображении?

Сообщение Anonymous »

Я заметил, что во фрагменте Google не отображается фотография продукта. Я изменил код плагина, но тест не дал результатов.
Плагин Yoast SEO: Код WooCommerce
protected function filter_variations( $data, $product ) {
if ( ! isset( $data['offers'] ) || $data['offers'] === [] ) {
return $data;
}

$data['@type'] = 'ProductGroup';
if ( isset( $data['sku'] ) ) {
$data['productGroupID'] = $data['sku'];
}
$data['hasVariant'] = [];
unset( $data['offers'] );

$product_variations = $product->get_available_variations();
foreach ( $product_variations as $key => $variation ) {
$variant_schema = $this->add_individual_product_variation( $product, $variation, $key );
if ( isset( $variant_schema['image'] ) ) {
$this->variation_images[] = [ '@id' => $variant_schema['image']['@id'] ];
}
$data['hasVariant'][] = $variant_schema;
}

// We don't want an array with keys, we just need the offers.
$data['hasVariant'] = array_values( $data['hasVariant'] );

return $data;
}

мой код:
protected function filter_variations( $data, $product ) {
if ( ! isset( $data['offers'] ) || $data['offers'] === [] ) {
return $data;
}

$data['@type'] = 'ProductGroup';
if ( isset( $data['sku'] ) ) {
$data['productGroupID'] = $data['sku'];
}
$data['hasVariant'] = [];
unset( $data['offers'] );

$product_variations = $product->get_available_variations();
foreach ( $product_variations as $key => $variation ) {
$variant_schema = $this->add_individual_product_variation( $product, $variation, $key );
if ( isset( $variant_schema['image'] ) ) {
// Изменение структуры для использования простого URL вместо объекта с '@id'
$this->variation_images[] = $variant_schema['image']; // Просто URL вместо массива
}
$data['hasVariant'][] = $variant_schema;
}

// We don't want an array with keys, we just need the offers.
$data['hasVariant'] = array_values( $data['hasVariant'] );

return $data;
}

Мне нужно, чтобы микроразметка с картинкой была вот такой:
"image": "Изображение"

это выглядит так:
"image":{"@id":"https://domain/#primaryimage"}


Подробнее здесь: https://stackoverflow.com/questions/791 ... t-on-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»