expexp.jp

WordPress

WordPressでtitle-tagをOGPにも使いたい

WordPressテーマでSNSとの連携に必要なOGP(Open Graph Protocol)へ、記事のタイトルなどを出力する例を紹介。

WordPress 4.4からwp_title()ではなく、wp_head()で自動的にtitleタグが生成されるようになりました(add_theme_support()関数でtitle-tagをテーマで使えるようにしていることが前提)。

関数作成

まずはfunctions.phpに出力用の関数を記述します。オリジナルテーマの場合は、忘れずにadd_theme_support()関数を使い、title-tagを使えるようにしておきましょう。

ページタイトルはWordPress 4.4から追加されたwp_get_document_title()を使って取得します。

functions.php

// オリジナルテーマでタイトルタグを使えるようにする
add_theme_support( 'title-tag' );

function get_page_title() {
  // ページタイトルを取得
  $page_title = wp_get_document_title();

  return $page_title;
}

テーマに出力

次にテーマ上の出力したい場所に作成した関数を記述します。今回はOGPに出力するので、head内のメタタグに関数を記述します。

head内OGP部分

<meta property="og:title" content="<?php echo get_page_title(); ?>">

これでog:titleへページタイトルを出力することができます。