【问题标题】: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 文件在帖子中。

【问题讨论】:

  • 我正在使用 wpseo_opengraph_image 替换默认图像,并且还希望它在其他相关位置(如 oEmbed)中发生变化。来自 LinkedIn 的更多详细信息,关于他们如何抓取页面:engineering.linkedin.com/blog/2018/06/…

标签: 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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2018-09-22
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多