Rozdělení dlouhého příspěvku a výpisu rubrik na více stran

Úvodní stránka Fórum podpory WordPressu Čeština pro WordPress Rozdělení dlouhého příspěvku a výpisu rubrik na více stran

Zvolené téma obsahuje celkem 34 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 12 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 15 příspěvků - 21. až 35. (z celkem 35)
  • Autor
    Příspěvky
  • #8846

    BorgMcz
    Participant
    Web

    Tak to ja vám neřeknu, to jsem dofal, že mi to pomůžete objasnit. Je to šablona co jsem našel volně ke stažení na stránkách wordpressu a vypadala podle mého názoru vhodně pro můj web.

    #8847

    neteyescz
    Participant

    Hlavní je, že to funguje.

    Ještě požádám o vyjádření admina, ten je znalejší a určitě o tom něco bude vědět…

    #8848

    BorgMcz
    Participant
    Web

    Perfektní, děkuji. Ja vím že jsem otravný, ale rád vím jak to funguje a nerad se spokojím jen s výsledkem, že to funguje :-)

    #8849

    neteyescz
    Participant

    Samozřejmě, a to je dobře :-)

    Admin by se měl během několika hodin vyjádřit.

    #8850

    admin
    Keymaster
    Web

    Ano, admin je částečně na dovče a neteyescz to tu naštěstí zachraňuje :-) Každé takové vlákno je ale hlavně pro admina asi hodina práce, protože to musí přečíst, pochopit a pokusit se vysvětlit případné záhady, případně problém uvést do souvislostí. A protože se na fóru objevuje stále více dotazů a zároveň mám mnoho placené práce a připravuju novou verzi fóra, tak by se musel admin velmi brzo zbláznit :-)

    Prošel jsem si už ale celé vlákno a jen to nakonec celé shrnu a trochu okomentuju…

    Je třeba rozlišovat rozdíly mezi stránkami a příspěvky. Pokud máte nějakou stránku (dlouhý text), tak je možné ji rozdělit na několik částí pomocí <!--nextpage-->. Dříve bývalo v editoru speciální tlačítko, které sice postupně zmizelo, ale jde “obnovit” a funkčnost zůstala zachována. V šabloně pak musíte ještě použít funkci wp_link_pages(). Jde ale pouze o rozdělení jedné stránky (textu). Uvedený kód (BorgMcz) je zajímavý a na první pohled mě nenapadá jednodušší řešení tak, aby byly v odkazech jak čísla, tak textové odkazy (ale zkusím se na to ještě podívat). Zajímavý je také zmíněný plugin Number My Post Pages, jakou funkci jste nakonec vložil do šablony? Je možné někde vidět online, jak nakonec toto rozdělění stránky vypadá?

    Trochu se plete také pojem “stránka” (jako nějaký text) a stránka ve výpisu příspěvků (či obecně stránka webu), která vznikla stránkováním mnoha příspěvků a není to vlastně nic jiného než rozdělěný výpis příspěvků na dílčí stránky (které ale nemůžete upravovat v administraci). Pro stránkování je ideální plugin WP-PageNavi (další pluginy jsem ani neznal, díky za zmínku, neteyescz). Výše uváděný kód

    <?php if( function_exists( 'wp_pagenavi' ) ) { wp_pagenavi(); } ?>

    je však třeba vložit až na konec výpisu příspěvků (tedy po ukončení loopu = smyčky).

    Používaná šablona Engineering and Machinering využívá funkce get_template_part() (novinka WordPressu 3.0), která je už trochu složitější na pochopení, ale stručně řečeno jde o to, že např. z klasického souboru pro zobrazení příspěvku (single.php) vyčleňuje samotnou smyčku (loop) pro výpis příspěvku a odkazuje na příslušný soubor loop-single.php, který to řeší samostatně. Cokoliv je ale součástí souboru loop-cokoliv.php, tak je součástí loopu (pro související obsah webu). A pokud tedy potřebujete něco vložit až za konec loopu, musíte to provést v původním souboru (tedy např. single.php či archive.php), a to až po funkci get_template_part(). Je to ale námět na celý dlouhý článek :-)

    Takže výše uvedený kód pro stránkování by se správně neměl dávat do souboru footer.php (načítá se na všech stránkách), ale pouze tam, kde bude potřeba, tedy ve výpisu příspěvků v rubrikách (v našem případě tedy soubor category.php) + případně ve výpis příspěvků z různých rubrik na úvodní stránce (tedy soubor index.php). Soubory attachment.php a loop-attachment.php slouží pro zobrazování nahraných souborů z Knihovny médií na vlastních URL adresách…

    Očekávám další doplňující dotazy :-)

    #8851

    BorgMcz
    Participant
    Web

    Super, dekuji za fakt vycerpavajici odpoved. Vysledek obou strankovani je mozne prohlednout na techto dvou odkazech:

    http://dccmm.dyndns.info/index.php/elektro-mm/lusmat/2

    http://dccmm.dyndns.info/index.php/category/elektro-mm

    Kazdopadne je uz rozdeleni kategorie presunuto na spravne misto, tedy alespon myslim protoze jsem to presunul do souboru category.php .

    Pro rozdeleni samotneho prispevku jsem pouzil ten uvedeny plugin, ale jen proto, ze vypadal lepe, nez me puvodni zobrazeni pridanim me upravy kodu, vadilo mi vypsani pri prvni strance ze chybela i jen neaktivni moznost linku “předchozi”.

    Jeste se zeptam, netusite, jakym spusobem (myslim jake soubory se pouziji) , kdyz zvolim, ze uvodni stranka ma byt vypis prispevku? Jde mi o to, ze bych rád, aby se vypisovali jen zacatky prispevku, jako nahledy, jako v rubrikach. Protože se mi vypisuji prispevky cele, pokud jsou na uvodni starne.

    #8852

    neteyescz
    Participant

    Zdravím,

    V menu najdete nastavení+zobrazování – zobrazit nejnovější příspěvky.

    Dále pak v souboru loop.php vyměníte funkci

    <?php the_content(); ?> za <?php the_excerpt(); ?> .

    Doporučuji kouknout na dokumentaci.

    http://codex.wordpress.org/Function_Reference/the_excerpt

    #8853

    BorgMcz
    Participant
    Web

    Dekuji za radu, ale bohuzel nefunguje pro tuto sablonu. Ona totis ten nahled v rubrice vytvari sama, bez nutnosti pouzivat <!–more–>. Takže to takto nefunguje. Zkusim opet drze pockat na admina, ten uz myslim tu sablonu prozkoumaval a treba mi opet poradi s upravou kodu.

    #8854

    BorgMcz
    Participant
    Web

    Tak jsem metodou pokus omyl po navedeni na stranku loop.php a funkce <?php the_content(); ?> za <?php the_excerpt(); ?> dospel ke zdarnemu vysledku, take jsem pri te prilezitosti zjistil, ktere dalsi funce co delaji a tak je mozne se presvedcit o vyslednu http://dccmm.dyndns.info

    Takze velice dekuji za pomoc a trpelivost. Ted uz si jen musim pohrat s menu, ktere chci upravit v zahlavi, ale to uz bych mel zvladnout snad bez pomoci. Takze dekuji jeste jednou.

    #8855

    neteyescz
    Participant

    I já jsem z vaší předchozí zprávy byl zmatený. Šablonu kterou jste používal jsem s včera stáhl a normálně v ní našel použitou funkci the_content. Jsem velice rád, že již to funguje.

    Neteyes.cz

    #8856

    admin
    Keymaster
    Web

    BorgMcz: Jak jste přesně použil ten plugin pro stránkování stránek (textů)? Jaké parametry pro funkci v šabloně? Jinak výpis nejnovějších příspěvků na úvodní stránce nejčastěji řeší soubor index.php. V případě této šablony však vidíte, že pomocí funkce get_template_part() ihned odkazuje na loop.php. Pozor, úprava souboru loop.php se načítá nejen na úvodní stránce, ale i ve výpis rubrik, štítků či výsledků vyhledávání… V tomto souboru je také více různých podmínek, takže tu funkci musíte nahradit na více místech. na druhou stranu ji vlastně ani nemusíte nahrazovat, ale stačí používat značku pro pokračování textu? Vlastně jde o uživatelské rozdělení textu na dvě části (úvodník a samotný text), tedy podmnožina stránkování textů na libovolné množství stránek.

    Funkce the_excerpt() pouze automaticky zkracuje obsah získaný pomocí funkce the_content() – pokud ovšem nepoužíváte speciální pole v administraci pro Stručný výpis příspěvku. je to ale celé ještě trochu zamotanější a existuje mnoho dalších (nepříliš častých) kombinací…

    #8857

    BorgMcz
    Participant
    Web

    O znacce “MORE” vim, ale reseni pomoci funkce the_exerpt bylo mnohem hezcim resenim a mam moznost v sablone si nastavovat pocet slov zobrazenych v nahledu clanku. Toto nastaveni je v souboru “functions.php”.

    V souboru “loop” jsem nasel misto jde byla podminka, ktera vypisovala clanky podle volani. Tedy zda se jedna o vypsani na uvodni strance a nebo uz z categorie nebo archivu. Podminku jsem nemazal (to pro pripad, ze bych ctel nekdy v budoucnu nejak s uvodni strankou jeste neco delat) , jen jsem vlastne pouzil stejny kod, ktery se staral o vypis prizpevku z categorie.

    Priznam se, ze ted nevim, jak odpovedet na prvni dve otazky, zkuste mi je jeste vice specifikovat, rad na ne odpovim.

    #8858

    admin
    Keymaster
    Web

    Ano, každý způsob je lepší pro něco trochu jiného. Značka pro pokračování textu je zase vhodnější, když chcete mít v úvodníku ucelené texty, které budou u každého článku trochu jinak dlouhé…

    Otázky směřovaly k použití pluginu Number My Post Pages. Musel jste v nějaké podobě vložit funkci pluginu s názvem mysinglepages() do šablony a s nějakými parametry?

    #8859

    BorgMcz
    Participant
    Web

    Postupoval jsem podle navodu k instalaci v popisu plugínu, jen v mem pridade sablony se to vkladalo do souboru “loop-single.php”. Vlozeny kod ma vypadat takto

    <?php mysinglepages(wp_link_pages(array('before' => '', 'after' => '', 'next_or_number' => 'number','echo' => '0'))); ?>

    Jeste je treba v pluginu rucne prelozit anglický vyraz “Page:” za nejaky svuj na radku 252. Ostatni texty lze menit primo v nastaveni pluginu.

    #8860

    admin
    Keymaster
    Web

    BorgMcz: Díky, takže to je docela jednoduché. Je to vcelku užitečný plugin, ani jsem ho dříve neznal, ale stránkování textů pak vypadá ještě o trochu lépe…

Aktuálně je na stránce zobrazeno 15 příspěvků - 21. až 35. (z celkem 35)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti