web-dev-qa-db-ja.com

上位の投稿のみを表示する(ページは表示しない)stats_get_csv(Wordpress Stats)

私はWordpress Stats(現在Jetpackと呼ばれる)を通してページビューに基づいて最初の10の投稿を得ようとしています。フォーラムで何時間も調べた後、私はこのコードをうまく動作させることができました(変数とコードは時々変わったので)

        <?php
        if ( function_exists('stats_get_csv') && $top_posts = stats_get_csv( 'postviews', "days=10&limit=10")) {
        echo '<ol class="most-viewed">';
          foreach ( $top_posts as $post ) {
            if($post['post_id'] && get_post($post['post_id']))
              echo '<li><a href="' . get_permalink( $post['post_id'] ) . '">' . 
                  get_the_title( $post['post_id'] ) . '</a> (' . number_format_i18n( $post['views']) .' visits)</li>';
          }
          echo '</ol>';
        }
        ?>

今、私はこのリストからページを除外し、投稿のみをしたいと思います。問題は、WordPress.com Stats APIがpost_typeフィルタを提供していないことです。私はこれをどこかに置くべきです

if ( !isset($post->post_type) || $post->post_type != 'post' )

どこに追加すればいいのかを指摘してくれますか。

前もって感謝します! :D

1

投稿IDで投稿の種類を確認します。

if ( 
    $post['post_id'] 
    && get_post( $post['post_id'] ) 
    && 'post' === get_post_type( $post['post_id'] )
)
2
fuxia