WP_Query – silná trieda vo WordPresse

Na ľubovoľnom mieste v šablóne wordpress stránky vieme prerušiť a zavolať custom query a zobraziť úplne nový odlišný obsah.

Nedávno som poradil na twitteri jednému vo wordpresse sa trápiacemu. Potreboval práve WP_Query na načítanie obsahu z custom taxonómii.

Určite odporúčam najprv prejsť kódex http://codex.wordpress.org/Class_Reference/WP_Query

Uvediem príklad použitia:

Som na úvodnej stránke a logicky sa najprv vyrendruje header.php

Lenže ja chcem v header.php zavolať a zobraziť obsah z custom postu – box s id 193. Čiže ešte pred zobrazením obsahu úvodnej stránky zmením hlavné volanie wordpressu na iné, tam pomocou loopu zobrazím iný obsah a potom sa vrátim k pôvodnému volaniu a dorendrujem normálne stránku do konca.

$temp_ID = $post->ID;  //uložím si do pomocnej premennej aktuálne ID
$temp_query = $wp_query;  //uložím si do pomocnej premennej celú aktuálnu query.
$wp_query = null; //vynulujem si aktuálnu tému
$loop = new WP_Query( array( 'post_type' => 'box', 'p' =>193)); //vytvorím si novú query a do loopu priradím novú query s argumentami na obsah.

while($loop->have_posts()) : $loop->the_post(); //klasický loop
   the_content(); 
endwhile;

$wp_query = null; //vynulujem si query
$wp_query = $temp_query; //načítam si pôvodnú query
$post->ID = $temp_ID; //upravím si $post->ID pre ďalšie potreby

Výhodou je, že nemusím písať SQL príkaz, ale využijem úžasné wordpress API.

Môžem zavolať akýkoľvek obsah, rovno definujem parametre výpisu. V loope potom  vypíšem, čo potrebujem, title, content, thumbnail, date, excerpt, kľudne aj custom field daného postu.

Páči sa vám článok?

Potrebujete riešenie na mieru?
Kontaktujte nás!

Alebo vyplňte krátky formulár

Zadať dopyt