Archiv štítku: query_posts

Jak zjednodušit databázové dotazy když nepotřebujete stránkování?

Chystaný WordPress 3.2 se zaměřuje hlavně na optimalizaci a zrychlení načítání webu a v této souvislosti byl objeven docela zajímavý trik. Jde o “neveřejný” parametr no_found_rows, který může být využit např. ve funkcích query_posts(), WP_Query() či get_posts(), ale skoro nikdo o něm neví a moc se nepoužívá, i když dokáže v mnoha případech zjednodušit některé prováděné dotazy do databáze, a tím i zrychlit načítání celého webu ve WordPressu.

Pokračování textu Jak zjednodušit databázové dotazy když nepotřebujete stránkování?

Problémy se stránkováním příspěvků při použití funkce query_posts()

Poměrně jednoduchá (a přesto velmi mocná) funkce query_posts() je mezi uživateli WordPressu velmi oblíbená, protože si mohou s její pomocí snadno (a téměř libovolně) upravit výpisy příspěvků na svém webu. Bohužel ale není vždy používána zcela správně a může tak v některých případech způsobovat různé problémy, nebo nejsou některé její vlastnosti na první pohled zcela zřejmé, což je i případ častých problémů s nefunkčním stránkováním.

Pokračování textu Problémy se stránkováním příspěvků při použití funkce query_posts()

Omezení výpisu příspěvků (např. podle autora, rubriky) na homepage za použití funkce query_posts()

Tato situace se často opakuje, některé rubriky prostě nemají ze své podstaty (např. mnoho krátkých příspěvků) místo na homepage, takže je tam nechcete zobrazovat. Řešení je velmi jednoduché, kdy stačí přidat pouze jeden řádek kódu v šabloně. Protože jde o homepage, musíte upravit soubor index.php v adresáři s šablonou (budu to ukazovat na příkladu defaultní šablony z WordPressu 2.8.4). Najděte místo, kde začíná výpis příspěvků, tedy něco podobného (může se lišit třeba chybějícími uvozovacími php tagy) tomuto kódu:

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

A před tento kód přidejte následující řádek:

<?php query_posts('author=-3&cat=-3'); ?>

Co se přesně stane? Právě jste upravili výpis příspěvků na homepage tak, že se budou zobrazovat všechny příspěvky kromě těch, které jsou v rubrice s ID = 3 a od autora s ID = 3. Jednotlivá ID naleznete v administraci a změňte si je samozřejmě podle svých potřeb. Pokud je tam před nimi znaménko minus, tak jsou z výpisu dané příspěvky vyloučeny a naopak, pokud tam minus nebude, tak se zobrazí příspěvky pouze z této rubriky a od tohoto autora. Každopádně doporučuji prohlédnout manuál, který se všemi parametry funkce query_posts() detailně zabývá.