Come ottenere titolo, estratto, thumbnail e permalink di un custom post type tramite ID post?
Devo generare diversi "loop" per ottenere il titolo, estratto, thumbnail e permalink di un custom post type 'charity' tramite ID post, perché ho diversi post (charities) che devo individuare con una classe speciale (puntatori mappa posizionati in modo assoluto).
Puoi aiutarmi a modificare il mio codice per farlo funzionare? Quello che ho finora non funziona:
<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();?>">Scopri di più »</a></p></dd>
<?php endforeach;
wp_reset_postdata();?>
</span>
Questo codice mostra correttamente solo la thumbnail e il permalink.
Ho provato altre opzioni come quella qui sotto, ma ho bisogno di ottenere l'estratto del post (generato), non il contenuto del post:
<?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');?>">Scopri di più »</a></p></dd>
Come posso risolvere? Grazie!!

Ci sei quasi. Ci sono alcune cose che puoi fare diversamente per ottenere un risultato migliore e allo stesso tempo recuperare l'estratto.
Useremo setup_postdata
per permetterci di utilizzare funzioni come the_title()
e the_excerpt()
. Dopo aver finito di recuperare e visualizzare questo contenuto, è importante tornare al punto di partenza, quindi chiameremo wp_reset_postdata()
per ritornare al contenuto precedente.
<?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();?>">Scopri di più »</a></p>
</dd>
</span>
<?php
wp_reset_postdata();
endif;
?>
È importante notare che the_excerpt()
aggiunge un link "altro" alla fine del tuo estratto. Usando il codice sopra otterrai il link "altro" due volte. Puoi modificare il testo di questo link usando il filtro get_the_excerpt.
