Musilda.cz

Funkce get_posts

Funkce get_posts, je jedna z hojně využívaných funkcí, pro vytváření loopů (smyček) s výpisem článků. Můžete tak vypsat například poslední články, nebo články, dle zadaných argumentů.

Funkce get_posts se může na první pohled jevit jako podobná funkci get_pages, ale na rozdíl od ní, nepřistupuje přímo do databáze. Namísto toho, využívá WP_Query a každým zavoláním get_posts, tak vytvoříte novou instanci objektu. Díky tomu tak můžete na stránce vytvořit více loopů – výpisů článků, dle různých parametrů. Pokud tedy na hlavní straně šablony vidíte různé výpisy posledních článků, článků od autora, nebo kategorie, můžete toho dosáhnout právě použitím get_posts. WP_Query používá také query_posts, ale nedoporučuje se používat, pokud nechcete ovlivnit hlavní loop na stránce. Pokud chcete ovlivnit hlavní výpis, použijte pro to hook pre_get_posts.

Použití get_posts

$posts_array = get_posts( $args );

Několik příkladů použití

Výpis článků od jednoho autora:

$query = get_posts( 'author_name=rami' );

Výpis článků z jedné kategorie podle id, nebo slug:

$query = get_posts( 'cat=4' );
$query = get_posts( 'category_name=staff' );

Výpis článků podle štítků:

$query = get_posts( 'tag=bread,baking' );

Výpis článků podle taxonomie:

$args = array(
	'post_type' => 'post',
	'people' => 'bob'
);
$query = get_posts( $args );

Výpis článků pro custom post type „recepty“:

$query = get_posts( 'post_type=recepty' );

V praxi se většinou s takto jednoduchými dotazy nesetkáte, často se budou argumenty kombinovat a tak je běžnější podobný kód:

$args_search = array( 
    	'post_type' => array( 'telefony' ),
        'posts_per_page' => -1,
        'meta_key' => 'vybaveni',
        'orderby' => 'meta_value_num',
        'order' => 'ASC'
    );

$wp_query = get_posts( $args_search );

Vzhledem k tomu, že argumenty i použití je velmi podobné WP_Query, můžete stejné kódy použít i takto:

$query = new WP_Query( 'tag=bread,baking' );

Pomocí get_posts si tak můžete výpis článků upravit k obrazu svému, jen se musíte rozhodnout, zda není použití zbytečné. Pro custom post type a jejich taxonomie, má WordPress definovány soubory, sloužící pro jejich výpis.

Seznam argumentů

Exit mobile version