Loop Personalizzato per Tipo di Post Personalizzato
Sto usando WP 4.0 e Headway come tema. Ho creato un tipo di post personalizzato chiamato 'property' e sto cercando di creare il loop in 2 colonne, ma non sono sicuro di cosa aggiungere al seguente codice per farlo funzionare. Vorrei anche aggiungere la paginazione.
Ho anche altre informazioni da inserire all'interno del loop. Sto lavorando per farlo funzionare correttamente.
Ecco il codice che attualmente funziona per me... senza colonne.
<?php $loop = new WP_Query( array( 'post_type' => 'property', 'posts_per_page' => -1, 'category' => 'current' ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="pindex">
<div class="pimage">
<a href="<?php the_permalink(); ?>"><?php if ( has_post_thumbnail() ) {the_post_thumbnail();} ?></a>
</div>
<div class="ptitle">
<h2><?php echo get_the_title(); ?></h2>
</div>
</div>
<?php endwhile; wp_reset_query(); ?>

Ci sono un paio di problemi nella tua query.
Non esiste un parametro chiamato
category
. Puoi utilizzare i seguenti.cat (int) - usa l'ID della categoria. category_name (string) - usa lo slug della categoria (NON il nome). category__and (array) - usa l'ID della categoria. category__in (array) - usa l'ID della categoria. category__not_in (array) - usa l'ID della categoria.
Se vuoi che la tua query abbia la paginazione, non dovresti usare
posts_per_page' => -1
. Questo sovrascriverà la paginazione e restituirà tutti i post.Un'altra cosa, stai verificando la presenza della miniatura del post nel posto sbagliato. Dovresti verificarlo prima del contenitore dell'immagine.
Quindi ho modificato la tua query e questo è come dovrebbe essere. Suppongo che lo slug della tua categoria sia current
come hai usato nella tua query.
<?php
$loop = new WP_Query( array( 'post_type' => 'property', 'category_name' => 'current', 'ignore_sticky_posts' => 1, 'paged' => $paged ) );
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="pindex">
<?php if ( has_post_thumbnail() ) { ?>
<div class="pimage">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
</div>
<?php } ?>
<div class="ptitle">
<h2><?php echo get_the_title(); ?></h2>
</div>
</div>
<?php endwhile;
if ( $loop->max_num_pages > 1 ) : ?>
<div id="nav-below" class="navigation">
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Precedenti', 'domain' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Successivi <span class="meta-nav">→</span>', 'domain' ) ); ?></div>
</div>
<?php endif;
endif;
wp_reset_postdata();
?>
Questo dovrebbe restituire tutti i post nella categoria current
con la paginazione. Se hai bisogno di ottenere post da più di una categoria, puoi usare il parametro category__in
invece di category_name
.
'category__in' => array( 2, 6 )
Nota che category__in
accetta solo gli ID delle categorie.
