{"id":970,"date":"2013-08-08T05:56:51","date_gmt":"2013-08-08T05:56:51","guid":{"rendered":"http:\/\/musilda.cz\/?p=970"},"modified":"2013-08-08T05:56:51","modified_gmt":"2013-08-08T05:56:51","slug":"co-znamena-loop-ve-wordpress-sablone","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/co-znamena-loop-ve-wordpress-sablone\/","title":{"rendered":"Co znamen\u00e1 Loop ve WordPress \u0161ablon\u011b"},"content":{"rendered":"

Pokud jste se setkali p\u0159i pro\u010d\u00edt\u00e1n\u00ed Codexu, nebo n\u011bkter\u00e9ho z n\u00e1vod\u016f pro WordPress s pojmem Loop a chcete porozum\u011bt, co tento v\u00fdraz znamen\u00e1, je tento \u010dl\u00e1nek ur\u010den v\u00e1m. Loop je jedn\u00edm ze z\u00e1kladn\u00edch kamen\u016f WordPress \u0161ablony a d\u00e1 se \u0159\u00edci, \u017ee bez n\u011bj by nebyla pr\u00e1ce s t\u00edmto redak\u010dn\u00edm syst\u00e9mem tak jednoduch\u00e1.<\/p>\n

Jednodu\u0161e \u0159e\u010deno, Loop je smy\u010dka, pomoc\u00ed kter\u00e9 se vypisuje p\u0159\u00edslu\u0161n\u00fd obsah.<\/p>\n

WordPress postupuje n\u00e1sleduj\u00edc\u00edm zp\u016fsobem:<\/p>\n

    \n
  1. Definuj co chce\u0161 zobrazit<\/li>\n
  2. Za\u010d\u00e1tek loopu<\/li>\n
  3. V\u00fdpis obsahu, kter\u00fd chceme zobrazit<\/li>\n
  4. Ukon\u010den\u00ed loopu<\/li>\n<\/ol>\n

    Pro loop, nebo smy\u010dku, \u010di jakkoli to budeme naz\u00fdvat m\u00e1 WordPress funkce, kter\u00e9 se daj\u00ed pou\u017e\u00edt uvnit\u0159 loop, ale ne mimo n\u011bj. Pokud nap\u0159\u00edklad pou\u017eijete the_title() mimo smy\u010dku, nezobraz\u00ed se v\u00e1m nic, mus\u00edte pou\u017e\u00edt single_post_title<\/a>.<\/p>\n

    Z\u00e1kladn\u00ed tvar loopu<\/h2>\n

    S t\u00edmto z\u00e1pisem se z\u0159ejm\u011b setkal ka\u017ed\u00fd, kdo se pod\u00edval na zdrojov\u00e9 soubory \u0161ablony:<\/p>\n

    \nif (have_post()): while: (have_post()): the_post():\nObsah, kter\u00fd se zobrazuje\nelse:\nText, kter\u00fd se zobraz\u00ed, pokud nen\u00ed obsah k vyps\u00e1n\u00ed\nendwhile;\nendif;\n<\/pre>\n

    Ze z\u00e1pisu je z\u0159ejm\u00e9, jak to funguje, proto\u017ee pro ka\u017ed\u00fd definovan\u00fd soubor, jako jsou single.php, page.php, archive.php, nebo categories.php p\u0159iprav\u00ed WordPress jin\u00fd druh obsahu, nemus\u00edme pro tyto soubory loop nijak upravovat. Sta\u010d\u00ed pou\u017e\u00edt funkce ur\u010den\u00e9 pro v\u00fdpis obsahu uvnit\u0159 loopu.<\/p>\n

    Rozd\u00edl mezi page.php a archive.php je v tom, \u017ee u page m\u00e1me pouze jeden titulek a jeden obsah, kde\u017eto u arch\u00edvu t\u011bch \u010dl\u00e1nku m\u016f\u017ee b\u00fdt i tis\u00edc a loop vyp\u00ed\u0161e \u010dl\u00e1nek a proto\u017ee je v arch\u00edvu dal\u0161\u00ed, vr\u00e1t\u00ed se zp\u011bt na za\u010d\u00e1tek a provede smy\u010dku znovu, tak dlouho, dokud bude co vypisovat. Samoz\u0159ejm\u011b pomoc\u00ed str\u00e1nkov\u00e1n\u00ed se d\u00e1 po\u010det proveden\u00fdch loop\u016f omezit t\u0159eba na 20.<\/p>\n

    Pokud budeme tedy cht\u00edt vypsat \u010dl\u00e1nky z ur\u010dit\u00e9 kategorie, tak do souboru categories.php vlo\u017e\u00edme tento upraven\u00fd loop:<\/p>\n

    \nif (have_post()): while: (have_post()): the_post(): ?>\n

    <\/h2>\n\n\n<a href="\">Cel\u00fd \u010dl\u00e1nek<\/a>\n\n

    Nenalezeno<\/h2>\n

    Bohu\u017eel jsme nena\u0161li to co hled\u00e1te.<\/p>\n<?php endwhile;\nendif;\n<\/pre>\n

    Pomoc\u00ed funkc\u00ed uvnit\u0159 loopu vyp\u00ed\u0161eme titulek, n\u00e1hledov\u00fd obr\u00e1zek, kr\u00e1tk\u00fd v\u00fdpis p\u0159\u00edsp\u011bvku a zobraz\u00edme odkaz na cel\u00fd \u010dl\u00e1nek. Vid\u00edte, jak je to snadn\u00e9.<\/p>\n

    V loopu m\u016f\u017eete pou\u017e\u00edt funkce ur\u010den\u00e9 pro v\u00fdpis ur\u010dit\u00e9 \u010d\u00e1sti obsahu, ale i specifick\u00e9 podmi\u0148ovac\u00ed funkce. N\u011bkter\u00e9 z nich zde vyp\u00ed\u0161i:<\/p>\n