2

やあ、

投稿からの画像を含むカスタムフィールドがあり、ビューで並べ替えた上位5つの投稿を表示したいと思います。WordPressを使用していますが、手伝ってもらえますか?

英語が下手でごめんなさい。

ありがとう。

4

3 に答える 3

6

Xhynk の参照に 1 つのエラーがあります。

実行するクエリは、投稿をアルファベット順に返します (1、2、20、23、3、4 など)。

あなたはただ変更する必要があります

'orderby' => 'wpb_post_views_count'

'orderby' => 'meta_value_num'

上位 5 件については、次を使用します。

$popularpost  = new WP_Query(array(
    'posts_per_page' => 5,
    'meta_key' => 'wpb_post_views_count',
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
));
于 2012-09-25T20:47:55.580 に答える
5

これはとても簡単だ。このコードを functions.php に使用するだけです

/*
 * Set post views count using post meta
 */
function setPostViews($postID) {
    $countKey = 'post_views_count';
    $count = get_post_meta($postID, $countKey, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $countKey);
        add_post_meta($postID, $countKey, '0');
    }else{
        $count++;
        update_post_meta($postID, $countKey, $count);
    }
}

single.phpを置く

setPostViews(get_the_ID());

これはよくある投稿クエリです。

   <?php
      query_posts('meta_key=post_views_count&posts_per_page=5&orderby=meta_value_num&
      order=DESC');
      if (have_posts()) : while (have_posts()) : the_post();
   ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title();
     ?></a>
   </li>
   <?php
   endwhile; endif;
   wp_reset_query();
   ?>

詳細はこちら

于 2016-10-31T08:29:10.600 に答える
2

http://www.wpbeginner.com/wp-tutorials/how-to-track-popular-posts-by-views-in-wordpress-without-a-plugin/

基本的には、各投稿にメタ フィールドを追加し、古いレコードが表示されると削除し、「古いレコード + 1」に置き換えます。

于 2012-09-24T18:57:15.617 に答える