Interogare articole după numele termenului taxonomiei

6 sept. 2012, 13:18:21
Vizualizări: 23.6K
Voturi: 2

Aș dori să obțin lista articolelor după numele taxonomiei lor personalizate (=store).

Iată ce am încercat până acum, dar nu funcționează.

Vă rog să mă ajutați cu codul.

$mystorename este o variabilă care conține numele magazinului după care vreau să fac interogarea.

Orice ajutor va fi apreciat.

Mulțumesc

$args = array(
    'tax_query' => array(
    array(
        'taxonomy' => 'store',           // taxonomia personalizată
        'field' => 'name',              // filtrăm după numele termenului
        'terms' => $mystorename         // numele magazinului stocat în variabilă
    )
)
);

$postslist = get_posts( $args );if(count($postslist) > 0){ ?>
0
Toate răspunsurile la întrebare 3
1

Nu sunt sigur dacă funcția get_posts suportă tax_query. S-ar putea să dorești să încerci să creezi un nou obiect WP_Query în schimb.

$args = array(
'tax_query' => array(
    array(
        'taxonomy' => 'store', // Taxonomia (categoria personalizată)
        'field' => 'name',      // Câmpul de căutare (nume sau ID)
        'terms' => $mystorename // Termenii de căutat
        )
    )
);

$query = new WP_Query($args);
if ( $query -> have_posts() ) : while ( $query -> have_posts() ) : $query -> the_post(); ?>
    <!-- conținut post -->
<?php endwhile; ?>
    <!-- navigare între posturi -->
<?php else: ?>
    <!-- niciun post găsit -->
<?php endif; ?>
6 sept. 2012 18:16:16
Comentarii

interogarea pe care ai postat-o mai sus mi-a continuat să dea o eroare ("expected )") pe linia ultimului "array(". Nu aveam nicio idee ce era în neregulă, așa că am renunțat la ea și am optat pentru codul de mai jos, care funcționează perfect. Mulțumesc

Naijadeals Naijadeals
8 sept. 2012 04:20:27
0
<?php
 $args=array(
  'store' => $mystoreslug,
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {?>

 <div class="itembox">
 <h1>Cupoane magazin</h1>

<div class="itemboxinner">

 <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
   <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Legătură permanentă către <?php         the_title_attribute(); ?>"><h3><?php the_title(); ?></h3></a></p>
  <?php
 endwhile;
}
wp_reset_query();  
?>'
8 sept. 2012 04:24:35
2

Cum ar fi...

$args = array(
    'store' => $mystorename,
);
$postslist = query_posts( $args );
wp_reset_query();
7 dec. 2012 17:33:01
Comentarii

Explică de ce acest lucru ar putea rezolva problema.

fuxia fuxia
7 dec. 2012 17:44:19

Query posts ar trebui folosit ca ultimă soluție, folosește get_posts în schimb. Ar trebui ca $mystorename să fie un slug, id sau nume afișat? explică

AlxVallejo AlxVallejo
17 dec. 2012 19:16:40