Obtener publicación por nombre de página o babosa

4

Sé que esto es muy vanguardista, pero ten paciencia conmigo. He leído que uno puede consultar una página por el nombre de la página / publicación o la barra. Intento hacer esto porque necesito información de una página con un título / slug similar y no tendré la capacidad de obtener el ID de la página (a menos que haya una manera de convertir un título en un ID).

He intentado múltiples variaciones sin éxito. Esta parece ser la forma más razonable de manejar esto, pero simplemente no funciona.

<?php 
    $args = array(
    'pagename' => 'CM-145',
    'post_type' => 'page',
    'posts_per_page' => 1,
    'numberposts' => 1
); ?>
<div>
    <?php
        query_posts( $args );
        get_template_part( 'loop' );
        wp_reset_query();
    ?>
</div>

El Loop

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                    <?php if ( is_front_page() ) { ?>
                        <h2 class="entry-title"><?php the_title(); ?></h2>
                    <?php } else { ?>
                        <h1 class="entry-title"><?php the_title(); ?></h1>
                    <?php } ?>

                    <div class="entry-content">
                        <?php the_content(); ?>
                        <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
                        <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
                    </div><!-- .entry-content -->
                </div><!-- #post-## -->

                <?php comments_template( '', true ); ?>

<?php endwhile; // end of the loop. ?>

También probé 'name' => 'CM-145' , no estoy seguro si esta es la forma correcta o razonable de realizar esta acción. En última instancia, simplemente necesito sacar el pulgar y el extracto de la página para que, si tienes una mejor idea, no dudes en avisarme.

Gracias de antemano.

    
pregunta Zach Shallbetter 22.04.2011 - 16:58

2 respuestas

3

Hola @Zach Shallbetter:

Si entiendo tu pregunta, entonces estás buscando resolver tu problema usando las funciones de temática cuando realmente necesitas usar más API de WordPress. El siguiente código se puede copiar a un archivo test.php y ejecutar usando http://yoursite.com/test.php para que veas cómo funciona (asumiendo que reemplazas http://yoursite.com con el dominio de tu propio sitio web, por supuesto) lea los comentarios para ver dónde colocar el código para usar en su sitio:

<?php 

// The function should go into your theme's functions.php file
function get_excerpt( $post_id ) {
  $post = get_post( $post_id );
  $excerpt = $post->post_excerpt;
  return ( post_password_required($post) ? false : 
     apply_filters( 'get_the_excerpt', $excerpt ) );
}

include('../wp-load.php');

// This code goes where you need to get and display the excerpt and thumbnail
$post = get_page_by_path('CM-145');
$excerpt = get_excerpt($post->ID);
$thumbnail = get_the_post_thumbnail($post->ID);
?>
<div style="width:300px">
<span style="float:right;"><?php echo $thumbnail; ?></span>
<?php echo $excerpt ?>
</div>

Además, estoy un poco preocupado de que pueda estar experimentando un poco del síndrome "hammer-and-nail" ; es decir, cuando tienes un problema y solo tienes un martillo, tratas el problema como un clavo cuando quizás lo que necesitas es encontrar un destornillador.

Específicamente, me preocupa que esté utilizando una página para algo que debería ser simplemente una opción, o tal vez al menos un tipo de publicación personalizada. ¿Puede explicar su caso de uso con mayor profundidad y por qué ha elegido utilizar una página?

    
respondido por el MikeSchinkel 22.04.2011 - 18:43
1

cambie get_template_part( 'loop' ); a get_template_part( 'loop','page' ); o inserte manualmente un bucle directamente en esa plantilla y vea si ese es el problema. de lo contrario, su código es correcto.

* editar: supongo que tu archivo de bucle tiene algunas comprobaciones condicionales para determinar cómo mostrar las publicaciones en diferentes contextos que no se cumplen con tu consulta de página, por lo que no se muestra nada.

    
respondido por el Milo 22.04.2011 - 17:37

Lea otras preguntas en las etiquetas