WordPressサイトでtitleタグを作るときに使われる関数としてwp_titleが有名でした。たとえば、header.phpを開くと次のようなコードを見かけました。以下はWordPress 4.0の時代に付属していたTwenty Fourteenの例です。
<title><?php wp_title( '|', true, 'right' ); ?></title>
最近のテーマにはwp_titleがない場合も
ところが最近のWordPressテーマではheader.phpを開いてもwp_title関数を見かけません。それどころか、titleタグを作っている部分が見当たらない場合があります。たとえば、Twenty Sixteen 1.3のheader.phpは次のようになっています。
<head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <?php if ( is_singular() && pings_open( get_queried_object() ) ) : ?> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>"> <?php endif; ?> <?php wp_head(); ?> </head>
titleタグの自動生成
これは、functions.phpにadd_theme_support( ‘title-tag’ );と書くことでtitleタグが自動生成されるためです。Twenty Sixteen 1.3ではfunctions.phpの65行目あたりに次のように記述されています。
add_theme_support( 'title-tag' );
これにより、header.phpなどで明示的にtitleタグを組み立てる必要がありません。
試しに「add_theme_support( ‘title-tag’ );」をコメントにすると、titleタグが作成されません。
まとめ
最近のWordPressテーマでは、titleタグを作成する際にheader.phpでwp_titleを呼び出す代わりにfunctions.phpで「add_theme_support( ‘title-tag’ );」と記述してtitleタグの自動生成を使っています。テーマを自作するときの参考にしてください。