
Yoast SEO でトップページにアイキャッチを設定する場合、固定ページだと簡単ですが、投稿ページだと簡単に設定する方法がなさそう(この辺りは利用しているテーマにもよると思いますが、、、)なので試行錯誤してみました。画像はサイトアイコンで使っている画像を表示するようにしてみました。
/*-------------------------------------------*/
/* Yoast SEO 利用時にトップページのアイキャッチを設定
/*-------------------------------------------*/
// トップページ(サイトが'https'の場合)
$url_1 = home_url( '/' , 'https');
// 現在のページURL
$n_url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// og:image
function no_yoast_seo_ogpimg($object){
$image_path = get_site_icon_url(); // サイトアイコン
$object->add_image($image_path);
}
// twitter:image
function no_yoast_seo_twimg(){
$image_path = get_site_icon_url(); // サイトアイコン
return $image_path;
}
if( $url_1 == $n_url ){
add_action('wpseo_add_opengraph_images','no_yoast_seo_ogpimg');
add_filter('wpseo_twitter_image','no_yoast_seo_twimg');
}
その他、カテゴリーページや画像が小さい時も変更したいと思ったので条件を追加してみました。条件は色々アレンジ出来ると思います。
/*-------------------------------------------*/
/* トップページとカテゴリーページ、画像が小さい場合のアイキャッチを設定
/*-------------------------------------------*/
$url_1 = home_url( '/' , 'https'); // トップページ
$url_2 = home_url( '/category/' , 'https'); // カテゴリーページ
// 現在のページURL
$n_url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$ids = url_to_postid($n_url);
$thumbnail_id = get_post_thumbnail_id($ids); // 現在のURLからIDを取得
$image = wp_get_attachment_image_src( $thumbnail_id, 'full' );
$width = $image[1]; // アイキャッチ画像の横幅
$height = $image[2]; // アイキャッチ画像の高さ
// og:image
function no_yoast_seo_ogpimg($object){
$image_path = get_site_icon_url(); // サイトアイコン
$object->add_image($image_path);
}
// twitter:image
function no_yoast_seo_twimg(){
$image_path = get_site_icon_url(); // サイトアイコン
return $image_path;
}
if($url_1 == $n_url || strpos( $n_url, $url_2 ) !== false || $width < 200 || $height < 200){
add_action('wpseo_add_opengraph_images','no_yoast_seo_ogpimg');
add_filter('wpseo_twitter_image','no_yoast_seo_twimg');
}
もっとスマートなやり方もありそうですが、とりあえずfunctions.php にコピペでそのまま使えると思います。
自己紹介
松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…
とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。
「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。
現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。
宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。
インディーズでミュージシャンをやっていたのですがいつのまにか…
とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。
「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。
現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。
宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。







コメントを残す