【WordPress】プラグインなしでOGPとTwitterカードを設定する方法

今回は、プラグインを使わずに、OGPとTwitterカードを設定する方法をご紹介いたします。

 

コピペ用コードのみの記載ですので、それぞれの意味や役割に関しましては、下記の記事を参考にしてください。
【OGPとは】OGPの基本と使い方や設定方法を解説

 

それでは、コードを記載しますね!

プラグインなしでOGPとTwitterカードを設定する方法

まずは、<head> に記述する、OGPを使用することを宣言するため、prefix属性を条件分岐で記述します。

 

下記の書き方は三項演算子ですが、分かりづらい方は、<if><else><endif>の書き方で記述してください。

<?php $attribute = (is_home() || is_front_page()) ? 'website' : 'article'; ?>
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# <?php echo $attribute; ?>: http://ogp.me/ns/<?php echo $attribute; ?>#">

 

次に、「functions.php」に下記のコードを記述してください。

function my_meta_ogp() {
  if (is_front_page() || is_home() || is_singular()) {
    global $post;
    $ogp_title = '';
    $ogp_description = '';
    $ogp_url = '';
    $ogp_image = '';
    $insert = '';

    if (is_front_page() || is_home()) {
      $ogp_title = get_bloginfo('name');
      $ogp_description = get_bloginfo('description');
      $ogp_url = home_url();
    } elseif (is_singular()) {
      setup_postdata($post);
      $ogp_title = $post->post_title;
      $ogp_description = mb_substr(get_the_excerpt(), 0, 100);
      $ogp_url = get_permalink();
      wp_reset_postdata();
    }

    $ogp_type = (is_front_page() || is_home()) ? 'website' : 'article';

    if (is_singular() && has_post_thumbnail()) {
      $ps_thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full');
      $ogp_image = $ps_thumbnail[0];
    } else {
      $ogp_image = '① TOPページ&アイキャッチ画像がないときに使われる画像のURL(絶対パス)';
      // $ogp_image = 'https://〇〇〇〇/wp-content/uploads/2022/10/opg.png';
      // $ogp_image = 'https://〇〇〇〇/wp-content/themes/〇〇〇〇/images/ogp.png';
    }

    $insert .= '<meta property="og:title" content="' . esc_attr($ogp_title) . '">' . "\n";
    $insert .= '<meta property="og:description" content="' . esc_attr($ogp_description) . '">' . "\n";
    $insert .= '<meta property="og:type" content="' . $ogp_type . '">' . "\n";
    $insert .= '<meta property="og:url" content="' . esc_url($ogp_url) . '">' . "\n";
    $insert .= '<meta property="og:image" content="' . esc_url($ogp_image) . '">' . "\n";
    $insert .= '<meta property="og:site_name" content="' . esc_attr(get_bloginfo('name')) . '">' . "\n";
    $insert .= '<meta name="twitter:card" content="summary_large_image">' . "\n";
    $insert .= '<meta name="twitter:site" content="② @ツイッターのユーザー名">' . "\n";
    $insert .= '<meta property="og:locale" content="ja_JP">' . "\n";

    $insert .= '<meta property="fb:app_id" content="③ FacebookアプリID(app_id)">' . "\n";

    echo $insert;
  }
}
add_action('wp_head','my_meta_ogp');

 

記述が必要な箇所は、3箇所になります。

① TOPページ&アイキャッチ画像がないときに使われる画像のURL(絶対パス)

② @ツイッターのユーザー名

③ FacebookアプリID(app_id)

 

参考サイト
【WordPress】OGPとTwitterカードをプラグイン無しで設定する方法

OGPが正しく設定できているか確認する方法

OGP確認

② Twitter確認

Facebook確認

SNSでもご購読できます。

コメントを残す

前の記事

次の記事