get_posts cu categorii multiple

21 apr. 2015, 17:35:46
Vizualizări: 53K
Voturi: 5

Dacă fac un get_posts() cu categoria setată la 1,2 voi obține toate postările din categoria 1 SAU 2. Dacă vreau toate postările care au ambele categorii, adică 1 ȘI 2, cum fac această solicitare?

0
Toate răspunsurile la întrebare 6
0
10

După cum este documentat în codex, poți folosi următorul cod:

$query = new WP_Query( array( 'category__and' => array( 2, 6 ) ) ); // postul trebuie să fie în categoria cu ID-ul 2 ȘI 6

21 apr. 2015 20:42:52
1

Codex spune:

Notă: Parametrul categorie trebuie să fie ID-ul categoriei, nu numele categoriei.

Notă: Parametrul categorie poate fi o listă de categorii separate prin virgulă, deoarece funcția get_posts() transmite parametrul 'category' direct în WP_Query ca 'cat'.

Deci va fi la fel ca Parametrul Categorie - cat din WP_Query().

21 apr. 2015 17:41:26
Comentarii

Uau, am presupus că asta va da același rezultat. Greșeala mea. Mulțumesc.

gubbfett gubbfett
21 apr. 2015 18:02:12
0

Puteți folosi clasa WP_QUERY pentru a căuta postări în anumite categorii specifice, iată un exemplu:

$query = new WP_Query( 'cat=2,6,17,38' );

Aici este un link către documentație unde este explicat cum să folosiți rezultatele pentru a construi o buclă și afișa postările din rezultate.

21 apr. 2015 17:42:23
2

Există o metodă mult mai ușoară care implică doar funcția get_posts().

<?php $args1 = array( 'posts_per_page' => 6, 'offset'=> 0, 'category' => array(2,3,25,30));
            $myposts1 = get_posts( $args1 );
            foreach ( $myposts1 as $post ) : setup_postdata( $post ); ?>
            <div class="each-post col-lg-aynk col-md-aynk col-sm-aynk col-xs-aynk">
                <a href="<?php the_permalink(); ?>">
                    <h2><?php the_title(); ?></h2>
                </a>
                <a href="<?php the_permalink(); ?>">
                    <div class="news-story-img">
                        <?php if (class_exists('MultiPostThumbnails')) : MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); endif; ?>
                        <?php the_post_thumbnail( get_permalink() ); ?>
                    </div>
                </a>

            </div>

            <?php endforeach; 
            wp_reset_postdata();?>
14 mar. 2016 00:12:50
Comentarii

Te rog să explici de ce acest lucru ajută.

kaiser kaiser
14 mar. 2016 00:58:29

Nu pot vota pentru ștergere, dar codul nici măcar nu corespunde cu comentariul referitor la get_posts().

Alexander Holsgrove Alexander Holsgrove
29 dec. 2016 19:13:00
0

De fapt, poți folosi direct category__and cu get_posts():

$posts = get_posts(array( 'category__and' => array(1,2) ));
23 oct. 2016 19:56:06
0

Dacă dorești să folosești parametrul category_name pentru căutare, poți utiliza WP_Query( array("category_name" => "cat_1+cat_2+...+cat_n") ), unde cat_1, cat_2, ... , cat_n reprezintă toate categoriile pe care articolul trebuie să le aibă pentru a fi returnat de interogare.

Documentația aici: Codex Wordpress

21 iul. 2017 16:28:46