Как выполнить WP_Query с несколькими аргументами?

Я пытаюсь сделать WP_Query, где я хочу, чтобы цикл выполнялся, только если тип сообщения – это книги, а жанр – текст в жанре $. Я все время получаю сообщение об ошибке, так как он отображает все сообщения в типе публикации книг вместо требуемого жанра.

Я пробовал это:

<?php $genre ="suspense"; $args = array('post_type' => 'books','genre' => $genre); //Define the loop based on arguments $loop = new WP_Query( $args ); //Display the contents while ( $loop->have_posts() ) : $loop->the_post(); ?> 

Related of "Как выполнить WP_Query с несколькими аргументами?"

Вам нужно сравнить значение настраиваемого поля и выполнить meta_query . Попробуйте следующий код:

 <?php $genre ="suspense"; $args = array( 'post_type' => 'books', 'meta_query' => array( array( 'key' => 'genre', 'value' => $genre, 'compare' => '=' ) ) ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> 

Подробнее читайте в WordPress Codex здесь: http://codex.wordpress.org/Class_Reference/WP_Query .