やあ、
投稿からの画像を含むカスタムフィールドがあり、ビューで並べ替えた上位5つの投稿を表示したいと思います。WordPressを使用していますが、手伝ってもらえますか?
英語が下手でごめんなさい。
ありがとう。
やあ、
投稿からの画像を含むカスタムフィールドがあり、ビューで並べ替えた上位5つの投稿を表示したいと思います。WordPressを使用していますが、手伝ってもらえますか?
英語が下手でごめんなさい。
ありがとう。
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'
));
これはとても簡単だ。このコードを 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();
?>
詳細はこちら
基本的には、各投稿にメタ フィールドを追加し、古いレコードが表示されると削除し、「古いレコード + 1」に置き換えます。