web-dev-qa-db-ja.com

特定の投稿にOG画像を定義するためのフィルタはありますか?

私は投稿のどの画像がfacebookのOG画像を設定するかを定義するためのフィルタを探しています。私の場合は、投稿メタフィールドに使用したい画像があります。

私は周りを見回しましたが、これを処理するための最良の方法がわからないです。これのためのコアワードプレスフィルタはありますか?もしそうなら私はそれを見つけることができませんでした。

私たちのサイトにそのプラグインがあるので、私が調べた一つの解決策はあなたのSEOプラグインフィルタを修正することでした。デフォルトでそれは私が探しているものではない特徴的な画像の上にOGメタを置くように見えます。

4
Shawn

wpseo_opengraph_imageフィルタは既存のog:imageを修正するためにのみ使用できます。そうでなければ、別の画像を追加するためにwpseo_opengraphアクションにフックする必要があります。

これは、投稿オブジェクトのカスタムフィールドから画像を追加する例です(ここでACFを使用していると仮定します)。

function my_wpseo_opengraph() {
    global $post;

    if (isset($post)) {
        $og_image = get_field('your_field_name', $post->ID);
        if ($og_image) {
            $image_url = $og_image['sizes']['large'];
            $GLOBALS['wpseo_og']->image_output($image_url);
        }
    }
}

add_action('wpseo_opengraph', 'my_wpseo_opengraph', 29);
3
slm_92