J'ai créé un type de message personnalisé appelé news
qui contient des boîtes de méta. Je voudrais imprimer les données de la metabox sous forme d’extrait. Comment puis je faire ça?
C'est le code que j'utilise qui imprime les données:
<?php $loop = new WP_Query( array( 'post_type' => 'news', 'posts_per_page' => 10, 'post_parent' => 0 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php the_excerpt(); ?>
<p><?php echo get_post_meta( $post->ID, 'twpb_news_textdate', true ); ?></p>
<p><?php echo get_post_meta( $post->ID, 'twpb_news_rub', true ); ?></p>
<p><?php echo get_post_meta( $post->ID, 'twpb_news_textnews', true ); ?></p>
<?php endwhile; ?>
Vous pouvez utiliser wp_trim_words
:
<p><?php
echo wp_trim_words(
get_post_meta( $post->ID, 'twpb_news_textnews', true ),
55,
'[…]'
);
?></p>
Ou, si vous souhaitez que les filtres applicables aux extraits normaux soient également utilisés, écrivez votre propre wrapper pour cela:
function wpse115106_news_excerpt( $text = '' ) {
$excerpt_length = apply_filters( 'excerpt_length', 55 );
$excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' );
return wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
et ensuite utiliser
<p><?php
echo wpse115106_news_excerpt( get_post_meta( $post->ID, 'twpb_news_textnews', true ) );
?></p>
dans ta boucle.