【84日目】動きが重い日記のアーカイブを軽くしたい!-6
Posted: Last Update:
日記をアーカイブ形式に変更しようと格闘し始めて計6日目になりました。日記のアーカイブページとリンクを作り終わり、昨日からはアーカイブページに前月と翌月のリンクを入れようと頑張っています。
昨日までの成果と今日の作業
昨日は、PHPを途中まで作りました。$oldestで一番古い月、$todayで最新の月を一度保存。「$archive」は当月です。その後に次月と先月の計算をしています。
$today = date("Ymd");
$date = new datetime($archive);
$date->sub(new DateInterval('P0Y1M0D'));
$lastmonth = $date;
$date = new datetime($archive);
$date->add(new DateInterval('P0Y1M0D'));
$nextmonth = $date;
今日は、まず存在しないページへのリンクは作らない計算式を入れ、さらにリンクも作成していきたいと思います。
存在しないページへのリンクを作らないでおく
PHPのif分を使ってみました。前の月は$oldestより古ければ設定しないようにしました。また、翌月は今日の日付より大きいようなら設定しません。
こちらがPHP。
$today = date("Ymd");
$date = new datetime($archive);
$date->sub(new DateInterval('P0Y1M0D'));
if($date>=$oldest){
$lastmonth = $date;
$lastmonth2 = $lastmonth->format('Ym');
}
$date = new datetime($archive);
$date->add(new DateInterval('P0Y1M0D'));
if($date<=$today){
$nextmonth = $date;
$nextmonth2 = $nextmonth->format('Ym');
}
前月、次月のリンク作成
次に、リンクを入れていきます。PHPの「isset」を使ってみました。前月、次月が設定されている場合だけ書き出しをします。PHPがこんな感じです!
<h3>'.substr($archive,0,4).'年'.substr($archive,4,2).'月の日記</h3>
<div id="mainprepostlink">
<div id="mainprelink">';
if (isset($lastmonth)){
echo '<a href=', "$myurl/$urlfolder/welcome?archive=$lastmonth2", '>←前月 ',$lastmonth->format('Y年m月'),'</a>';
}
echo '</div>
<div id="mainpostlink">';
if (isset($nextmonth)){
echo '<a href=', "$myurl/$urlfolder/welcome?archive=$nextmonth2", '>',$nextmonth->format('Y年m月'), ' 次月→</a>';
}
echo '</div>
</div>';
完成!と思いきや…
完成!と思って試験をしていたら…。10月のアーカイブを開いても、前月が10月になってる??
おかしいですね…。「$date = new datetime($archive);」で$archiveの日付を$dateに格納しているつもりが、うまくいっていないようです。$dateが今日の日付になってしまっています…。どうしてなんだろう?
ついでに10月1日のイメージ画像の設定がおかしいことに気付いてしまった…。
今日はここまで
なんかエラーのまま、時間が来てしまいました…。今日はここまでです!
明日は「$date = new datetime($archive);」がどうして今日の日付になってしまうのか、確認して対処していきたいと思います!
おまけのロードマップ
サイト作成がどのくらい進んでいるかロードマップで進捗を確認すると、ここまで進んでいます。
- 準備 - サイトの全体像を決める
- 使用するプログラミング言語を決めて環境を整える
- サイトの基本構造を作って公開する
- 収益化に最適なサイトにアップグレードする
- GoogleアドセンスとAmazonアソシエイトの申し込みをする ←完了!
- ローカルで簡単に入力ができるようにフォームを作る
- フォローアップ - より収益化に向いたサイト構造に変更する
