私は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
投稿IDで投稿の種類を確認します。
if (
$post['post_id']
&& get_post( $post['post_id'] )
&& 'post' === get_post_type( $post['post_id'] )
)