私は1週間前と1ヶ月前の人気のある投稿を表示したいです。これらは私が使用したコードですが、これらは1週間前の間は正しく動作しません
<ul>
<?php
$week = date('W');
$year = date('Y');
query_posts('meta_key=post_views_count&cat='.$link1.'&posts_per_page=9&orderby=meta_value_num&order=DESC&year=' . $year . '&weeknum=' . $week);
while (have_posts()): the_post(); ?>
<li>
<h2><a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></h2>
<div style="display:<?php echo $display;?>" class="tooltiptext hidden-xs"><?php the_excerpt(); ?></div>
</li>
<?php
endwhile;
wp_reset_query();
?>
</ul>
1か月前
<ul>
<?php
$month = date('m');
$year = date('Y');
query_posts('meta_key=post_views_count&cat='.$link1.'&posts_per_page=9&orderby=meta_value_num&order=DESC&year=' . $year . '&monthnum=' . $month);
while (have_posts()): the_post(); ?>
<li>
<h2><a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></h2>
<div style="display:<?php echo $display;?>" class="tooltiptext hidden-xs"><?php the_excerpt(); ?></div>
</li>
<?php
endwhile;
wp_reset_query();
?>
</ul>
これらの$args
はあなたが必要とするものであり、あなたはそれをquery_posts()
でも使うことができます。
$args = array(
'post_type' => array( 'post' ),
'post_status' => 'publish',
'posts_per_page' => 9,
'cat' => $link1, // try better variable name
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'date_query' => array(
array(
'after' => '1 months ago',
),
)
);
$r = null;
$r = new WP_Query($args);
// do something with $r = result
wp_reset_postdata();
私はquery_posts()
以外の方法であなたに提供しました。ところで、私はあなたが最後にwp_reset_query();
を使ったのが好きです。