WordPress Popular Postsをカスタマイズ

Pocket

WordPress Popular Postsは便利だが、もっと色々したいときに。

  1. WordPress Popular Postsを入れ、有効化する
  2. 設定→WordPress Popular PostsのParametersタブを見て、使うパラメータを探す
  3. 例に倣ってqueryを生成する
  4. queryの、SQL分を取るために、プラグインの wordpress-popular-posts.php を編集する。line 1768あたりの
    $this->__debug( $query );

    の前で、

    echo $query;

    して、$queryを取得する。

  5. 取得し終わったら戻す。
  6. query を実行
    $query = 出力したquery;
    $results = $wpdb->get_results( $query );
    echo '<pre>';print_r($results);echo '</pre>';

    実行すると、

    Array
    (
        [0] => stdClass Object
            (
                [id] => 113
                [title] => DEF
                [date] => 2016-10-25 18:36:43
                [uid] => 1
                [pageviews] => 22
            )
        [1] => stdClass Object
            (
                [id] => 108
                [title] => XYZ
                [date] => 2016-10-25 16:40:45
                [uid] => 1
                [pageviews] => 18
            )
        [2] => stdClass Object
            (
                [id] => 104
                [title] => AAA
                [date] => 2016-10-24 18:26:04
                [uid] => 1
                [pageviews] => 3
            )
    )

    のようになる

  7. loopではないので、setup_postdata() を使う
    $results = $wpdb->get_results( $query );
    foreach( $results as $res ){
        $post = get_post( $res->id );
        setup_postdata( $post );
        get_template_part( 'content', 'popular' );
    }
  8. 好きなように装飾する

以上

この記事を書いた人