0

我正在尝试根据以下许多条件将不同的值存储到数组中:

<?php $sort= $_GET['sort']; 

     if($sort == "title") { $args = array('orderby'=>'title','order'=>'ASC'); } 
     elseif($sort == "date") { $args = array('orderby'=>'date'); } 
     else{ $args = array('orderby'=>'date','order'=>'DESC'); } 
?>

然后我尝试$args使用 WP_Query 将变量插入到 wordpress 循环中,如下所示:

<?php $loop = new WP_Query( array( $args, 'post_type' => 'films', 'post_parent' => 0, 'posts_per_page' => -1 ) ); ?>

    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

    wordpress loop stuff, and the end while, end if

这无法正常工作。我是否将数组错误地传递到 wordpress 循环中?

4

1 回答 1

0

您将数组 $args 传递到另一个数组中。WP_Query 无法理解双嵌套数组。

为什么不根据条件的结果为要分配给 orderby 和 order 参数的值设置一个变量。

if ( $sort == 'title' ) {
   $orderby = 'title';
   $order = 'ASC';
} esleif ( // ....etc

然后在您的查询数组中:

  'orderby' => $orderby, 'order' => $order, etc..
于 2012-06-23T16:00:30.003 回答