【问题标题】:How can I customize my WordPress post's generated wp-json oembed?如何自定义我的 WordPress 帖子生成的 wp-json oembed?
【发布时间】:2020-05-07 13:37:51
【问题描述】:
我通过LinkedIn Inspector 注意到我帖子的缩略图是从 wp-json 生成的 oembed 中获取的,而不是我的 Yoast SEO 开放图元标记。如何自定义 oembed 以不使用特色图像并使用自定义图像?我已经通过 Yoast SEO 为 Facebook 和 Twitter 设置了一个自定义图像,我认为 LinkedIn 会从 facebook 端获取 OG 元标签,但它没有这样做,它跳过它以支持 oembed 生成的 XML 文件在帖子中。
【问题讨论】:
标签:
php
wordpress
oembed
yoast
【解决方案1】:
您可以在 Yoast SEO v14+ 中使用 Schema API 调整图像。
<?php
/**
* Changes url of Main_Image (ImageObject) Schema data.
*
* @param array $data Schema.org Main_image data array.
* @return array Schema.org Main_image data array.
*
* @link https://developer.yoast.com/features/schema/api#to-add-images-to-your-schema
*/
add_filter( 'wpseo_schema_main_image', 'example_change_wpseo_image' );
function example_change_wpseo_image( $data ) {
$attachment_ID = '123';
$img_src = wp_get_attachment_image_src( $attachment_ID, 'full' );
if (! empty( $img_src )){
$url = $img_src[0];
$data['url'] = $url;
}
return $data;
}