kamenokoki.com

【129日目】人気記事へのリンクを作成したい-5

Posted:  Last Update:

数日前から「人気記事へのリンクをトップページなどに追加する」という課題に挑戦しています。昨日はトップページに人気記事を追加できたので、今日はサイドバーに人気記事のリンクを入れていきたいと思います!

昨日までの成果

まずはアクセス数を記録したファイルから、URLとアクセス数を取り出し、アクセス数順に並び替えるPHPを書きました。

<?php
$str = file("$mypath/top/access.txt");
foreach($str as $value){
$devide = strpos($value, " ");
$length = strlen($value);
$url = substr($value, 0, $devide);
$count = str_replace(" count:", "", substr($value, $devide, $length));
$link[] = [intval($count), $url];
}
arsort($link);
?>

そのPHPをもとに、昨日は「人気記事」へのリンクをトップページに入れることができました。画像でみるとこんな感じです。一番アクセス数がある記事が最新の記事なので、ちょっと分かりにくいですが、「新着」とは2つ目以降が違うことが分かります。

画像入りのリンクを作成する

今日はサイドバーにリンクを入れたい

今日は、PC画面だと画面右の、スマホ画面だと画面下に配置されているナビゲーションバーに人気記事へのリンクを入れていきます。ほぼ使いまわしなので、早速作業してみましょう!

はい、入りました!(10分ほどかかりました)

今日はサイドバーにリンクを入れたい

PHPはこんな感じで書いています。既にあるPHPを使いまわしたので、意外と簡単でした。

<?php
$str = file("$mypath/top/access.txt");
foreach($str as $value){
$devide = strpos($value, " ");
$length = strlen($value);
$url = substr($value, 0, $devide);
$count = str_replace(" count:", "", substr($value, $devide, $length));
$link[] = [intval($count), $url];
}
?>


<h3>人気記事</h3>
<?php
$i = 1;
foreach($link as $value){
$str = str_replace('article', 'articles', $value[1]);
$str = "$mypath/$str.txt";
$date = new datetime(str_replace('/article/', '', $value[1]));
if (is_file($str)) {
require($str);
echo '<a href="', $myurl."/".$value[1] , '"><div class="asidelinkbox"><span>', $date->format('Y.m.d') ,'</span><p>',$articletitle, '</p></div></a>'."\n";
$i++;
}
if($i>3){break;}
}
?>

リンクを入れる場所の調整

なんだか記事の写真ばかり並んでいるので、ちょっと場所を調整してみます。最新の記事を最上部に残したまま、新着は記事の所に移動しましょう。

こんな感じになりました。

リンクを入れる場所の調整

今日はここまで

ここで時間が来てしまいました!今日はここまでにしたいと思います。

明日もう一度冷静な目でデザインを見てから、本番環境に移します。本番環境に置いたら、この作業も終わりです!

そういえば、開発記事もちゃんと書いているんですよ~。遅々としてすすみませんが…。最近姉妹サイトでやっている漢検1級の勉強に忙しすぎて、なかなか記事を書く時間が取れません…。

ぼちぼち書いていますので、1週刊以内にはあげたいです。では、また明日!

記事をシェアする

亀の子に連絡

ランキング参加中!ぽちっとしてね

F2cランキングアイコン 人気ブログランキング ブログランキング・にほんブログ村へ

広告