Cómo obtener el título, extracto, miniatura y enlace permanente de un tipo de publicación personalizada por ID de publicación
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 »</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 »</a></p></dd>
¿Cómo puedo lograr esto? ¡Gracias!

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 »</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.
