【テーマ作成 その②】からの続き。
流れを追いたい方は記事を辿るか、Githubのコミットを追いかけてください。
header で必要なテンプレートタグを記述
WodrPress Codexのテーマ開発、Template File Checklist 項を見ながら。
language_attributes() を <html> に含める
テキスト方向、言語情報の属性をセットしてくれる関数。
IE用に振り分けされているので各々記述。
<!DOCTYPE html> <!--[if lt IE 7]> -<html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> +<html <?php language_attributes(); ?> class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> <!--[if IE 7]> -<html class="no-js lt-ie9 lt-ie8"><![endif]--> +<html <?php language_attributes(); ?> class="no-js lt-ie9 lt-ie8"><![endif]--> <!--[if IE 8]> -<html class="no-js lt-ie9"><![endif]--> +<html <?php language_attributes(); ?> class="no-js lt-ie9"><![endif]--> <!--[if gt IE 8]><!--> -<html class="no-js"><!--<![endif]--> +<html <?php language_attributes(); ?> class="no-js"><!--<![endif]-->
文字コードの <meta> 要素を記述
これはタイトルや他のメタ情報より前に書かんとだめなやつです。
設定で設定したものが反映されます。
- <meta charset="utf-8"> + <meta charset="<?php bloginfo( 'charset' ); ?>" />
<title> 要素に wp_title() をセット
wp_title() はそのまんま、タイトルを返す関数(WordPress 2.5 ~
<title> じゃないところでも使えたり、区切り文字等の引数を指定できたりします。
とりあえずそのまま記述。
- <title></title> + <title><?php wp_title(); ?></title>
<meta> description要素に bloginfo() をセット
ページ概要のメタタグに bloginfo( ‘description’ ) を記述。
設定 > 一般 で入力してある “サイトの簡単な説明” が出ます。
- <meta name="description" content=""> + <meta name="description" content="<?php bloginfo( 'description' ); ?>">
wp_head() を記述
プラグインのスタイルシートやスクリプトはこの関数にフックされているので、これを書かないとちょっと困ったことになります。
ゴリゴリに自前でテーマを弄るなら書かなくても問題ないです。
気合い入ってる企業サイトでは敢えて書いてないところもあります。
</head> 直前に記述。
+ <?php wp_head(); ?> </head>
<body> に <?php body_class(); ?> を付加
header に含んでいるのでここで。
body、投稿、コメント要素にWordPressが生成するクラスの属性を追加する関数。
投稿の場合はループ内の要素にのみ適用。
</head> -<body> +<body <?php body_class(); ?>>
functions.php
Codex の Functions File Explained というところに色々と書かれてます。
テーマ弄るときに触ったことがある人もいるのでは?
ざっくりざっくり言うと、ここに色々書いていけば機能を増やしたり色々拡張できたりするやつです。
functions.php でやりたいことができるようになればプラグインを作ることができるのと同義、ってぐらいな勢いです。
と同時に、functions.php でミスがあると正常動作しなくなることもあります。
functions.php を作成
新規でphpファイルを作ります、こんな感じ(この段階ではコメントだけなので何ら動作しない
<?php /** * functions * * テーマでは、functions.phpという名前の関数ファイルを使用することができます * 基本的にプラグインのように動作し、テーマに存在していれば自動的にWordPressの初期化時に読み込まれます * * @package WordPress * @subpackage Hoho */
で、functions.php、一番最後の閉じ ?> は不要です、むしろ書くとよろしくないです。(functions.php に限らず php ってそうだよね
※関数ごとのやつは絶対いりますよ!一番最後だけ!いらない。
<?php function hoho() { //処理 } ?> <!-- いろいろあって -- > <?php
気になるひとは調べてみましょう。
RSSフィード機能を追加
RSS、出さないとダメですよねやっぱり。
WordPress 3.0 から、RSSフィードは functions.php に書くことになってます。書きます。
<?php /** * functions * * テーマでは、functions.phpという名前の関数ファイルを使用することができます * 基本的にプラグインのように動作し、テーマに存在していれば自動的にWordPressの初期化時に読み込まれます * * @package WordPress * @subpackage Hoho */ /** * 自動的にRSSフィードのリンクを挿入 * * @since WordPress 3.0 */ add_theme_support( 'automatic-feed-links' );
functions.php はたいてい色々書きすぎてぐちゃーなるので、追って整理します。
ぐちゃーとなるまでは書き足していきます。
footer で必要なテンプレートタグを記述
footer には必須のやつが1つ。
wp_footer()
これがないと wp_header() と同じく、プラグイン等がちゃんと動きません。
</body> 直前に。
+<?php wp_footer(); ?> </body>
ここまでできたら管理バーが無事表示されるはず!
やっと管理バー、道はまだまだ長いです。
ここまでのソースコードはこちら。
次回以降、投稿を表示したりサイドバーのウィジェットを実装したり。
果てしない道のりやな → header, footer に必須のテンプレートタグを入れ、管理バーが無事に出るまでの【テーマ作成 その③】