プラグインなしでの人気記事の表示方法
-
こんにちは。
現在、ブログを構築しており、その際に、プラグインなしで閲覧数の順で人気記事を
表示させたいと思い、
下記をfunctions.phpに//アクセス数の取得
function get_post_views( $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 views”;
}return $count . ”;
}//アクセス数の保存
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_key, $count );
}
}single.phpに、
<?php
$args = array(
‘post_type’ => ‘column’, //投稿タイプ
‘numberposts’ => 4, //表示数
‘meta_key’ => ‘post_views_count’,
‘orderby’ => ‘meta_value_num’,
‘order’ => ‘DESC’,
);
$posts = get_posts( $args );
if($posts) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<div class=”sub”></div>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?><?php else : ?>
<?php endif; ?>のように記述しました。
記事を最初に投稿した際は、記事の閲覧数が0のため、上記の部分が空欄になってしまいます。
閲覧数が0の場合でも、投稿された記事を表示したいのですが、どうしたらよいでしょうか。
- トピック「プラグインなしでの人気記事の表示方法」には新たに返信することはできません。