использование $wpdb для получения пользовательского типа записи с термином


Я пытаюсь получить название первого пользовательского типа записи с определенным термином в таксономии.
Но я не силен в SQL, поэтому не силен в использовании $wpdb.

Вот мой код:

$posts = $wpdb->get_results("
    SELECT ID, post_title 
    FROM $wpdb->posts 
    LEFT JOIN $wpdb->term_relationships
    LEFT JOIN $wpdb->term_taxonomy
    WHERE post_type = 'property'
    AND $wpdb->terms.name = 'Locked'
    AND $wpdb->term_taxonomy.taxonomy = 'status'
");
echo $posts[0]->post_title;

Какие-либо предложения о том, как получить название первого пользовательского типа записи "свойство" с термином "Заблокировано" в таксономии "статус"?

Обновление
Вот как я попытался это сделать, используя WP_Query:

<?php
    $args = array(
        'post_type' => 'property',
        'tax_query' => array( array(
            'taxonomy' => 'Status',
            'field' => 'slug',
            'terms' => $term
        ))
    );

    $loop = new WP_Query( $args );

    while ( $loop->have_posts() ) :
        $loop->the_post();
        the_title();
        echo '<div class="entry-content">';
        echo get_the_post_thumbnail();
        the_content();
        echo '</div>';
    endwhile;
?>

Где $term - это "Locked".

Что мне действительно нужно, так это способ, которым я могу запрашивать по нескольким терминам и таксономиям в массиве или нескольких массивах.
Какие-нибудь намеки?

Author: Johannes Pille, 2013-07-20

1 answers

Какие-либо предложения о том, как получить название первого пользовательского типа записи "свойство" с термином "Заблокировано" в таксономии "статус"?

$args = array(
    'post_type' => 'property',
    'tax_query' => array(
        array(
            'taxonomy' => 'status',
            'field' => 'slug',
            'terms' => 'locked'
        )
    )
);
$your_query = new WP_Query( $args );

while ( $your_query->have_posts() ) {
    $your_query->the_post();
    $the_title = get_the_title(); // variable $the_title now holds your title
}

Что мне действительно нужно, так это способ, которым я могу запрашивать по нескольким терминам и таксономиям.

$args = array(
    'post_type' => 'property',
    'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'status',
            'field' => 'slug',
            'terms' => 'locked'
        ),
        array(
            'taxonomy' => 'color',
            'field' => 'slug',
            'terms' => 'blue'
        )
    )
);
$your_query = new WP_Query( $args );

Связанный Reading:
http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

 1
Author: Johannes Pille, 2013-07-20 16:05:31