Php 如何在WP\u查询中使用if/else语句

Php 如何在WP\u查询中使用if/else语句,php,wordpress,Php,Wordpress,我尝试使用不同的WP_查询对象,这取决于正在查看的页面类型。我想这样做,而不必重复循环一遍又一遍。我只想使用不同的WP_查询语句和条件语句。这是可能的,还是有其他方法?现在我的页面上只有空输出。代码如下 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // retrieve posts based on category or pages $args=array( 'category_name'=>'

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

$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;

$wp_查询是一个简单的查询。避免在这些事情上使用它。

为什么要将ifs括在括号中,而不是括在while中。这是因为wordpress开箱即用代码通常使用endwhile/endif来表示循环,还有很多其他东西放在括号中。我只是习惯了那样工作。你可能想采用其中一种。两者的混合通常意味着有两个或更多的人参与了这项工作,而项目经理从来没有制定一个标准来遵循大问题这是针对个人网站的。我不是一个程序员,只有我一个人会在这方面工作。虽然我知道你可能是对的,我也很感激你的建议,但目前我只是想解决这个问题。以后我会考虑你说的话。
$my_args = is_page() ? $args : null;

$my_query = new WP_Query($args);

while ($my_query->have_posts()) : $my_query->the_post();
  ...