wordpress人気記事の表示をしたいが同じものが並んでしまう
プラグインなしで人気記事を3つ表示しようと思っています。
カスタム投稿ページ内にコードを書いているためか、開いているページのものが
3つ(同じもの)並んでしまっています。
調べると皆さんsidebarに記事を表示されているのでそうしないといけないのかな?と
思ってはいるのですが、sidebarの下にお問い合わせや新着記事をページの横幅いっぱい表示させる
デザインの関係上sidebarを使うことを躊躇しています。。
もし解決方法をご存じの方がいればお教えいただけると助かります。
functions.php
//カスタム投稿の人気記事 function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); //すでにメタデータがあるかどうかで処理を分ける if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } //カスタム投稿の「post_views_count」アクセス数を保持する function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
single-infopage.php
<!-- 人気記事一覧 --> <?php if(is_mobile()): //SP $popular = new WP_Query( array( 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'post_type' => 'infopage', 'posts_per_page' => 6, 'caller_get_posts' => 1, 'offset' => 0, ) ); else: //PC tablet $popular = new WP_Query( array( 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'post_type' => 'infopage', 'posts_per_page' => 3, 'caller_get_posts' => 1, 'offset' => 0, ) ); ?> <?php if($popular->have_posts()); while ($popular->have_posts()) : $popular->the_post(); ?> <div class="Popular3"> <div class="Img"> <?php global $wp_query; $postID = $wp_query->post->ID; echo wp_get_attachment_image($image, 'medium');?> </div> <div class="center"> <div class="Red"> <?php global $wp_query; $postID = $wp_query->post->ID; echo get_post_meta($postID, '例題', true); ?> </div><div class="White"> <?php global $wp_query; $postID = $wp_query->post->ID; echo get_post_meta($postID, 'その他', true); ?> </div> </div> <div class="fee"> <?php global $wp_query; $postID = $wp_query->post->ID; echo get_post_meta($postID, '例', true); ?> </div> <a href="<?php the_permalink(); ?>"> <div class="Btn">詳細を見る</div> </a> </div> <?php endwhile; wp_reset_postdata();?> <?php endif; ?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/13 07:30