De ce the_content() nu afișează conținutul?

2 mar. 2012, 04:54:32
Vizualizări: 59.3K
Voturi: 7

Pe site-ul meu WordPress, the_content() nu afișează conținutul, dar $post->post_content îl arată, de ce se întâmplă acest lucru? și cum pot folosi din nou the_content?

5
Comentarii

Care este codul care înconjoară acea porțiune? Ești în buclă?

mor7ifer mor7ifer
2 mar. 2012 04:58:36

Ce Temă folosești? Dacă este o Temă personalizată, atunci va trebui să vedem codul personalizat pentru fișierul template în cauză.

Chip Bennett Chip Bennett
2 mar. 2012 05:24:50

Am dat și eu peste o astfel de problemă. Cred că apare din cauza unui alt WP_Query efectuat înainte de the_content().

ifdion ifdion
2 mar. 2012 13:10:41

Mi s-a întâmplat când am actualizat la WP5

Fanky Fanky
28 iun. 2019 14:59:48

Nu înțeleg de ce această întrebare este marcată ca puțin probabil să ajute viitori vizitatori - este o întrebare bună și are răspunsuri utile. Nu pare mai "extraordinar de îngustă" decât orice altă întrebare de pe WordPress Stack Exchange.

JohnG JohnG
31 iul. 2020 15:10:28
Toate răspunsurile la întrebare 3
6
10

Pentru a folosi funcția "the_content()", aceasta trebuie să fie utilizată în cadrul Buclei (The Loop).

Consultați aici: http://codex.wordpress.org/Function_Reference/the_content

"Afișează conținutul postării curente. Această funcție trebuie să fie în cadrul The_Loop."

2 mar. 2012 05:00:10
Comentarii

este un single.php și a funcționat înainte

srisar srisar
2 mar. 2012 05:03:35

dar atunci cum funcționează $post->post_content? plus, the_title() funcționează și el..

srisar srisar
2 mar. 2012 05:04:15

Chiar și single.php trebuie să aibă The Loop în el pentru a prelua conținutul și valorile câmpurilor personalizate. Cât despre the_title() [dacă nu greșesc] este un câmp întotdeauna definit. Nu poți avea o postare publicată fără un titlu introdus. Din punct de vedere tehnic și corect din perspectiva WP, the_title() ar trebui să fie tot în cadrul The Loop.

Dacă ești împotriva utilizării The Loop și $post->post_content funcționează, poți folosi întotdeauna funcția apply_filters() pentru a afișa conținutul. http://codex.wordpress.org/Function_Reference/the_content#Alternative_Usage

The Z Man The Z Man
2 mar. 2012 05:09:23

mulțumesc pentru răspuns, doar mă întrebam de ce a încetat să mai funcționeze, înainte mergea. oricum mulțumesc, dacă îmi voi descoperi greșeala cu siguranță voi posta aici ca să ajute pe cineva.

srisar srisar
2 mar. 2012 05:14:16

Nicio problemă srisar! Mult succes în continuare. Dacă găsești o soluție sau un răspuns mai bun, da, te rog postează-l aici :)

The Z Man The Z Man
2 mar. 2012 05:18:08

păcat că nu mai face parte din pagina de documentație...

Benjamin Benjamin
12 nov. 2018 18:38:37
Arată celelalte 1 comentarii
0

Dacă a funcționat înainte, probabil este un plugin care se conectează la filtrul the_content. Dezactivează pluginurile unul câte unul pentru a vedea dacă această problemă se rezolvă. Apoi, verifică funcțiile de callback pentru filtrul the_content.

Poți vedea fiecare callback pentru the_content adăugând următoarele:

add_action('template_redirect', 'wpse_44152_template_redirect');
function wpse_44152_template_redirect(){
    global $wp_filter;
    print_r($wp_filter['the_content']);
}

Găsește fiecare dintre funcțiile listate făcând o căutare de cod 'find in files' în editorul tău de cod. Un callback de filtr TREBUIE să returneze datele $content înapoi pentru ca the_content() să funcționeze corect.

2 mar. 2012 06:08:05
0

poți verifica fișierul functions.php din folderul temei tale, pentru a vedea dacă există vreo funcție care modifică funcția "the_content". Tema mea avea aceeași problemă și am descoperit că o funcție conținea o eroare care făcea ca "the_content" să nu funcționeze.

caută text precum "the_content" în functions.php,

26 nov. 2012 11:08:41