WordPressのアーカイブページのアドレス(URL)表記を変更しました。今のところ動いています。

ちわーす。
dateを入れました、かっぱふぅ@kappafoo )です。

今日は、WordPressで作っているこのブログのアーカイブのアドレス(URL)を変更したことを記事にします。(自分への備忘録です。)



このブログのパーマリンク設定は、カスタム構造で

「http://kappafoo.com/%year%/%monthnum%/%day%/%post_id%」

としており、個別記事のアドレス(URL)が

「http://kappafoo.com/年/月/日/投稿ID」

の形で表記するようにしています。

そこら辺の経緯については、当時の記事を見てください。
 ⇒ 404ページをカスタマイズ!サイト来訪者に失礼が無いようにしよう。

このパーマリンク設定にしたときのアーカイブページのアドレスは、例えば今日(2013年5月25日)であれば、

年別のアーカイブアドレス・・・http://kappafoo.com/2013/
月別のアーカイブアドレス・・・http://kappafoo.com/2013/05/
日別のアーカイブアドレス・・・http://kappafoo.com/2013/05/25/

となります。
個別記事のアドレスが、

個別記事のアドレス・・・http://kappafoo.com/2013/05/25/3952

であるので、ぱっと見たところアーカイブページなのか個別記事なのかが非常にわかりづらいです。

そこで、アーカイブページのアドレスを

「http://kappafoo.com/年/」 ⇒ 「http://kappafoo.com/date/年/」
「http://kappafoo.com/年/月/」 ⇒ 「http://kappafoo.com/date/年/月/」
「http://kappafoo.com/年/月/日/」 ⇒ 「http://kappafoo.com/date/年/月/日/」

に変えようと考えました。

ネットで調べると...あるもんですね。

labocho(@labocho)さんの「情報と音楽」のブログの記事「WordPressのURLをhackする」の中に、そのやり方が載ってました。

WordPressのURLをhackする – 情報と音楽

はっきり言って、あまり良くは理解してません...詳細はlabochoさんの記事をよく読んでください。

私が行ったことは...

1. Internal Rewrite Viewer というプラグインを導入、URL書き換えルールを確認した。(インストール→有効化→「設定」-「パーマリンク設定」-「変更を保存」→(ブログURL)/rewritesでアクセスできる)

2.次のようなfunctionを記述した。(URL吐き出し用)
[php]
function add_date_base($rewrite_rules){
$r = array();
while(list ($key, $val) = each($rewrite_rules)) {
$r[str_replace(‘([0-9]{4})’, ‘date/([0-9]{4})’, $key)] = $val;
}
return $r;
}
add_filter(‘date_rewrite_rules’, ‘add_date_base’);
[/php]

3.もうひとつ、次のようなfunctionを記述した。(URL受け取り用)
[php]
function add_date_base_link($string){
$string = str_replace(‘kappafoo.com/’, ‘kappafoo.com/date/’, $string);
return $string;
}
add_filter(‘year_link’, ‘add_date_base_link’);
add_filter(‘month_link’, ‘add_date_base_link’);
add_filter(‘day_link’, ‘add_date_base_link’);
[/php]

4.これをpluginの形にして、インストールした。

5.管理者ページから「設定」-「パーマリンク設定」-「変更を保存」を行い、URL書き換えルールを再作成した。

6. Internal Rewrite Viewer でURL書き換えルールを確認した。

7.動作の確認を行った。

結果、URL書き換えのルールについては...(抜粋)
[php]Array
(
[date/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$] => index.php?year=$1&monthnum=$2&day=$3
[date/([0-9]{4})/([0-9]{1,2})/?$] => index.php?year=$1&monthnum=$2
[date/([0-9]{4})/?$] => index.php?year=$1
)[/php]
が新たにできていました。

今のところ、動きも悪くありません。

ただ、URL書き換えのルールを見ると、
[php]Array
(
[([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$] => index.php?year=$1&monthnum=$2&day=$3
[([0-9]{4})/([0-9]{1,2})/?$] => index.php?year=$1&monthnum=$2
[([0-9]{4})/?$] => index.php?year=$1
)[/php]
も、まだあるんですよね...なので、「http://kappafoo.com/年/月/日/」の形でもアーカイブベージに行くようです。

とりあえず、動くのでO.K.ということにしています。

さあ次は、Webフォントの記事を作らないとなぁ。

この記事が参考になったら、シェアしてください

 

 

関連記事も見てください

sidecarWordPressでサイドバーのウィジェットを使用しないようにカスタマイズしました。 (2012.10.13)
【WordPress】GoogleAnalyticsで自分のアクセスをカウントしないためにするべきこと。 (2013.07.01)
コードの表示をSyntaxHighlighter EvolvedからCrayon Syntax Highlighterに変更しました。 (2013.07.12)
404WordPressのパーマリンク設定を途中で変更したその後... (2012.10.18)
404ページをカスタマイズ!サイト来訪者に失礼が無いようにしよう。 (2012.10.04)

RSSの登録で最新記事をお届けします

フォローしてもらえると嬉しいです

F

コメントをどうぞ

メールアドレス (必須・公開されません)
コメント本文

  • スパム・迷惑コメント投稿防止のため、メールアドレスの入力が必須ですが、公開はされません。何卒ご協力のほどお願いいたします。
  • 投稿いただいたコメントは管理者のチェック後掲載しておりますので、即時には反映されません。

▲Pagetop