WP Query cu taxonomie personalizată

11 ian. 2013, 14:18:57
Vizualizări: 29.1K
Voturi: 2

Tocmai învăț să folosesc WP Query și sper să pot primi ajutor în această privință.

Am creat o taxonomie personalizată (theme) și acum vreau să afișez ultima postare cu una dintre aceste taxonomii pe pagina mea principală ca postare principală evidențiată.

Nu reușesc să-mi dau seama cum să filtrez corect query-ul, poate mă poate ajuta cineva să corecteze:

<?php
           $args = array(
                'tax_query' => array(
                    array(
                        'posts_per_page' => 1,
                        'taxonomy' => 'theme',
                        'field' => 'slug',
                        'terms' => array ('text-image', 'just-text', 'just-image')
                    )
                )
            );
            $query = new WP_Query( $args );
           ?>
           <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Orice ajutor ar fi foarte apreciat, mulțumesc!

EDITARE: Iată codul final în caz că mai are cineva nevoie;

<?php
           $args = array(
            'post_type' => 'post', // este implicit, îl poți omite
            'posts_per_page' => '1',
            'order_by' => 'date', // este de asemenea implicit
            'order' => 'DESC', // este de asemenea implicit
                'tax_query' => array(
                    array(
                        'taxonomy' => 'nameoftaxonomy',
                        'field' => 'slug',
                        'terms' => array ('whatever1', 'whatever2', 'whatever3')
                    )
                )
            );
            $query = new WP_Query( $args );
           ?>
           <?php if (have_posts()) : while( $query->have_posts() ) : $query->the_post(); ?>

Mulțumesc pentru ajutor!

1
Comentarii

Ești sigur că oricare dintre postări îndeplinește acest criteriu de căutare?

Rohit Pande Rohit Pande
11 ian. 2013 14:26:35
Toate răspunsurile la întrebare 2
0

Argumentele tale pentru WP_Query sunt greșite. posts_per_page nu face parte din tax_query. Următorul cod ar trebui să funcționeze:

$args = array(
    'post_type' => 'post', // este implicit, poți să-l omiți
    'posts_per_page' => '1',
    'order_by' => 'date', // este de asemenea implicit
    'order' => 'DESC', // este de asemenea implicit
    'tax_query' => array(
        array(
            'taxonomy' => 'theme',
            'field' => 'slug',
            'terms' => array ('text-image', 'just-text', 'just-image')
        )
    )
);
11 ian. 2013 15:47:52
1

Trebuie să folosești obiectul tău astfel:

while ( $query->have_posts() ) : $query->the_post();
11 ian. 2013 14:25:16
Comentarii

Dacă snippet-ul este bun, poți valida răspunsul pentru ceilalți? :)

miko7358 miko7358
11 ian. 2013 14:30:08