2009-04
wp.Vicuna のサイドバーの最新記事に投稿日を表示
- 2009-04-29 (水)
- Web
WordPress のテーマである wp.Vicuna で、サイドバーの最新記事一覧 (Recent Entries) に投稿日を表示させる。どのテーマでもいけるんですけどね。
sidebar.php の 16 行目辺り。
- 書き換え前
-
<?php wp_get_archives('type=postbypost&limit=10'); ?> - 書き換え後
-
<?php $lastposts = get_posts('numberposts=10&orderby=post_date'); foreach($lastposts as $post) : setup_postdata($post); ?> <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> (<?php the_time('Y-m-d'); ?>)</li> <?php endforeach; ?>
以上で完了。
the_date ではなく the_time であることに注意。the_date だと1ページに同一投稿日の記事があれば、その最初の記事にのみ表示
されて、後に続く記事には表示されない。
投稿日の書式を変えたい場合は the_time('Y-m-d'); の部分を書き換えると良い。その際は、 PHP の日付/時刻の書式が参考になる。あと、うちが使うとしたら <span class="date">(<?php the_time('Y-m-d'); ?>)</span> のように span で括ってやるかな。
- Comments: 0
- Trackbacks: 0
検索ロボット用 XML サイトマップを手軽に作成
- 2009-04-29 (水)
- Web
サイトマップと言っても閲覧者が見る方のではなく Google とか Yahoo! などの検索ロボット用の XML サイトマップ。それをオンラインで手軽に作れる。
英語のサービスなんですが、Starting URL んとこにサイトの URL を入力して Start ボタンを押し、あとはひたすら待つ。
XML サイトマップと同時に HTML 版のサイトマップや URL リストも作成してくれる。お手軽便利。ただし、HTML 版サイトマップはなぜか文字コードがおかしく指定されているので、もしもそれを使うなら文字コードを UTF-8 に書き換え OR 切り替えしてやる必要がある。閲覧者向けサイトマップはローカルで動くツールを使って作った方がいいかもですね。
で、まあ、出来上がった sitemap.xml はてきとうなとこにアップロードしてやって Google ウェブマスターツールとかで指定してやる。robots.txt にも下記のように記述してやるといいみたい。
- robots.txt の記述
-
Sitemap: http://hoge/sitemap.xml
いやあ、Google ウェブマスターツールはインデックスされてるページとかエラーが出てる箇所とかわかるから便利っすね。
- Comments: 0
- Trackbacks: 0
wp.Vicuna のサイドバーのカテゴリーとアーカイブに記事数を表示
- 2009-04-28 (火)
- Web
ここの WordPress では wp.Vicuna を使わせてもらってますが、サイドバーのカテゴリーと月毎アーカイブの項目に記事数を表示するように書き換えてみた。
カテゴリー一覧 (Categories)
カテゴリー一覧のとこでは現在非推奨のテンプレートタグが使われているようなのでそれもかねて修正。sidebar.php の 22 行目辺りにある下記の部分。
- 書き換え前
-
<?php wp_list_cats ('sort_column=name&optioncount=0&hierarchical=1'); ?> - 書き換え後
-
<?php wp_list_categories('show_count=1&title_li='); ?>
アーカイブ一覧 (Archives)
sidebar.php の 29 行目辺り。
- 書き換え前
-
<?php vicuna_archives_link(); ?> - 書き換え後
-
<?php wp_get_archives('type=monthly&show_post_count=1'); ?>
以上で完了。
記事数のとこ、<span class="count">(17)</span> のように span で括ってくれると有り難かったりすんだよなあ。
- Comments: 0
- Trackbacks: 1
フッターの著作権 (Copyright) 表記
- 2009-04-28 (火)
- Web
いろいろなサイトを見ているとフッターの著作権表記ってほんとに様々。
Copyright © 2009 Hoge. All Rights Reserved. といった感じで書かれてるとこが多いかな。でも SONY のサイトのように Copyright 2009 Sony Corporation
といった感じで簡潔なとこもある。長ったらしいのもなんだし、Copyright と期間と所有者の3つに絞り、必要最低限の記述をすることにした。
Copyright ©
まずは Copyright の記述。SONY のサイトでは Copyright と記述されているけど、略式記号の © (© と記述) を使うことにする。閲覧環境によっては © が表示されない場合があるかもしれないのでとりあえず abbr で括って <abbr title="Copyright">©</abbr> とし、© が略語であることを明示してやってお茶を濁す。
期間
続いて、期間については PHP で今現在が何年かを取得してやることで年が変わるごとに書き換えなきゃいけない面倒を削減する。
著作権の所有者
最後の著作権の所有者に関しては個人名とか企業名が妥当なのだろうけどとりあえず今はドメイン名にしておく。
まとめると
- サンプルソース
-
<?php // 初公開の年 (要書き換え) $since_year = '2002'; // 現在の日付(年)を取得 $this_year = date("Y"); if ($since_year >= $this_year ) { $copyright_year = $this_year; } else { $copyright_year = $since_year. '-'. $this_year; } ?> <abbr title="Copyright">©</abbr> <?php echo $copyright_year; ?> szdy.info - $since_year を 2002 として、今現在が 2009 年の場合の実行結果
- © 2002-2009 szdy.info
全ページが PHP であることが前提だけど、こいつを個別のファイルとして保存し全ページで include してやると幸せになれる。
- Comments: 0
- Trackbacks: 1
PHP を使って IE 6 以外の UA では XML 宣言をする
- 2009-04-28 (火)
- Web
XML 宣言をすると IE 6 では CSS のボックスの解釈とかおかしくなっちゃうんで、PHP を使って IE 6 では XML 宣言をしないようにし、それ以外の UA では XML 宣言させるようにする。
- XML 宣言部分のソースコード
-
<?php $ua = $_SERVER['HTTP_USER_AGENT']; if (!(ereg("Windows",$ua) && ereg("MSIE 6",$ua))) { echo '<?xml version="1.0" encoding="UTF-8"?>' . "n"; } ?>
- Comments: 0
- Trackbacks: 1
Seesaa BLOG から引っ越し
- 2009-04-26 (日)
- Information
Seesaa ブログの旧べたろぐ。からこの WordPress にログを移しました。
- Comments: 0
- Trackbacks: 0
404 not found – error.cgi
- 2009-04-20 (月)
- Web
とりあえずエラーページを用意してみました。いわゆる 404 Not Found とかいうアレです。
なぜって?ディレクトリ内の丸見えを防ぎたかったんです
使っているサーバはさくらインターネットのレンタルサーバ スタンダードプランで、さくらは .htaccess で設定をいぢることはできるんですが、Options が使えない。なのでインデックスファイルが存在しないディレクトリを開いた時に中身が丸見えになるのを防ぐには、Options を使わずに違うアプローチが必要になる。公式サポートのひみつのフォルダにあるファイルの一覧を見られないようにしたいというページでは DirectoryIndex を使ってインデックスファイルの設定の最後にエラーページを指定して、インデックスファイルが存在しない場合はエラーページに飛ばす方法が書かれていました。まあ、この方法を使うことにしたわけですが、ただエラーページを用意しただけじゃつまらないので色々と細工をしてみました。
めんどくさいことは Perl に投げちゃお
細工と言っても単純で、エラーコード 404 だけでなく 403 や 500 にも対応できるように、エラーページを Perl スクリプトにして動的に出力してやることにしました。
ステータスコードは検索ロボットたちに優しいんです
Perl スクリプトにすることでステータスコードをきちんと返すことができるようになる。きちんとステータスコードを出力することによって、エラーを、人にだけでなく Google や Yahoo などの検索ロボットにも伝えることができるので、結果的に検索から訪れる人に対してのエラーを減らすことができる。
真っすぐな視線には弱いんです
なお、当初の目的である、インデックスファイルがない時に error.cgi へ飛ばした場合ですが、error.cgi へ直接アクセスされることになります。なので、直接 error.cgi へアクセスがあった時はエラー 404 を返し、ファイルは存在しませんよと偽装することにしました。
- error.cgi の大まかなサンプルコード
-
my $error_code = $ENV{REDIRECT_STATUS}; # エラー 500 (Internal server error) の場合 if ( $error_code eq "500" ){ # エラー 404 (File not found) の場合 } elsif ( $error_code eq "404" ){ # エラー 403 (Permission denied) の場合 } elsif ( $error_code eq "403" ){ # error.cgi への直接リンクの場合 } else { # 404 を偽装しステータスコードも 404 を返す print "Status: 404 Not Found\n"; }
- .htaccess の中の関連する項目
-
#----------------------------------------------- # インデックスファイル DirectoryIndex index.cgi index.php index.xhtml index.shtml index.html /error/error.cgi #-------------------------------------------------- # エラー400 (Bad Syntax) リクエストの方法が違います # エラー401 (Authorization Required) 認証に失敗しました # エラー403 (Permission denied) アクセス権限がありません # エラー404 (File not found) 該当するページが見つかりません # エラー500 (Internal server error) 内部サーバーエラー(主にCGIなどの誤り) #ErrorDocument 400 /error/400.php #ErrorDocument 401 /error/401.php ErrorDocument 403 /error/error.cgi ErrorDocument 404 /error/error.cgi ErrorDocument 500 /error/error.cgi
- error.cgi の実行結果例
エラーページ作成にあたって 68user’s page 内の error.cgi を参考にしました。
- Comments: 0
- Trackbacks: 0
Final Fantasy 7 Advent Children Complete
- 2009-04-20 (月)
- Movie
いやあ、見ましたよ。タイトルのやつ。
ブルーレイってすごいわあ。CG なのか実写なのかわからない。それは CG 技術のすごさもあるんでしょうけど本当に綺麗。テレビのアナログ放送の解像度は 720×480。DVD も同じ。で、地上デジタル放送やブルーレイといった、いわゆるハイビジョンと呼ばれるものの解像度は 1366×768 〜 1920×1080。画素数にするとなんと 3 倍〜 6 倍も違う。画面に映し出される情報量が全然違うってことで。DVD よりも地上デジタル放送で映画なんか観る方が綺麗なんよね。
FINAL FANTASY VII ADVENT CHILDREN COMPLETE 【通常版】 [Blu-ray]
販売元:ソニー・ピクチャーズエンタテインメント( 2009-04-16 )
定価:¥ 4,900 ( 中古価格 ¥ 3,000 より )
Amazon価格:¥ 3,500
時間:130 分
1 枚組 ( Blu-ray )
- Comments: 0
- Trackbacks: 0
- Search
- Feeds
- Meta

























