Wordpress自定义查询orderby slug类型并用选项更改它

时间:2018-01-14 15:32:02

标签: php wordpress

我正在创建一个推荐列表,但这段代码不像我想要的那样。

<?php $recomendation= new WP_Query("post_type=movie&orderby=rand&showposts=5"); 

if($recomendation->have_posts()) : while($recomendation->have_posts()) : $recomendation->the_post();

 ?>

我希望将orderby随机改为带有选项列表的流派 选择选项后自动刷新结果。

以下是显示类型行的代码

<?php
            $taxonomy = 'genre';
            $tax_terms = get_terms($taxonomy,'number=15');
        ?>
        <ul>
        <?php
            foreach ($tax_terms as $tax_term){
            echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "genre %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a></li>';
        }
    ?>
        </ul>
  

例如:[name movie genre action],[name movie genre horror],[name movie   类型剧[],电影类型其他]

(默认类型的结果全部显示出来。)

选择选项操作后

  

例如:[姓名电影类型动作]

(带动作类型的电影只出现了)。

提前感谢!

1 个答案:

答案 0 :(得分:0)

我不知道我的问题是否正确,但我会尝试。首先,使用get_posts而不是wp_query,因为对象永远不会离开函数。做这样的事情:

$args = array(
  'posts_per_page' => 15,
  'post_type' => 'movie'
);

if(isset($_GET['genre_id'])):
  $args['tax_query'] => array(
    array(
      'taxonomy' => 'genre',
      'field' => 'id',
      'terms' => $_GET['genre_id'] //is sanitized by default
    )
  )
endif;

$movies = get_posts($args);