プラグインを入れる
ランキングを作るには「WordPress Popular Posts」を使う。
プラグインを入れた後に、通常の場合はショートコードで表示させる。
その場合、フォーマットタグで出力されるので調整はできない。
range=”期間”で時期を調整。
//期間は”daily”, “weekly”, “monthly”, “all”,”last30days”,”last7days”が使用できることを確認
[wpp range=’last30days’ order_by=’views’ limit=’5′ stats_date=’1′ stats_date_format’=’Y年n月j日’]
独自のタグでランキング出力
独自のタグでランキング情報を出力するには、function.phpに出力タグを登録、テンプレート呼び出しの手順になる。
function.php
//function.phpに記載する //プラグインに登録されているwpp_custom_htmlの関数を使用 function my_wpp_custom_html( $mostpopular, $instance ){ $output .= '<div class="mpw">'; foreach( $mostpopular as $popular ){ // リンクを取得 // タイトル・アイキャッチ画像・ページビュー数を取得 $output .= '<p><a href="' . get_the_permalink( $popular->id ) . '">'. get_the_post_thumbnail( $popular->id, 'thumbnail' ) .'</a></p>'; $output .= '<p>'. $category .'</p>'; $output .= '<p>'. wp_list_categories( $popular->id, 'post_tag' ) .'</p>'; $output .= '<p>' . esc_html( $popular->title ) . '</p>'. '<p>' . esc_html( $popular->pageviews ) . 'views</p>'; // フィールド名「info-field」のカスタムフィールドの値を取得 $custom_fields = get_post_meta( $popular->id, 'info-field', true ); if($custom_fields) { $output .= '<div>' . esc_html( $custom_fields ) . '</div>'; } } $output .= '</div>'; return $output; } add_filter( 'wpp_custom_html', 'my_wpp_custom_html', 10, 2 );
表示したいファイルに書く
//表示したい部分に記載 <?php if ( function_exists( 'wpp_get_mostpopular' )) { $arg = array ( // 記事を表示する最大件数 'limit' => 10, // 集計期間。 daily, weekly, monthly, all のいずれかを指定 'range' => 'all', // ソート順の対象。 views(閲覧数), comments(コメント数), avg(1日の平均)のいずれかを指定 'order_by' => 'views', // ポストタイプを指定。post, page, などを指定 'post_type' => 'post', ); wpp_get_mostpopular( $arg ); } ?>