Установка изображения записи Custom Post как og:image
Я пытаюсь установить изображение записи как og:image
Я пробовал различные способы и плагины (Yoast), но сложно разобраться с этим.
Проблема в том, что система не берет изображение записи, вместо этого она выбирает изображения из контента.
Это текущий код страницы для отдельной записи блога. Это та часть, которую мне нужно использовать при шеринге записи блога в Facebook вместо изображений из контента.
<div class="image-wrapper">
<?php if( get_field('featured_image') ): ?>
<?php $featuredImage = get_field('featured_image'); ?>
<img rel="image_src" src="<?php echo $featuredImage['url']; ?>" alt="">
<?php else: ?>
<img src="http://lorempixel.com/842/458/?rand9" alt="">
<?php endif; ?>
</div>
Происходит странная вещь: когда в записи блога нет изображений в контенте, тогда система берет изображение записи и изображения из сайдбара. Я также запускал отладчик Facebook, но опять же он берет только изображения из контента.
Я нашел этот сниппет, который таргетирует изображение записи, но у меня есть ощущение, что из-за того, что у меня пользовательский тип записи, он может не работать.
<meta property="og:image" content="<?php $post_thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'large'); echo $post_thumbnail[0]; ?>" />
Буду благодарен за любые предложения. Если нужна дополнительная информация, дайте знать.

Похоже, что ваш сайт не использует встроенную функцию WordPress Изображения записи, а вместо этого применяет пользовательское поле для изображения (вероятно, из Advanced Custom Fields). Плагин Yoast, Jetpack и, предположительно, многие другие ищут именно Изображение записи при установке метатега opengraph. У вас есть два варианта:
- Использовать встроенную функцию Изображения записи вместе с одним из плагинов, которые добавляют это изображение в метатег opengraph
- Изменить свойство meta для использования поля ACF:
<meta property="og:image" content="<?php $featuredImage = get_field('featured_image'); echo esc_url( $featuredImage['url'] ); ?>" />
Примечание: если ваше изображение записи (независимо от способа его реализации) несет смысловую нагрузку и не является "чисто декоративным", убедитесь, что ваш сайт поддерживает возможность добавления соответствующего альтернативного текста для доступности.

Привет, спасибо за ответ. Ты прав, я использую ACF для изображения записи. Я выбрал второй вариант, но тег на самом деле не подхватывает изображение, в исходном коде это выглядит так: <meta property="og:image" content="">

Получилось заработать: <meta property="og:image" content="<?php $featuredImage = get_field('featured_image'); echo $featuredImage['url']; ?>" />
Спасибо за помощь

вы можете создать свой собственный плагин или просто использовать его в functions.php
add_action('wp_head', 'dgsoft_fb');
function dgsoft_fb(){
if( is_single() ) {
echo '<meta property="og:image" content="'. get_the_post_thumbnail_url(get_the_ID(),'full') .'" />';
}
}
