wordpressナビ改善

まもなく100投稿目を迎える我がブログ。100投稿目は何がいいかなあ、とかぼんやり考えてみたりする。2009年を振り返ると、19投稿から70投稿が追加され、89投稿まで増えた。内容の良し悪しはともかく、日次の訪問ユニークユーザー数及びページビューも4倍に膨れ上がった。投稿が4倍近くになったためだろうか。規模に合わなくなった機能を諸々修正する。まずタイトルを見直していく。カレンダーやアーカイブで表示した際のタイトルなどを以下のように修正(※”>>”という表示も削除)。

<title>
<?php
if(is_year()):
    echo get_the_time('Y年');
elseif(is_month()):
    echo get_the_time('Y年m月');
elseif(is_date()):
    echo get_the_time('Y年m月d日');
else:
    wp_title('');
endif;
if(wp_title('', false))echo ' - '; bloginfo('name');
?>
</title>

次に主要な箇所の英語表記部分をコツコツと和訳していった。RSSの表示も『WP Multibyte Patch』というプラグインを利用して抜粋表示に変更。そして、投稿ごとに表示されているadsenseを最初の1記事目のみ表示されるように修正し、サイドバーにもスカイスクレイパー型のadsenseを追加する。広告収入もPVに比例していないので、ちょっとテコ入れしてみた。1記事目だけにする制御は以下のようなコード。

<?php $ad_flg=true;
while (have_posts()) : the_post(); ?>
    <div id="post-<?php the_ID(); ?>">
        :
    記事内容の表示処理
        :
    </div>
    <div align="center">
        <?php if($ad_flg): adsense_deluxe_ads(); $ad_flg=false; endif; ?>
    </div><p/>
<?php endwhile; ?>

最後にナビゲーションの改善に取り組む。何と言っても、まともな投稿ナビが『最近の投稿』のみでカテゴリやタグをクリック時に選択された記事の索引がないのが痛い。数十の記事であればページングしてスクロールしていけば記事を見つけ出せるかもしれないが、100投稿近くになると非常にだるい。そこで、これについてもサイドバーに表示中の記事が一覧できるようなスペースを設ける事にした。カテゴリを選んだ場合は該当カテゴリに所属する記事一覧、タグを選んだ場合も同様である。日付や月単位のアーカイブを選択した場合もそれに対応する。

また、少しだけ設定を捻って1記事しか表示されない場合は、その記事が所属するカテゴリの記事一覧を表示。更に日付で記事を表示する場合も、うちのサイトは必ず1記事になるので同様に処理する事にした。この対応によって、興味のある記事に関連する記事タイトルを一望出来るようになったので、はるかに使い易くなったはず。少しはユーザーの滞在時間に効果があればいいなあ。複数カテゴリに所属するケースなどの課題は残っているが実装コードは以下である。

<ul>
<li><div id="recent-posts-2" class="widget widget_recent_entries">
    <h1>表示中の投稿</h1><ul>
<?php if (is_single() || is_day())
    foreach ((get_the_category()) as $cat)
        query_posts('showposts=20&cat='.$cat->cat_ID); endforeach; ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink() ?>"
        title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; else: ?>
    <p><?php _e('該当する記事はありません。'); ?></p>
<?php endif; ?>
</ul>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)