WordPressのテーマを自作自演してみたまとめ

2009 年 10 月 28 日


どうやって構築するか

とりあえすコーディングが面倒くさいので、一旦HTMLとしてDreamWeaverでコーディングしてからPHPのタグを入れる手法をとりました。
DreamWeaverCS3とかだとWrodPressのタグが入れれるプラグインがあるんだけど、CS4にはないのね。

はじめてのWordPressのテーマ構築なのでファイル構成はシンプルにしました。

index.php トップページ
single.php 単一記事(いわゆる中面)
archive.php アーカイブページ用
header.php ヘッダーパーツ
footer.php フッターパーツ
comments.php コメントパーツ
style.css メインスタイルシート
jsディレクトリ JSをまとめて
imgディレクトリ 画像をまとめて

ヘッダーでよく使うタグ

<php bloginfo('url'); ?>

 ブログのURL
 例:http://hogehoge.jp/blog/

<php bloginfo('template_url'); ?>

 テーマが入っているところまでのURL
 例:http://hogehoge.jp/blog/wp-content/themes/テーマの名前

<php bloginfo('stylesheet_url'); ?>

 メインのStyleSheetのURL
 例:http://hogehoge.jp/blog/wp-content/themes/テーマの名前/style.css

他にもあるけどたいていこれで乗り切れます。

トップページの最新とそうでないやつの設定

とりあえず最新はwhileを一回だけ回しました。

<php if (have_posts()) : ?>
 <php query_posts("showposts=1"); ?>
 <php while (have_posts()) : the_post(); ?>
  ここに書きたいHTML要素を入れる
 <php endwhile; ?>
<php endif; ?>

んで、最新以外の記事はこんな感じ。
<php if (have_posts()) : ?>
 <php query_posts("showposts=7"); ?>
 <php while (have_posts()) : the_post(); $counter++; ?>
  <php if ($counter != 1) : ?>
   ここに書きたいHTML要素を入れる
  <php endif; ?>
 <php endwhile; ?>
<php endif; ?>

while文にカウントつけてif分で一つ目は除外。
なんか、スマートじゃないなー。教えてエロい人ヽ(`Д´)ノ

次の記事・前の記事

<php next_post_link('%link') ?>
<php previous_post_link('%link') ?>

この2つでそれぞれとってこれます。
ちなみに

<php Next : next_post_link('%link') ?>

とか書くと、

Next : ほげほげ

っていう感じに文字もついてきます。

カスタムフィールドの呼び出し

画像をカスタムフィールドに設定してブログ内に表示したい場合は以下の要領で呼び出せます。

<php $image = get_post_meta($post->ID, 'single_image', true); ?>

カスタムフィード・”single_image”に定義されている画像のパスが返される仕組み。

SyntaxHighlighter

これについてはikekouさんのブログのほうが詳しいかな。
jp.ikekou.blog.Main | WordPressのSyntaxHighlighterがActionScriptに対応してました

あとは普通にCSSかな

フッター固定はCSSだけで実装してます。
ここを見るほうが早いと思います。
CSSだけで触れるとポップアップするフッターを作る(IE6対応) | CSS-EBLOG

CSS3のWebKitアニメーションを使ってます。
SafariとChromeはアニメーションするけどFirefoxはまだ対応してないから動かない。
IEは残念ながら対応してないです。でもまぁいまのとこをいいかなと。
GoogleアナリティクスをみるとIEからのアクセスは低いのでIEは残念ながら非対応です。
もちろんずっとこのまま非対応というわけにはいかないので、調整していきます。

とりあえず一旦こんな感じ。

そのほかのタグについては以下を参照にするといいかも。見にくいけど。
テンプレートタグ – WordPress Codex 日本語版