Wordpress query_posts类别下拉过滤器

Wordpress query_posts类别下拉过滤器

问题描述:

I'm develeoping a dropdown menu for wordpress that is filtering diferent categories from posts. I'm currently using query_posts function like this:

query_posts( array('category__and'=>array($_GET['operation'],$_GET['type'])));

The get $_GET['operation'] and $_GET['type'] are passed obviously by get params from the form dropdown menu.

When I pass the 2 values throught the form the query runs correctly, it displays the posts within the correct categories selected, all good.

The trouble comes when at the form I'm not defining any one of the get values, so the get from the url is like empty.

Example:
operation=4
type=2

It Runs correctly.

Trouble:
operation=""
type=2

The query or whatever i can't see breaks and displays that there are no results.

I hope if there is any way to check if any value is empty and exclude it from the array? Anything like:

query_posts( array('category__and'=>array(
if($_GET['operation']!=""){
$_GET['operation'],
}
$_GET['type']

))
);

Please help!

Something like this should do what you need.

$args = array();

if (!empty($_GET['operation']))
  $args[] = $_GET['operation'];

if (!empty($_GET['type']))
  $args[] = $_GET['type'];

if (!empty($args))
  query_posts( array('category__and'=>$args));
else
  query_posts();