
この記事では、プラグインを使用せずに、WordPressで人気記事を一覧表示する方法について詳しく解説します。
WordPressで人気記事を表示するメリット
人気記事を表示することには多くのメリットがあります。
ここでは、その主な理由をいくつか紹介します。
ユーザーエンゲージメントの向上
人気記事を表示することで、ユーザーが興味を持ちやすいコンテンツにアクセスしやすくなり、サイト滞在時間が増加します。
例えば、訪問者が過去に人気があった記事に再度アクセスすることで、新たな発見があるかもしれません。
サイト内回遊率の向上
ユーザーがサイト内を回遊しやすくなるため、複数の記事を読むことが期待できます。
これにより、サイト全体の閲覧数が増加し、SEO効果も期待できます。
SEO評価の向上
人気記事を表示することで、検索エンジンに対しても好影響を与えることができます。
検索エンジンは、ユーザーが多く閲覧する記事を高く評価する傾向があるため、結果としてサイト全体の評価が上がる可能性があります。
人気記事を手動で表示する方法
プラグインを使用せずに人気記事を表示する方法について解説します。
手動で設定することで、細かいカスタマイズが可能です。
記事一覧の作成
まずは、人気記事を手動で選び、リストを作成します。
これは、過去のアクセス解析データを元に行うことが一般的です。
例えば、Google Analyticsを使用して人気記事を特定する方法があります。
サイドバーへの設置
作成した記事一覧をサイドバーに表示するために、ウィジェットを使用します。
WordPressの「外観」→「ウィジェット」から「カスタムHTML」ウィジェットを選び、先ほど作成したリストをHTML形式で入力します。
<ul>
<li><a href="記事URL1">記事タイトル1</a></li>
<li><a href="記事URL2">記事タイトル2</a></li>
<li><a href="記事URL3">記事タイトル3</a></li>
</ul>
カスタムHTMLの利用
サイドバー以外にも、記事本文やフッターなど任意の場所にカスタムHTMLを利用して人気記事を表示できます。これにより、ユーザーの目に留まりやすい場所に人気記事を配置することが可能です。
コードを使って人気記事を表示する方法
プラグインを使わずに、コードを使って動的に人気記事を表示する方法について解説します。
これにより、管理の手間を減らし、自動的に人気記事が更新される仕組みを作ることができます。
ステップ1:ビュー数を記録するカスタムフィールドの作成
まず、各記事のビュー数を記録するためにカスタムフィールド post_views_count
を作成します。以下のコードを functions.php
に追加します。
<?php
// ビュー数を記録する関数
function set_post_views($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if ($count == '') {
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
} else {
$count++;
update_post_meta($postID, $count);
}
}
// ビュー数をカウントするためのフック
function track_post_views($post_id) {
if (!is_single()) return;
if (empty($post_id)) {
global $post;
$post_id = $post->ID;
}
set_post_views($post_id);
}
add_action('wp_head', 'track_post_views');
// 既存のリンクリレーションを削除(パフォーマンス向上のため)
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
?>
このコードは、記事が表示されるたびに post_views_count
カウントを増加させます。
ステップ2:人気記事の取得と表示
次に、ビュー数に基づいて人気記事を取得し、表示するためのコードを functions.php
に追加します。
<?php
function get_popular_posts() {
$args = array(
'posts_per_page' => 5, // 表示する記事数
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC',
);
$popular_posts = new WP_Query($args);
if ($popular_posts->have_posts()) {
echo '<ul>';
while ($popular_posts->have_posts()) {
$popular_posts->the_post();
echo '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
}
?>
このコードは、カスタムフィールド post_views_count
に基づいて人気記事を取得し、表示するためのものです。
ステップ3:ショートコードの作成
最後に、ショートコードを作成して、任意の場所に人気記事を表示できるようにします。
<?php
function popular_posts_shortcode() {
ob_start();
get_popular_posts();
return ob_get_clean();
}
add_shortcode('popular_posts', 'popular_posts_shortcode');
?>
これにより、記事本文に [popular_posts]
と記載するだけで人気記事を表示することが可能になります。
または、特定テーマファイル内に固定で人気記事を表示させたい場合には、 <?php get_popular_posts(); ?>
を挿入します。
例えば、サイドバーに表示したい場合は sidebar.php
に、フッターに表示したい場合は footer.php
に追加します。
人気記事表示に役立つプラグイン
プラグインを使用することで、さらに簡単に人気記事を表示することができます。
ここでは、特におすすめのプラグインを2つ紹介します。
WordPress Popular Posts
このプラグインは、非常にカスタマイズ性が高く、人気記事を簡単に表示できるのが特徴です。
表示スタイルや期間を細かく設定できるため、自分のサイトに最適な表示方法を選択できます。
Top 10
Top 10は、訪問者数をカウントし、最も多くの訪問者があった記事を表示するプラグインです。
簡単な設定で人気記事をサイドバーや記事内に表示することができ、カスタマイズも豊富です。
まとめ



プラグインを使用せずに手動で設定する方法から、PHPコードを利用した自動化まで、さまざまな方法を紹介しました。
自分のサイトに最適な方法を選び、効果的に人気記事を表示してみてください。