Valores de metacajas personalizadas que se repiten en publicaciones

Creé un tipo de publicación personalizado para eventos en WordPress y ahora estoy tratando de enumerarlos junto con los valores de los cuadros de metadatos personalizados en la plantilla de mi página que llamé Eventos.

Los valores de los meta recuadros se repiten y esto se sigue con un patrón:

  • la última publicación está bien,

  • la publicación anterior muestra sus valores y valores de meta-box de la publicación más reciente,

  • y así.

Esta es una captura de pantalla de lo que está sucediendo: enter image description here

Esta es una consulta que muestra publicaciones:

  ID, '_ct_hdr_value') ) : ?> <div class="page-name innerpagepost_name; ?>"> 

Upcoming events

    'event', 'posts_per_page' => 30) ); if (have_posts()) : while (have_posts()) : the_post();?>
  • <a class="cf" href="https://stackoverflow.com/questions/30779259/values-from-custom-meta-boxes-being-repeated-in-posts/">

    <a class="cf" href="https://stackoverflow.com/questions/30779259/values-from-custom-meta-boxes-being-repeated-in-posts/"> 'img-center img-responsive event-thumb')); ?>
    ID, '_event_date_value',true) ) { echo $date. ' ', $date = get_post_meta($post->ID, '_event_date_value', true); echo '
    '; } if (get_post_meta($post->ID, '_event_address_value',true) ) { echo $address. ' ', $address = get_post_meta($post->ID, '_event_address_value', true); } if (get_post_meta($post->ID, '_event_city_value',true) ) { echo $city. ', ', $city = get_post_meta($post->ID, '_event_city_value', true); } ?>

Cualquier consejo para un novato php es más que bienvenido. 🙂

Como ya dije, nunca debes usar query_posts ya que rompe la consulta principal y la paginación. Use WP_Query o get_posts para consultas personalizadas, si realmente necesita el uso de consultas personalizadas

Desde su plantilla de página, creo que está utilizando el bucle de página para obtener información personalizada y luego su consulta personalizada para mostrar sus publicaciones de eventos.

Justo antes de continuar, pro tip, no use : y endif y endwhile . Aunque es perfectamente válido para php, es difícil depurarlo ya que los editores de código no son compatibles con esta syntax. Haz uso de los viejos curlies fieles. Todos los editores de código los admiten, y hacen que la depuración sea mucho más fácil

Este es el aspecto que debería tener el código: ( He eliminado las tags de marcado y de plantilla con franqueza, publicar desde una tableta no es divertido con todo ese código )

 // Page main loop, the main query if ( have_posts() ) { while ( have_posts() ) { the_post(); // Your markup and template tags } } // Add you custom upcoming events heading here // Now for our loop to show event posts $args = array( 'post_type' = 'event', 'posts_per_page' => 30 ); $q = new WP_Query( $args ); if ( $q->have_posts() ) { while ( $q->have_posts() ) { $q->the_post(); // Your custom loop markup and template tags } wp_reset_postdata(); } 

EDITAR

Su código completo debe verse así:

   ID, '_ct_hdr_value') ) { ?> 

Upcoming events

    30 ); $q = new WP_Query( $args ); if ( $q->have_posts() ) { while ( $q->have_posts() ) { $q->the_post(); ?>

  • 'img-center img-responsive event-thumb')); ?>
    ID, '_event_date_value',true) ) { echo $date. ' ', $date = get_post_meta($post->ID, '_event_date_value', true); echo '
    '; } if (get_post_meta($post->ID, '_event_address_value',true) ) { echo $address. ' ', $address = get_post_meta($post->ID, '_event_address_value', true); } if (get_post_meta($post->ID, '_event_city_value',true) ) { echo $city. ', ', $city = get_post_meta($post->ID, '_event_city_value', true); } ?>