アーカイブページをタイトルリストに

no comments

ブログには月別、カテゴリー別、タグ別など様々なアーカイブページがあり、訪問者は過去のエントリーを月別、カテゴリー別、タグ別に見ることができます。
WordPressでは月別アーカイブページをdate.php、カテゴリーアーカイブページをcategory.php、タグアーカイブページをtag.phpという名前でそれぞれ独自にテンプレートを作成することで各ページに表示される内容を自由にカスタマイズできます。[*1]

ただし一つ問題があるんですが、各アーカイブページに表示されるエントリー数は、管理メニューの「設定」→「表示設定」内にある「1 ページに表示する投稿数」に指定した数だけしか載らないんです。
これではせっかくアーカイブページ用に作成した独自テンプレートが全く活かせませんね。

そこでプラグインの登場なんです。

上記のエントリーで分かりやすく解説されていますが、Custom posts per pageというプラグインを導入して、各アーカイブページに表示されるエントリー数を好きなように変更します。

具体的には、perpage.phpの11行目あたりにある以下の部分について

$posts_per['home']      = 4;
$posts_per['day']       = 10;
$posts_per['month']     = 10;
$posts_per['search']    = 10;
$posts_per['year']      = 999;
$posts_per['author']    = 999;
$posts_per['category']  = 999;

それぞれの数字を表示させたいエントリーの数に変更すればいいだけです。
例えば、home画面に表示されるエントリー数を10にしたい時には、

$posts_per['home']      = 10;

とします。
同様に、検索結果の画面に表示されるエントリー数を20にしたい時には、

$posts_per['search']    = 20;

と書き換えてあげます。
カテゴリーページにはデフォルトで999になっていますが、通常はこれ以上のエントリーを表示するような場面は少ないと思われるため、ここはこのままでいいと思います。
また、ここにはタグアーカイブページ用の設定ができないため、うちのブログでは少しコレに手を加えさせていただきました。
まずは先ほどの

$posts_per['home']      = 4;
$posts_per['day']       = 10;
$posts_per['month']     = 10;
$posts_per['search']    = 10;
$posts_per['year']      = 999;
$posts_per['author']    = 999;
$posts_per['category']  = 999;

の一番下に

$posts_per['tag']  = 999;

と書き加えます。
そして次に

	$query = new WP_Query();
	$query->parse_query($query_string);

	if ($query->is_home) {
		$num = $posts_per['home'];

	} elseif ($query->is_day) {
		$num = $posts_per['day'].'&order=ASC';

	} elseif ($query->is_month) {
		$num = $posts_per['month'].'&order=ASC';

	} elseif ($query->is_year) {
		$num = $posts_per['year'].'&order=ASC';

	} elseif ($query->is_author) {
		$num = $posts_per['author'];

	} elseif ($query->is_category) {
		$num = $posts_per['category'];

	} elseif ($query->is_search) {
		$num = $posts_per['search'];
	}

この部分の一番下に

	} elseif ($query->is_search) {
		$num = $posts_per['tag'];
	}

