プログラミング

WordPressで人気記事一覧を出力する【プラグインなし】

最近ブログのトップページをいじる機会が増えました
その中で人気記事を実装したかったので試してみました

人気記事を作成するのに「WordPress Popular Posts」
というプラグインを使うのが主流らしいですが
なぜか使えないのでソースにPHPを書き込みました(-_-;)

見た目はこんな感じにしました!

今回参考にした記事はmanablogさんです

人気記事を作るのに必要な関数と
人気記事を載せるのに必要なコーディング部分を
簡単に紹介していきたいと思います

 

 

人気記事用の関数を作成

まずfunctions.phpを編集します
※必ずバックアップしておきましょう!
メモ帳にコピるなどしてもOK☆

ちなみにテーマはAffingerです
他のテーマの方はあまり参考にならないかも

WordPress管理画面の
外観>テーマエディターから直接編集しました

 

右のサイドバーからfunctions.phpを選択

 

ソースは下記の通り...

// 人気記事出力用関数

function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, '0');
            return "0 View";
    }
    return $count.' Views';
}
// 記事viewカウント用関数
function setPostViews($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_key, $count);
    }
}
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);


ここでは人気記事出力用の関数と
閲覧数をカウントする関数を作ってます

次のステップで人気記事を出力するために
材料を作っている感じです

最後にファイルの更新ボタンを押しましょう
忘れないように!!

 

人気記事を出力

次に出力したいところに貼り付けます!
トップページが多いと思いますね
自分はsidebar.phpに直接追加しました笑

<?php
    // views post metaで記事のPV情報を取得する
    setPostViews(get_the_ID());


    $args = array(
        'meta_key' => 'post_views_count', //記事の閲覧数取得
        'orderby' => 'meta_value_num', //閲覧数順に並び替え
        'order' => 'DESC', //降順(昇順にしたい場合は’ASC’)
        'posts_per_page' => 5 // ← 5件取得
    );


    // WP_Queryによるループ
    $query = new WP_Query($args);
    if ($query->have_posts()) :
        while ($query->have_posts()) :
            $query->the_post();
?>

            <!-- サムネイルの表示 タイトルの表示 -->
            <div>
                <a href="<?php the_permalink(); ?>">
                    <?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'post-thumbnail'); } ?>
                <p>
                    <?php the_title(); ?>
                </p>
                <?php echo getPostViews(get_the_ID()); // 記事閲覧回数表示 ?>
            </div>

<?php
        endwhile;
    endif;
    wp_reset_postdata();
?>

 

やっぱり人気記事をカウントできると
PV数に影響してきます!!

またプラグインを増やすと
処理が重くなるのでSEO的には
なるべく追加したくないところ!

というわけで以上です🔥

-プログラミング
-,

© 2024 ワンアップ!!