correos personalizados tipo post próximos y último post

Quiero recuperar dentro de mi archivo CPT.php más reciente próximo puesto (con estado de
future
) y último post (el más antiguo post publicado). Esto es cómo se parece mi archivo CPT.php:
 <?php

get_header(); ?>

<div id="primary" class="row">

    <?php if($layout == 'left_side'){ ?>
    <aside id="side-bar" class="span4">
            <?php dynamic_sidebar( 'sidebar_left'); ?>
    </aside>
    <?php } ?>  
    <?php if($layout == 'both_side'){ ?>
    <aside id="side-bar" class="span3">
            <?php dynamic_sidebar( 'sidebar_left' ); ?>
    </aside>
    <?php } ?>  

    <div id="content" class="margin span9" role="main">
    <?php 

        if( have_posts() ){ 
            // normal blog layout
                $x = 1;
                while ( have_posts() ){
                    the_post(); 
                    if ( 0 === (int) $post->post_parent ) {
                    get_template_part( 'inc/post-format/content-debate');
                }

                    $x++;
                }
            }

        else{ ?>
        <article class="type-page box">
            <h1 class="title"><?php _e('Post not found', 'outbox'); ?></h1>
            <div class="the-content">
            <p class="lead"><?php _e('We could not find that post you were looking for.', 'outbox'); ?></p>
            <br>
            <h3><?php _e('Try searching', 'outbox') ?></h3>
            <?php echo get_search_form(); ?>
            <?php get_template_part( 'inc/recent-posts' ); ?>               
            </div>
        </article>
        <?php } 

        kriesi_pagination(); 

        ?> 
        <div class="debatesinfo">
        <div class="row-fluid">
            <div class="span6">
            <h3>UPCOMING DEBATES</h3>
            <?php
            $query = new WP_Query( array(
             'post_status' => 'future',
             'orderby' => 'date', 
             'order' => 'ASC', 
             'posts_per_page' => 1 
           ) );

         if( $query->have_posts() ) {
         while( $query->have_posts() ) {
         $query->the_post();
         echo the_title();
    } 
  }     
  ?>
    </div>
    </div><!-- #content -->
    <?php if($layout == 'right_side'){ ?>
    <aside id="side-bar" class="span4">
            <?php dynamic_sidebar( 'sidebar_right' ); ?>
    </aside>
    <?php } ?>      
    <?php if($layout == 'both_side'){ ?>
    <aside id="side-bar" class="span3">
            <?php dynamic_sidebar( 'sidebar_right' ); ?>
    </aside>
    <?php } ?>      
</div><!-- #primary -->
y este código es desde el functions.php que es para recuperar el post publicado más reciente para el bucle principal:
function wpse124228_alter_ppp_order_for_mycpt( $query ) {
if ( ! $query->is_main_query() || is_admin() )
    return;
if ( is_post_type_archive( 'debate' ) ) {
    //Only display 1 post on mycpt archive
    $query->set( 'posts_per_page', 1 );
    //Most recent/current
    $query->set( 'orderby', 'date' );
    $query->set( 'order', 'DESC' );
 }
  }
add_action( 'pre_get_posts', 'wpse124228_alter_ppp_order_for_mycpt' );
¿Alguna sugerencia sobre cómo puedo recuperar el próximo post y el último post títulos e imágenes en miniatura? Eric Holmes Edit: corregido un error en el código..


Solución

Para futuros puestos, sólo puedes tener publicado Posts que están programados para el futuro. Al editar un post, puede hacer clic en
Edit
al lado de 'Publicar inmediatamente' y seleccionar una fecha y hora. Podrás tener un subloop conseguir todos los mensajes con la
post_status
de
future
.

Eso debería funcionar bien para ti! WP_Query documentation Futuro:
$query = new WP_Query( array(
    'post_status' => 'future',
    'orderby' => 'date', 
    'order' => 'ASC', 
    'posts_per_page' => 1 
) );

if( $query->have_posts() ) {
    while( $query->have_posts() ) {
        $query->the_post();
        echo the_title();
    }
}
Más antiguo
$query = new WP_Query( array(
    'orderby' => 'date', 
    'order' => 'ASC', 
    'posts_per_page' => 1 
) );

if( $query->have_posts() ) {
    while( $query->have_posts() ) {
        $query->the_post();
        echo the_title();
    }
}
$query = new WP_Query( array(
    'orderby' => 'date', 
    'order' => 'ASC', 
    'posts_per_page' => 1 
) );

if( $query->have_posts() ) {
    while( $query->have_posts() ) {
        $query->the_post();
        echo the_title();
    }
}
.




Problemas relacionados

Por defecto los cambios permalink

Crear orden de correos personalizados (con correos personalizados tipo meta)

Quitar el post_tag tipo de entrada por defecto, Agregar taxonomía personalizada

Mostrar último mensaje del empleado en su página de perfil

Limitar el post para diferentes tipo de correos personalizados en el mismo wp_query

¿Bucle que muestra el primer post de todo tipo de correos personalizados disponibles?

Post antepasado y niño post en correos personalizados tipo

obtener enlace del último post con consulta SQL

CSS para los tipos de correos personalizados

Eliminar correos personalizados tipo de resultados de la búsqueda de enlace

Lista de todos los mensajes de tipo personalizado mediante taxonomía

Programación publicar un post (correos personalizados tipo) con campos personalizados

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact