Probleme cu eticheta "More" în WordPress

8 dec. 2010, 12:57:34
Vizualizări: 3.09K
Voturi: 2

Am creat propriul meu tip de postare personalizată folosind acest tutorial: http://thinkvitamin.com/code/create-your-first-wordpress-custom-post-type/

Totul funcționează bine, dar am o problemă majoră cu funcția "Read more".

După cum știm cu toții, <!--more--> adaugă <span id="more-[number]" /> la începutul paragrafului ascuns "more". În cazul meu, acest span distruge întregul markup.

Uită-te singur:

    <p>Acesta este un paragraf normal și ar trebui să fie vizibil peste tot.</p>

    <!-- tot ce este mai jos este disponibil doar după click pe butonul "Read more..." -->

    <p><span id="more-[postnumber] />Acesta este paragraful "more" care va fi afișat doar pe pagina "single".</p>
    <p>Și încă un paragraf "more".</p>

În cazul meu creează acest cod ciudat:

  <p>Acesta este un paragraf normal și ar trebui să fie vizibil peste tot.<br/>
  <span id="more-[postnumber] /></br>Acesta este paragraful "more" care va fi afișat doar pe pagina "single".</p>
  <p>Și încă un paragraf "more".</p>

Deci funcția "more" în cazul meu nici măcar nu funcționează și nu afișează butonul "Read more".

Idei?

[EDITAT]

Ok, am adăugat spații goale înainte și după eticheta mea <!--more-->, așa că postarea arată acum astfel în panoul de administrare:

Acesta este un paragraf normal și ar trebui să fie vizibil peste tot.

<!--more-->

Acesta este paragraful "more" care va fi afișat doar pe pagina "single".

Și încă un paragraf "more".

Și afișează tot textul deoarece span-ul more primește un paragraf suplimentar (de ce? :O):

<p>Acesta este un paragraf normal și ar trebui să fie vizibil peste tot.</p>
<p><span id="more-[postnumber] /></p> <!-- Cred că nu ar trebui să fie într-un tag <p> suplimentar și asta e problema -->
<p>Acesta este paragraful "more" care va fi afișat doar pe pagina "single".</p>
<p>Și încă un paragraf "more".</p>

Și despre "butonul more" - folosesc the_content din păcate...

Și nimic nu ajută, când scriu 'TRUE' ca al doilea parametru - the_content('Read more...', TRUE); - ascunde totul ÎNAINTE de eticheta more (deci afișează ultimele două paragrafe și ascunde primul).

Ce e asta? :O

2
Comentarii

Pentru clarificare, elementul more span trebuie să fie într-un tag p separat. Acest lucru este intenționat și normal. Când spui dispare, te referi la faptul că elementele dispar din sursa paginii? Ar putea fi o problemă de CSS?

Rarst Rarst
8 dec. 2010 18:24:32

Nu, nu este. Am verificat o mulțime de teme personalizate cu nume de postări personalizate și am observat că FIECARE dintre ele utilizează funcția the_excerpt() în loc de the_content. Așa că am decis să fac schimbarea și să adaug un link href cu permalink mai jos. Și funcționează. Cred că este ceva în neregulă cu WordPress.

Wordpressor Wordpressor
8 dec. 2010 19:15:11
Toate răspunsurile la întrebare 2
1

Deci, două probleme separate - linkurile nu sunt afișate și markup-ul defectuos?

Pentru linkurile care nu sunt afișate - verifică dacă șablonul tău folosește funcția the_content(), funcționalitatea more nu afișează linkurile după the_excerpt().

Pentru markup, am observat că ai nevoie de linii goale în jurul more pentru ca totul să funcționeze corect.

Deci acest lucru poate cauza probleme de markup:

Text aici.
<!--more-->
Și mai mult text aici.

Dar acest lucru funcționează corect:

Text aici.

<!--more-->

Și mai mult text aici.
8 dec. 2010 13:20:31
Comentarii

Nimic nu funcționează. Mulțumesc pentru încercare. Voi actualiza primul post și voi explica ce am încercat deja...

Wordpressor Wordpressor
8 dec. 2010 17:48:22
0

Eticheta quicktag nu va funcționa și este ignorată în șabloane, cum ar fi single.php, unde este afișat un singur articol. http://codex.wordpress.org/Function_Reference/the_content

10 feb. 2011 21:10:09