人気記事一覧を表示したいだけなのに・・・
プラグインでは細かいカスタムが出来ずに困りました。
こまったポイント
カテゴリ名とスラッグを取得・表示したい。
取得したスラッグはクラス名として利用したい。
自分の知識不足だったかもしれませんが、プラグインではスラッグの取得表示ができなかった。
やったこと
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';
}
/*アクセス数を保存*/
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);
人気記事一覧を表示したい場所に追加。
<div class="popular_wrap">
<ul class="popular_list">
<?php
// views post metaで記事のPV情報を取得する
setPostViews(get_the_ID());
// ループ開始
query_posts('meta_key=post_views_count&orderby=meta_value_num&posts_per_page=5&order=DESC'); while(have_posts()) : the_post(); ?>
<li class="popular_list_item">
<a href="<?php the_permalink(); ?>">
<div class="blog_img">
<?php the_post_thumbnail('medium'); ?>
<?php
$cat = get_the_category();
$cat = $cat[ 0 ]; {
echo '<span class="blog_cat ' . $cat->category_nicename . '">';
}
?>
<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?>
</span>
</div>
<p class="title"><?php echo wp_trim_words(get_the_title(), 48, "…", "UTF-8"); ?></p>
<p class="post_date"><?php the_date(); ?></p>
</a>
</li>
<?php endwhile; ?>
</ul>
</div>