Cum să elimini afișarea imaginilor dintr-o postare cu the_content()?
Încercând să învăț mai multe despre crearea propriilor teme și să nu folosesc plugin-uri, am dorit să pot afișa toate imaginile dintr-o postare excluzând miniatura în fișierul meu single-foobar.php
și pot face asta cu:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
$thumb_ID = get_post_thumbnail_id( $post->ID );
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID,
'exclude' => $thumb_ID
);
$attachments = get_posts( $args );
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo '<div class="portproject">';
$image_res = wp_get_attachment_image( $attachment->ID, ' img-responsive' );
echo $image_res;
echo '</div>';
}
}
else { ?>
<span>Nu există imagini încărcate momentan</span>
<?php } endwhile; endif; ?>
Totuși, când aplic HTML-ul meu static și încerc să apelez get_the_content()
cu:
<?php
$content = get_the_content();
$content = preg_replace("/<img[^>]+\>/i", "(imagine) ", $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
?>
acesta elimină imaginile dar lasă un (imagine)
în postare cu spații și apoi afișează textul rămas. Am găsit o întrebare similară dar aceasta sugerează folosirea get_the_content()
care elimină toată stilizarea din postare. Deci întrebarea mea este cum pot elimina imaginile din the_content()
? Am găsit "Obținerea doar a textului din the_content WordPress (Eliminarea tag-urilor de imagine)" din căutările mele, dar și aceasta folosește abordarea cu get_the_content()
.

Metoda pe care o prefer este puțin mai scurtă decât răspunsul anterior.
<?php $myExcerpt = wp_trim_words( get_the_content(), 20, '' ) ;
echo $myExcerpt ; ?>
Funcția WordPress wp_trim_words() returnează doar text (fără imagini).
wp_trim_words ( string $text, int $num_words = 55, string $more = null )
