WordPressで自作のテーマを作成する時にheader.phpでよく使いそうなものをまとめてみました。使わないとすぐ忘れてしまうので自分用ということでメモしときます。これで次にテーマを作成する時に少しは効率が良くなるかと思います。まあどれも基本的なことばかりですが。
[ads_center]
header.phpに記述しておくといいかもしれないもの
以下、header.phpでよく使いそうなものや書いておくと便利になる関数などの一覧です。
language_attributes()
ヘッダー内で以下のように使います。
<html <?php language_attributes(); ?>>
これでこのように出力されます。
<html dir="ltr" lang="ja">
ltrとは左から右へという意味です。左から右に文章が記述されているということを宣言しているんですね。
bloginfo(‘charset’)
使い方はこんな感じです。
<meta charset="<?php bloginfo('charset'); ?>">
これでこのように出力されます。
<meta charset="UTF-8">
wp_title()
現在のページのタイトルを出力します。実際に使う場合はブログ名も一緒に出力することが多いのでbloginfo(‘name’)と一緒に使います。
<title><?php wp_title ( '|', true, 'right' ); ?><?php bloginfo('name'); ?></title>
これでこのように出力されます。
<title>現在のページタイトル | ブログ名</title>
bloginfo(‘stylesheet_url’)
メインのCSSファイルのURLを出力します。使い方はこんな感じです。
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
その他にもCSSファイルを読み込みたい場合はget_template_directory_uri()を使えば簡単です。
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/読み込むCSSファイル" />
get_template_directory_uri()はテンプレートディレクトリのURLを返します。なので画像の読み込みなど色んなところに使えるので結構使用頻度が高いんじゃないかなーと思います。
wp_enqueue_script( ‘comment-reply’ )
投稿や固定ページにコメントを付けているならこれを記述した方がいいみたいです。
<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
wp_head()よりも前に記述します。これで、comment-replyが読み込まれます。コメント一覧で、返信をクリックするとその場所にコメントフォームが移動してくるようになります。
wp_head()
head内の一番最後に記述しておかないといけないのがwp_head()です。こんな感じで使います。
<?php wp_head(); ?>
たくさんのプラグインを動作させるために必要なので忘れないように記述しないといけないっすね。
RSSフィードリンク
RSSのフィードリンクを出力したい場合はfunctions.phpに以下を記述します。
<?php add_theme_support('automatic-feed-links'); ?>
これを追加すると投稿とコメントのRSSフィードリンクがwp_head()から出力されます。とても楽ですね。
body_class()
これはbody要素に異なるclass名を与えてくれます。これを記述することで効率よくスタイルを変更したりできますね。以下のようにbodyに追加するだけです。
<body <?php body_class(); ?>>
トップページとそれ以外のページでロゴを括る要素を変える
これもよくあるかと思うので追加してみました。たとえばサイトのロゴを表示する時に、トップページではh1を使用してそれ以外のページはh2で括るようにするといった感じです。
<?php if(is_home()): ?> <h1><a href="<?php echo home_url(); ?>">ブログタイトル</a></h1> <?php else: ?> <h2><a href="<?php echo home_url(); ?>">ブログタイトル</a></h2> <?php endif; ?>
wp_nav_menu()
ナビゲーションメニューを表示させます。自分でカスタムして作成したメニューを自由に表示させたりできるのでとても便利です。カスタムメニューをテーマに対応させるためにはfunctions.phpに以下を追加します。
<?php add_theme_support('menus'); ?>
そして、表示させたい場所にwp_nav_menuを記述します。
<?php wp_nav_menu(); ?>
表示したいメニューを指定して絞り込みたい場合は以下のように指定します。
<?php wp_nav_menu( array('menu' => '指定するメニュー名' )); ?>
まとめ
とりあえずheader.phpでよく使いそうなものをまとめてみました。また機会があればheader.php以外もまとめておきたいと思います。