プラグインSEO SIMPLE PACKのOGPの画像を自由にカスタマイズ
SEO SIMPLE PACKのOGPで出力される画像は、デフォルトでは2種類の方法しかありません。「サイト全体に登録した画像」と「各投稿のアイキャッチに登録した画像」です。
しかし実際は、固定ページやカスタム投稿によって画像を変えたり、アイキャッチではなく別の画像を使いたい場合があります。
今回は、PHPでフックを利用し、自由にOGPタグの画像を変更できる方法をお伝えします。結論としては以下のようなコードです。
PHP
function ap_rewrite_ssp_og_image($ssp_og_image){
if (is_singular('products')&&get_field('ap_upload_images')) {
$ssp_og_image = wp_get_attachment_url(get_field('ap_upload_images')[0]);
return $ssp_og_image;
} else {
$ssp_og_image = SSP_Data::$ogp['og_image'];
return $ssp_og_image;
}
}
add_filter('ssp_output_og_image', 'ap_rewrite_ssp_og_image');
コードについて
- プラグイン「SEO SIMPLE PACK」の‘ssp_output_og_image’ フックを使います。
- 関数名は自由に決めてください。今回は「ap_rewrite_ssp_og_image」としました。
- 投稿のデフォルトでは、アイキャッチ画像が使われています。
- 投稿以外のデフォルトでは、SSP_Data::$ogp[‘og_image’];としてあり、プラグインのOGP設定画面で登録した画像が出力されます。
- 条件分岐で「固定ページのとき」や「カスタム投稿のとき」など、出力を自由に決められます。今回は、「カスタム投稿‘products’」かつ「カスタムフィールドに値があるとき」という条件にしています。
ぜひ試してみてください。
エンジニアのみなさまへ
株式会社オートプロジェクトでは、中小企業向けのシステム・アプリケーション開発 / 外注サービスを提供しております。
貴社のニーズに応じた柔軟なサポートを行いますので、ぜひお気軽にご相談ください。
