Come ottenere titolo, estratto, thumbnail e permalink di un custom post type tramite ID post?

14 apr 2015, 00:52:06
Visualizzazioni: 17.3K
Voti: 0

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ù &raquo;</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ù &raquo;</a></p></dd>

Come posso risolvere? Grazie!!

2
Commenti

mancano le () nelle chiamate di funzione - the_title(), the_excerpt()

Milo Milo
14 apr 2015 01:09:51

Usa get_the_excerpt() per ottenere solo quello con meno formattazione - deve essere usato nel Loop.

Nicolai Grossherr Nicolai Grossherr
14 apr 2015 01:11:56
Tutte le risposte alla domanda 1
0

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ù &raquo;</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.

16 feb 2016 00:32:59