Afisează doar conținutul înainte de tag-ul more

10 iun. 2014, 04:57:55
Vizualizări: 14.9K
Voturi: 10

Folosesc șablonul Siren. În homepage.php acest cod este folosit pentru a afișa conținutul portofoliului

print_excerpt(200);

Dar trebuie să afișez doar conținutul de dinainte de <!--more-->

Am încercat să folosesc:

the_content( $more_link_text, FALSE);

dar nu funcționează. Afișează tot conținutul

2
Comentarii

Acesta este un temă premium la care nu avem acces

Pieter Goosen Pieter Goosen
10 iun. 2014 07:25:52

folosesc versiunea gratuită http://topwpthemes.com/siren/

MajidGh MajidGh
12 iun. 2014 03:14:22
Toate răspunsurile la întrebare 2
2
26

Puteți utiliza funcția WordPress get_extended pentru a prelua diferitele părți ale unui șir de caractere (partea dinainte și partea după eticheta <!--more-->). get_extended returnează un array cu trei chei, dintre care cheile main și extended sunt importante: $arr['main'] conține partea dinaintea etichetei "more", iar $arr['extended'] partea de după eticheta "more".

Acest lucru ar produce ceva de genul:

// Preluare conținut post
$content = get_post_field( 'post_content', get_the_ID() );

// Obținere părți conținut
$content_parts = get_extended( $content );

// Afișare parte dinainte de <!--more-->
echo $content_parts['main'];
10 iun. 2014 11:28:54
Comentarii

Mică îmbunătățire pentru a fi consistent cu funcția the_content(): echo apply_filters('the_content', $content_parts['main']);

long long
20 mai 2019 16:03:34

Am avut probleme cu filtrele de bloc care nu rulează corect pe $content_parts['extended'], chiar și atunci când foloseam apply_filters('the_content', $content_parts['extended']). Soluția a fost să rulez mai întâi $filtered_content = apply_filters('the_content', $content) și apoi $content_parts = get_extended( $filtered_content ).

Bence Szalai Bence Szalai
20 iul. 2023 15:34:13
0

Din păcate, se pare că toate funcțiile din WordPress care ar trebui să afișeze rezumatul (get_extended, get_extended) nu aplică tag-urile HTML și nici nu convertesc întoarcerile la rând în paragrafe așa cum era de așteptat.

Dacă aveți nevoie să afișați rezumatul cu formatare, vă sugerez să folosiți acest cod:

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

Cu această soluție temporară, îi spuneți funcției the_content() că se află în interiorul unei bucle, obținând conținutul dinaintea tag-ului more.

8 feb. 2017 02:52:32