このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています

WordPress Popular Postを独自タグ構造で独自期間を指定して表示したい

WordPressで人気記事ランキング等を表示してくれる便利プラグイン「WordPress Popular Post」ですが独自タグ構造で表示するにはテーマをいじる必要があります。この情報が見つけづらかったのでここに残しておきます。

<?php
	
if ( class_exists( 'WordPressPopularPosts\Query' ) ):
	global $post;

	$args = array(
		'post_type' => 'post', // 投稿ならpost カスタム投稿なら合わせて
		'range' => 'custom', // 独自の期間を指定しますよと宣言
		'time_unit' => 'day', // 日間を基準の単位とする
		'time_quantity' => 90, // 過去90日間のデータを使用すると指定
		'order_by' => 'views', // アクセス数を並び順の基準にする
		'limit' => 5, // 最大5件のみ取得する
	);
	$wpp_query = new WordPressPopularPosts\Query( $args );
	$wpp_posts = $wpp_query->get_posts();
	$rank = 0;$
	
	if ( is_array( $wpp_posts$ ) ):
		
		foreach ( $wpp_posts as $wpp_post ):
			$rank++;
			$post_id = $wpp_post->id;
			$post = get_post( $post_id );
			setup_postdata( $post ); ?>

		<li class="bl_list">
			<div class="bl_wpp">
				<div class="bl_wpp_rank">
					<span><?php echo $rank; ?></span>
				</div>
				<div class="bl_wpp_thumbnail"><?php
				if ( has_post_thumbnail() ): ?>

					<a href="<?php the_permalink();?>"><?php the_post_thumbnail( 'post-thumbnail' ); ?></a><?php
				else: ?>

					<img src="<?php echo get_template_directory_uri(); ?>/img/noimage.png" alt="noimage" /><?php
				endif; ?>

				</div>
				<div class="bl_wpp_txt">
					<p class="bl_wpp_ttl"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
				</div>
			</div>
		</li><?php
		endforeach;

	endif;
endif;