Cómo obtener el título, extracto, miniatura y enlace permanente de un tipo de publicación personalizada por ID de publicación

14 abr 2015, 00:52:06
Vistas: 17.3K
Votos: 0

Necesito generar varios "loops" para obtener el título, extracto, miniatura y enlace permanente de un tipo de publicación personalizada 'charity' mediante el ID de publicación, porque tengo múltiples publicaciones (organizaciones benéficas) que necesito apuntar con una clase especial (puntos de mapa posicionados absolutamente).

¿Puedes ayudarme a ajustar mi código para que funcione? Lo que tengo hasta ahora no funciona:

<span id="chty_17">
<?php
$args = array('post_type'=> 'charity','post__in' => array(36));
$custom_query = get_posts($args);
foreach ($custom_query as $post) :
setup_postdata($post); ?>
<dt><?php the_title(); ?></dt>
<dd>
<?php echo get_the_post_thumbnail(); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_excerpt(); ?></p>
<p><a class="more" href="<?php echo get_post_permalink();?>">Descubre más &raquo;</a></p></dd>
<?php endforeach;
wp_reset_postdata();?>
</span>

Este código solo muestra correctamente la miniatura y el enlace permanente.

Probé otras opciones como la siguiente, pero necesito obtener el extracto generado, no el contenido completo:

<?php $post_17 = get_post(17); ?>
<dt><?php echo $post_17->post_title; ?></dt>
<dd>
<?php echo get_the_post_thumbnail('17'); ?>
<h2><?php echo $post_17->post_title; ?></h2>
<p><?php echo $post_17->post_content; ?></p>
<p><a class="more" href="<?php echo get_post_permalink('17');?>">Descubre más &raquo;</a></p></dd>

¿Cómo puedo lograr esto? ¡Gracias!

2
Comentarios

te faltan los () en las llamadas a funciones - the_title(), the_excerpt()

Milo Milo
14 abr 2015 01:09:51

Usa get_the_excerpt() para obtener solo eso con menos formato - debe usarse dentro del Loop.

Nicolai Grossherr Nicolai Grossherr
14 abr 2015 01:11:56
Todas las respuestas a la pregunta 1
0

Estás muy cerca. Hay un par de cosas que puedes hacer de manera diferente para obtener un mejor resultado y al mismo tiempo recuperar el extracto.

Vamos a usar setup_postdata para permitirnos usar funciones como the_title() y the_excerpt(). Después de terminar de recuperar y mostrar este contenido, siempre debes volver al punto donde empezaste, así que llamas a wp_reset_postdata() para regresar al contenido anterior.

<?php
$post_17 = get_post(17);
if ( $post_17 ):
    setup_postdata($post_17);
    ?>
    <span id="chty_17">
        <dt><?php the_title(); ?></dt>
        <dd>
            <?php the_post_thumbnail(); ?>
            <h2><?php the_title(); ?></h2>
            <?php the_excerpt(); ?>
            <p><a class="more" href="<?php the_permalink();?>">Descubre más &raquo;</a></p>
        </dd>
    </span>
    <?php
    wp_reset_postdata();
endif;
?>

Es importante tener en cuenta que the_excerpt() añade un enlace "más" al final de tu extracto. Usando el código anterior se mostrarán enlaces "más" dos veces. Puedes modificar este enlace usando el filtro get_the_excerpt.

16 feb 2016 00:32:59