Bucle Personalizado para Tipo de Entrada Personalizado
Estoy usando WP 4.0 y Headway como mi tema. He creado un tipo de entrada personalizado llamado 'property' y quiero crear el bucle en 2 columnas. Pero no estoy seguro de qué añadir al siguiente código para lograrlo. También me gustaría añadir paginación.
También tengo otra información para colocar dentro del bucle. Estoy trabajando en hacer que funcione correctamente.
Aquí está el código que actualmente funciona para mí... sin columnas.
<?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(); ?>

Hay un par de problemas en tu consulta.
No existe un parámetro llamado
category
. Puedes usar los siguientes:cat (int) - usa el ID de la categoría. category_name (string) - usa el slug de la categoría (NO el nombre). category__and (array) - usa el ID de la categoría. category__in (array) - usa el ID de la categoría. category__not_in (array) - usa el ID de la categoría.
Si necesitas que tu consulta tenga paginación, no deberías usar
posts_per_page' => -1
. Esto anulará la paginación y devolverá todos los posts.Otra cosa más, estás comprobando la imagen destacada en el lugar incorrecto. Deberías verificarlo antes del contenedor de la imagen.
Así que he modificado tu consulta y así es como quedará. Estoy asumiendo que tu slug de categoría es current
como usaste en tu consulta.
<?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> Anteriores', 'domain' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Siguientes <span class="meta-nav">→</span>', 'domain' ) ); ?></div>
</div>
<?php endif;
endif;
wp_reset_postdata();
?>
Esto debería devolver todos los posts en la categoría current
con paginación. Si necesitas obtener posts de más de una categoría, puedes usar el parámetro category__in
en lugar de category_name
.
'category__in' => array( 2, 6 )
Ten en cuenta que category__in
solo acepta IDs de categoría.
