Mostrare solo il contenuto prima del tag more

10 giu 2014, 04:57:55
Visualizzazioni: 14.9K
Voti: 10

Sto utilizzando il Template Siren. In homepage.php questo codice viene usato per visualizzare il contenuto del portfolio

print_excerpt(200);

Ma ho bisogno di mostrare solo il contenuto prima del tag <!--more-->

Ho provato con questo:

the_content( $more_link_text, FALSE);

ma non funziona. Mostra tutto il contenuto

2
Commenti

Questo è un tema premium a cui non abbiamo accesso

Pieter Goosen Pieter Goosen
10 giu 2014 07:25:52

io uso la versione gratuita http://topwpthemes.com/siren/

MajidGh MajidGh
12 giu 2014 03:14:22
Tutte le risposte alla domanda 2
2
26

Puoi utilizzare la funzione di WordPress get_extended per recuperare le diverse parti di una stringa (la parte prima e la parte dopo il tag <!--more-->). get_extended restituisce un array con tre chiavi, di cui le chiavi main e extended sono importanti: $arr['main'] contiene la parte prima del tag more, e $arr['extended'] la parte dopo il tag more.

Questo produrrebbe qualcosa come:

// Recupera il contenuto del post
$content = get_post_field( 'post_content', get_the_ID() );

// Ottieni le parti del contenuto
$content_parts = get_extended( $content );

// Mostra la parte prima del tag <!--more-->
echo $content_parts['main'];
10 giu 2014 11:28:54
Commenti

Piccolo miglioramento per essere coerenti con la funzione the_content(): echo apply_filters('the_content', $content_parts['main']);

long long
20 mag 2019 16:03:34

Ho avuto problemi con i filtri dei blocchi che non venivano applicati correttamente a $content_parts['extended'], anche utilizzando apply_filters('the_content', $content_parts['extended']). La soluzione è stata prima eseguire $filtered_content = apply_filters('the_content', $content) e poi $content_parts = get_extended( $filtered_content ).

Bence Szalai Bence Szalai
20 lug 2023 15:34:13
0

Sfortunatamente sembra che tutte le funzioni in WordPress che dovrebbero generare l'estratto (get_extended, get_extended) non applicano i tag HTML né convertono i ritorni a capo in paragrafi come ci si aspetterebbe.

Se hai bisogno di visualizzare l'estratto con la formattazione, ti consiglio di utilizzare questo codice:

global $more;
$more_backup = $more;
$more = 0;
the_content('');
$more = $more_backup;

Con questo stratagemma stai dicendo alla funzione the_content() che si trova all'interno di un loop, ottenendo così il contenuto prima del tag more.

8 feb 2017 02:52:32