如何将 if/else 语句与 WP_Query一起使用


How do I use an if/else statement with WP_Query

我正在尝试使用不同的WP_Query对象,具体取决于正在查看的页面类型。我想这样做而不必一遍又一遍地重复循环。我只想使用带有条件的不同WP_Query语句。这可能吗,还是有其他方法可以做到这一点?现在我只在我的页面上得到空输出。代码如下。

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// retrieve posts based on category or pages
$args=array(
    'category_name'=>'name',
    'posts_per_page'=>10,
    'paged'=>$paged
);
if (is_page()) {        
    //create a new instance
    $wp_query = new WP_Query($args);
}
else {
    //create a new instance
    $wp_query = new WP_Query(); 
}
// the Loop
while ($wp_query->have_posts()) : $wp_query->the_post();
// set $more to 0 in order to only get the first part of the post
global $more;
$more = 0;
// Do post layout here
endwhile;
$my_args = is_page() ? $args : null;
$my_query = new WP_Query($args);
while ($my_query->have_posts()) : $my_query->the_post();
  ...

$wp_query是一个全局变量。避免将其用于这些事情。