Loop Personalizat pentru Tipuri de Postări Personalizate
Folosesc WordPress 4.0 și tema Headway. Am creat un tip de postare personalizată numit 'property' și încerc să creez loop-ul în 2 coloane, dar nu sunt sigur ce să adaug la următorul cod pentru a realiza acest lucru. De asemenea, aș dori să adaug și paginare.
Mai am și alte informații de plasat în interiorul loop-ului, dar momentan lucrez la funcționalitatea corectă.
Iată codul care funcționează în prezent... fără coloane.
<?php
// Creează o nouă interogare pentru proprietăți
$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(); ?>

Există câteva probleme în interogarea ta.
Nu există niciun parametru numit
category
. Poți utiliza următoarele.cat (int) - folosește ID-ul categoriei. category_name (string) - folosește slug-ul categoriei (NU numele). category__and (array) - folosește ID-ul categoriei. category__in (array) - folosește ID-ul categoriei. category__not_in (array) - folosește ID-ul categoriei.
Dacă ai nevoie ca interogarea ta să aibă paginare, atunci nu ar trebui să folosești
posts_per_page' => -1
. Aceasta va suprascrie paginarea și va returna toate articolele.Încă un lucru, verifici prezența imaginii miniatura în locul greșit. Ar trebui să verifici înaintea containerului pentru imagine.
Am modificat interogarea ta și acum arată așa. Presupun că slug-ul categoriei tale este current
așa cum ai folosit în interogare.
<?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> Anterior', 'domain' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Următor <span class="meta-nav">→</span>', 'domain' ) ); ?></div>
</div>
<?php endif;
endif;
wp_reset_postdata();
?>
Aceasta ar trebui să returneze toate articolele din categoria current
cu paginare. Dacă ai nevoie să obții articole din mai multe categorii, atunci poți folosi parametrul category__in
în loc de category_name
.
'category__in' => array( 2, 6 )
Reține că category__in
acceptă doar ID-uri de categorii.
