如何自定义我的 WordPress post 生成的 wp-json oembed?

How can I customize my WordPress post's generated wp-json oembed?

我通过 LinkedIn Inspector 注意到我的 post 的缩略图是从 wp-json 生成的 oembed 中抓取的,而不是我的 Yoast SEO 开放图元标记。如何自定义 oembed 以不使用特色图像并使用自定义图像?我已经通过 Yoast SEO 为 Facebook 和 Twitter 设置了自定义图像,我假设 LinkedIn 会从 Facebook 方面获取 OG 元标签,但它并没有这样做,它跳过它以支持生成的 oembed [= post.

中的 18=] 文件

您可以使用 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;
}