と書き加えます。
これでtag.phpでもdate.phpやcategory.phpと同様に表示されるエントリー数を制御できるようになりました。
ちなみに、古いエントリーを一番下に表示し、上に行くほど新しいエントリーにしたい場合には該当ページの”ASC”を”DESC”に書き換えるといいですよ。
例えば、

	} elseif ($query->is_year) {
		$num = $posts_per['year'].'&order=ASC';

これを

	} elseif ($query->is_year) {
		$num = $posts_per['year'].'&order=DESC';

こういう風に変更します。
まぁデフォルトで降順のようですから敢えてDESCと書かずに省略してもいいです。

	} elseif ($query->is_year) {
		$num = $posts_per['year'];

私はコレになかなか気付かなくて四苦八苦しました(笑)

あとは先ほどのエントリーにも出てましたように、各アーカイブページに沿ったテンプレートファイルを作成すればOKです。
私の場合は番号リストにしましたが、ulをolに変えただけですのでほとんどそのまま引用させていただきました。

<ol>
<?php if ($posts) : foreach ($posts as $post) : start_wp(); ?>
<li><?php the_time('l, F d, Y') ?> at <?php the_time('h:i a') ?> : <a href="<?php the_permalink() ?>" title="Permanent link to <?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
</ol>

これで以下のようにアーカイブページをリスト表示にすることができました。

custom-posts-per-page

まぁ定義リストとか使って横並びにした方が綺麗っちゃあ綺麗ですね(笑)
それはそれでまた時間のある時にやってみます。

【追記-2008.11.30-】
各テンプレートファイルへの記述ですが、start_wpというのが気になったので調べてみたんですけど、別に

<ol>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<li><?php the_time('D, M d, Y') ?> at <?php the_time('h:i A') ?> : <a href="<?php the_permalink() ?>" title="Permanent link to <?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
</ol>

これでも問題なく動作しましたので変更しました。

  1. これらが存在しない場合にはindex.phpが代用されます。 []

ちょっとだけテーマをいじる

no comments

先日の連休より、福岡から奥さんのお母さんと奈良から奥さんのお母さんのお姉さんが大阪に遊びに来ています。
もちろん二人のお目当てはヒカリです。
普段の土日は奥さんがゆっくりしたいので私がヒカリの面倒を見ることもあるんですが、今回はこの二人に任せられます。
そういうわけで久しぶりにたくさん時間が取れたのでWordPressのテーマをちょっといじってみました。

大きく変わったのはコンテンツの横幅です。
メインコンテンツの横幅は、以前は510pxでしたが今回から650pxへと拡げました。
微妙に狭い気がしてたので140pxほど拡大させました。
また、サイドバーも240pxから250pxへと若干拡げました。
それと、ページの下部にあったカテゴリー一覧などのコンテンツは排除して全てサイドバーに移動させました。
これまではサイドバーとページ下部に出力されるリストが丸被りだったのでコレをサイドバーのみに集約しシンプルにしました。

そして、タイトルロゴ、ナビゲーション、サイドバーの見出し、コメント欄の見出しは全てフォントを変更しました。
以前はMyriad Proだったのですが今回よりMarkSansに変更しました。
MarkSansの方が細めでシュッとした印象が出るところが気に入っています。
CSSの画像置換を使ってテキストを画像に変換しています。

その他にも細かいところをチョコチョコいじってますが眠くなってきたのでまた次回(笑)

アジカンにハマる

1 comment

最近、ASIAN KUNG-FU GENERATIONブームが来てます。
これも会社の後輩の影響。
マキシマムザホルモンに引き続きASIAN KUNG-FU GENERATIONにも引き込まれました。

ある日の帰り道。
車を運転していた後輩が「アジカンのフラッシュバックが聴きたいです。」と言いました。
私のiPodの中にはASIAN KUNG-FU GENERATIONのアルバムが全て入っていましたが普段はほとんど聴いたことがありませんでした。
しかし、後輩が突然どうしても聴きたいと言い出したので断るわけにもいかず、その「フラッシュバック」とやらを流してあげました。

イントロが流れた瞬間…

すげぇかっこいい!!

不覚にもこう思いました。
アジカンの曲ってもっと緩い感じだとばかり思っていましたからこれにはヤラレました。

ASIAN KUNG-FU GENERATIONにハマってしまいました。

最近はASIAN KUNG-FU GENERATIONのアルバムしか聴いてません(笑)
この年になっても新たな音楽の魅力を発見させてくれた後輩に感謝。

MobilePressNEO

no comments

携帯電話からの閲覧用にMobilePressというプラグインを入れていましたが、管理画面でアップグレードのお知らせが出ていたので何も考えずにポチッとやっちゃいました。
すると以前はなかった管理画面メニューが出てきましたので「おや?」と思って開いてみると英語で色々と…(ry
MobilePressって確か作者さんは日本人だったような気がしてますます「??」状態。

しばらく放置してましたが、さっき携帯からアクセスしてみると画面が真っ白…orz
これはいかん、ということでググってみたところ…

こんなエントリーを見付けました。

さらにこのエントリーを遡ってみると、

WordPressを携帯から閲覧できるようにするプラグイン「MobilePress」の更新通知が出ていたので、upgrade automaticallyをぽちっと押したら…

管理画面にMobailePressメニューが追加された。
テーマの変更や、タイトルの変更などが管理画面からできるみたいだ。

が…

あれ?なんで英語なんだろう?
作者って日本人じゃなかったっけ?MobilePressプラグインはまだ更新しちゃだめ >> 病的溺愛シンドローム

私と全く同じ現象ですね。
最初のエントリーを見てみると、WordPressの公式プラグインである「MobilePress」と名前が同じだったため管理画面に更新のお知らせが出てたみたいです。
日本人の方が作られたプラグインは新たに「MobilePressNEO」として再配布されていました。

上のエントリーで解説されているように再度プラグインを設置し直したところ、無事に携帯からのアクセスができるようになりました。

ほぼ日手帳 2009 COUSINが届いた

no comments

10月に購入したほぼ日手帳 COUSINが昨日届きました。
会社に届くようにしていたのですが、ちょうど昨日は土曜出勤の日でしたのですぐに受け取ることができました。[*1]

ほぼ日手帳2009 COUSIN01

まず第一印象は、重い。
A5判なんですが、一日ページの他に月間カレンダー、週間ダイアリーがあるのでかなり厚くなってます。
手に持つとズシッとした感触なのでこれ持ち歩くのは重いかなぁと思いましたが…すぐ慣れました(笑)

中身については、一日ページに今日の言葉がない分すっきりした印象です。
ページも大きくて広いのでほんとにたくさん書き込める感じです。
というかこれだけ広い紙面がビッシリと埋まる日はあまりないんじゃないかと使う前から若干弱気にさせてくれるくらい広いです(笑)
全体的にデザインの見直しが入ったためなんでしょうね、ほんとにすっきりとしました。

一日ページはこんな感じ。

ほぼ日手帳2009 COUSIN02

COUSINにしか入っていない週間ダイアリーです。

ほぼ日手帳2009 COUSIN03

どのページもパタンと開くので書きやすいですね。

うちの奥さんは新しい手帳を買うとまず最初に家族や友人の誕生日を書き込むそうです。
絶対に変わらない予定ですから、早く何か書きたいという欲望を埋めてくれるようです。
というわけで私も早速奥さん、ヒカリ、自分の誕生日と結婚記念日を月間カレンダーに書き込みました。
他にも12月の月間カレンダーにあるTO DOリストに「年賀状」とか「帰省の準備」とか書き込んだり(笑)

2007年は途中でやめてしまったので勿体なかったんですが、今回もそれと同じ事を繰り返さないようにしたいと思います。
ちなみに、手帳に書き込むための筆記用具なんですが、前回はラミーのサファリという万年筆を使っていました。
スケルトンボディにコンバーター入れてペリカンのブルーブラックを吸わせてました。
黒でもなければ青でもない、それがブルーブラック(笑)
これはこれで好きな色なんですが手帳用としては個人的にイケてないんです。

最近ようやく気付いたんですが、私はゲルインクのボールペンが好きなんです。
たまたま会社に書き心地のいいボールペンがあったんですが、それがZEBRASARASA2+Sでした。
黒と赤のゲルインク+シャープというボールペンです。

普通の油性ボールペンは書き出しで擦れたりインクがドバッと出たりするので好きではないんですが、ゲルインクなら油性ボールペンのようなことはほとんどないです。
また、万年筆は一本で多色なんて無理ですよね。
手帳に書き込むということを考えたらやっぱり二色以上は欲しいんですよね。
ただしシャープペンは必要ないです。[*2]
こういうことを考えていくと一本で黒・赤・青・緑のゲルインクであるサラサ4か緑がない三色のサラサ3あたりがベストチョイスになるんですけど…唯一難点なのが、ラバーグリップはバタフライストッパーに入れにくいんですよね。

そうなると同じZEBRAのシャーボXあたりが候補として入ってくるんですけどシャーペンが…ry)
まぁこの際シャーペンは使わなければいいと割り切ってもいいんですけどね。
この辺はしばらく様子見ってことで(笑)

  1. 会社に届くようにしたのは段ボールがゴミになるので家に届くのは嫌だったのと、一応今回の手帳は会社メインで使うつもりだったからです。 []
  2. シャープペンも個人的にあまり好きではないんで(笑) []

WordPress 2.7-beta1

2 comments

現在、数日前にリリースされたWordPress 2.7-beta1を入れてみてます。
本当はローカル環境などで十分検証してから本ブログに導入すべきなんですが…待ちきれずやっちゃいました(笑)
管理画面の変更が大きなものですかね。
これまでページの上部にあったメニューが左サイドに移動しています。

WordPress 2.7-beta1

プラグインの定番だったLighter Admin Drop Menusはもう使えません。
これ入れたままにしてるとサイドバーが表示されなくなって路頭に迷うことになります…私のように(笑)

しかしbeta版のせいなのかところどころまだ日本語化が完璧じゃないですね。
まぁこの辺は正式版リリース時には解消されると思いますが。

SyntaxHighlighter Plus

1 comment

ソースコードをハイライトしてくれるプラグイン「SyntaxHighlighter Plus」を入れてみました。

参考リンク
【WP】ソースコードをシンタックスハイライトする”SyntaxHighlighter Plus” | Matter Programming

以下よりサンプルなんですが、ちゃんと表示されるんでしょうか。

body, div, h1, h2, h3, h4, h5, h6, address, blockquote, p, pre, fieldset, form, ul, ol, li, dl, dt, dd {
	margin: 0;
	padding: 0;
}

address, cite, em, strong {
	font-weight: normal;
	font-style: normal;
}

fieldset, img {
	border: none;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}

ul, ol {
	list-style-type: none;
}

どうなんでしょう。

おかしいですね、うまいこと表示されてません。
WordPress 2.7-beta1には対応していないんでしょうか。
もう少し様子見ですか。

ググったら見つけました。

以上のエントリー通りにやってみたらうまくいきました。

【追記-2009.2.26-】
上の例よりもfooter.phpの</body>直前に

<?php wp_footer(); ?>

と記述した方が良いでしょう。