{"id":1799,"date":"2014-05-10T05:44:32","date_gmt":"2014-05-10T05:44:32","guid":{"rendered":"http:\/\/musilda.cz\/?p=1799"},"modified":"2014-05-10T05:44:32","modified_gmt":"2014-05-10T05:44:32","slug":"funkce-get_posts","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/funkce-get_posts\/","title":{"rendered":"Funkce get_posts"},"content":{"rendered":"<p>Funkce get_posts, je jedna z hojn\u011b vyu\u017e\u00edvan\u00fdch funkc\u00ed, pro vytv\u00e1\u0159en\u00ed loop\u016f (smy\u010dek) s v\u00fdpisem \u010dl\u00e1nk\u016f. M\u016f\u017eete tak vypsat nap\u0159\u00edklad posledn\u00ed \u010dl\u00e1nky, nebo \u010dl\u00e1nky, dle zadan\u00fdch argument\u016f.<!--more--><\/p>\n<p>Funkce get_posts se m\u016f\u017ee na prvn\u00ed pohled jevit jako podobn\u00e1 funkci get_pages, ale na rozd\u00edl od n\u00ed, nep\u0159istupuje p\u0159\u00edmo do datab\u00e1ze. Nam\u00edsto toho, vyu\u017e\u00edv\u00e1 WP_Query a ka\u017ed\u00fdm zavol\u00e1n\u00edm get_posts, tak vytvo\u0159\u00edte novou instanci objektu. D\u00edky tomu tak m\u016f\u017eete na str\u00e1nce vytvo\u0159it v\u00edce loop\u016f &#8211; v\u00fdpis\u016f \u010dl\u00e1nk\u016f, dle r\u016fzn\u00fdch parametr\u016f. Pokud tedy na hlavn\u00ed stran\u011b \u0161ablony vid\u00edte r\u016fzn\u00e9 v\u00fdpisy posledn\u00edch \u010dl\u00e1nk\u016f, \u010dl\u00e1nk\u016f od autora, nebo kategorie, m\u016f\u017eete toho dos\u00e1hnout pr\u00e1v\u011b pou\u017eit\u00edm get_posts. WP_Query pou\u017e\u00edv\u00e1 tak\u00e9 query_posts, ale nedoporu\u010duje se pou\u017e\u00edvat, pokud nechcete ovlivnit hlavn\u00ed loop na str\u00e1nce. Pokud chcete ovlivnit hlavn\u00ed v\u00fdpis, pou\u017eijte pro to hook pre_get_posts.<\/p>\n<h2>Pou\u017eit\u00ed get_posts<\/h2>\n<pre lang=\"php\">$posts_array = get_posts( $args );<\/pre>\n<h2>N\u011bkolik p\u0159\u00edklad\u016f pou\u017eit\u00ed<\/h2>\n<p>V\u00fdpis \u010dl\u00e1nk\u016f od jednoho autora:<\/p>\n<pre lang=\"php\">\n$query = get_posts( 'author_name=rami' );\n<\/pre>\n<p>V\u00fdpis \u010dl\u00e1nk\u016f z jedn\u00e9 kategorie podle id, nebo slug:<\/p>\n<pre lang=\"php\">\n$query = get_posts( 'cat=4' );\n$query = get_posts( 'category_name=staff' );\n<\/pre>\n<p>V\u00fdpis \u010dl\u00e1nk\u016f podle \u0161t\u00edtk\u016f:<\/p>\n<pre lang=\"php\">\n$query = get_posts( 'tag=bread,baking' );\n<\/pre>\n<p>V\u00fdpis \u010dl\u00e1nk\u016f podle taxonomie:<\/p>\n<pre lang=\"php\">\n$args = array(\n\t'post_type' =&gt; 'post',\n\t'people' =&gt; 'bob'\n);\n$query = get_posts( $args );\n<\/pre>\n<p>V\u00fdpis \u010dl\u00e1nk\u016f pro custom post type &#8222;recepty&#8220;:<\/p>\n<pre lang=\"php\">\n$query = get_posts( 'post_type=recepty' );\n<\/pre>\n<p>V praxi se v\u011bt\u0161inou s takto jednoduch\u00fdmi dotazy nesetk\u00e1te, \u010dasto se budou argumenty kombinovat a tak je b\u011b\u017en\u011bj\u0161\u00ed podobn\u00fd k\u00f3d:<\/p>\n<pre lang=\"php\">\n$args_search = array(\n    \t'post_type' =&gt; array( 'telefony' ),\n        'posts_per_page' =&gt; -1,\n        'meta_key' =&gt; 'vybaveni',\n        'orderby' =&gt; 'meta_value_num',\n        'order' =&gt; 'ASC'\n    );\n\n$wp_query = get_posts( $args_search );\n<\/pre>\n<p>Vzhledem k tomu, \u017ee argumenty i pou\u017eit\u00ed je velmi podobn\u00e9 WP_Query, m\u016f\u017eete stejn\u00e9 k\u00f3dy pou\u017e\u00edt i takto:<\/p>\n<pre lang=\"php\">\n$query = new WP_Query( 'tag=bread,baking' );\n<\/pre>\n<p>Pomoc\u00ed get_posts si tak m\u016f\u017eete v\u00fdpis \u010dl\u00e1nk\u016f upravit k obrazu sv\u00e9mu, jen se mus\u00edte rozhodnout, zda nen\u00ed pou\u017eit\u00ed zbyte\u010dn\u00e9. Pro custom post type a jejich taxonomie, m\u00e1 WordPress definov\u00e1ny soubory, slou\u017e\u00edc\u00ed pro jejich v\u00fdpis.<\/p>\n<h2>Seznam argument\u016f<\/h2>\n<ul>\n<li>author<\/li>\n<li>author_name<\/li>\n<li>author__in<\/li>\n<li>author__not_in<\/li>\n<li>cat<\/li>\n<li>category_name<\/li>\n<li>category__and<\/li>\n<li>category__in<\/li>\n<li>category__not_in<\/li>\n<li>tag<\/li>\n<li>tag_id<\/li>\n<li>tag__and<\/li>\n<li>tag__in<\/li>\n<li>tag__not_in<\/li>\n<li>tag_slug__and<\/li>\n<li>tag_slug__in<\/li>\n<li>{tax}<\/li>\n<li>tax_query<\/li>\n<li>\n<ul>\n<li>relation\n<ul>\n<li>taxonomy<\/li>\n<li>field<\/li>\n<li>terms<\/li>\n<li>include_children<\/li>\n<li>operator<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>s<\/li>\n<li>p<\/li>\n<li>name<\/li>\n<li>page_id<\/li>\n<li>pagename<\/li>\n<li>post_parent<\/li>\n<li>post_parent__in<\/li>\n<li>post_parent__not_in<\/li>\n<li>post__in<\/li>\n<li>post__not_in<\/li>\n<li>has_password<\/li>\n<li>post_password<\/li>\n<li>post_type\n<ul>\n<li>post<\/li>\n<li>page<\/li>\n<li>revision<\/li>\n<li>attachment<\/li>\n<li>any<\/li>\n<li>&#8222;Custom Post Types&#8220;<\/li>\n<\/ul>\n<\/li>\n<li>post_status\n<ul>\n<li>publish<\/li>\n<li>pending<\/li>\n<li>draft<\/li>\n<li>auto-draft<\/li>\n<li>future<\/li>\n<li>private<\/li>\n<li>inherit<\/li>\n<li>trash<\/li>\n<li>any<\/li>\n<\/ul>\n<\/li>\n<li>nopaging<\/li>\n<li>posts_per_page<\/li>\n<li>posts_per_archive_page<\/li>\n<li>offset<\/li>\n<li>paged<\/li>\n<li>page<\/li>\n<li>ignore_sticky_posts<\/li>\n<li>order\n<ul>\n<li>ASC<\/li>\n<li>DESC<\/li>\n<\/ul>\n<\/li>\n<li>orderby\n<ul>\n<li>none<\/li>\n<li>ID<\/li>\n<li>author<\/li>\n<li>title<\/li>\n<li>name<\/li>\n<li>date<\/li>\n<li>modified<\/li>\n<li>parent<\/li>\n<li>rand<\/li>\n<li>comment_count<\/li>\n<li>menu_order<\/li>\n<li>meta_value<\/li>\n<li>meta_value_num<\/li>\n<li>post__in<\/li>\n<\/ul>\n<\/li>\n<li>year<\/li>\n<li>monthnum<\/li>\n<li>w<\/li>\n<li>day<\/li>\n<li>hour<\/li>\n<li>minute<\/li>\n<li>second<\/li>\n<li>m<\/li>\n<li>date_query\n<ul>\n<li>year<\/li>\n<li>month<\/li>\n<li>week<\/li>\n<li>day<\/li>\n<li>hour<\/li>\n<li>minute<\/li>\n<li>second<\/li>\n<li>after\n<ul>\n<li>year<\/li>\n<li>month<\/li>\n<li>day<\/li>\n<\/ul>\n<\/li>\n<li>before\n<ul>\n<li>year<\/li>\n<li>month<\/li>\n<li>day<\/li>\n<\/ul>\n<\/li>\n<li>inclusive<\/li>\n<li>compare<\/li>\n<li>column<\/li>\n<li>relation<\/li>\n<\/ul>\n<\/li>\n<li>meta_key<\/li>\n<li>meta_value<\/li>\n<li>meta_value_num<\/li>\n<li>meta_compare<\/li>\n<li>meta_query\n<ul>\n<li>relation<\/li>\n<li>key<\/li>\n<li>value<\/li>\n<li>compare<\/li>\n<li>type<\/li>\n<\/ul>\n<\/li>\n<li>perm<\/li>\n<li>cache_results<\/li>\n<li>update_post_meta_cache<\/li>\n<li>update_post_term_cache<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Funkce get_posts, je jedna z hojn\u011b vyu\u017e\u00edvan\u00fdch funkc\u00ed, pro vytv\u00e1\u0159en\u00ed loop\u016f (smy\u010dek) s v\u00fdpisem \u010dl\u00e1nk\u016f. M\u016f\u017eete tak vypsat nap\u0159\u00edklad posledn\u00ed \u010dl\u00e1nky, nebo \u010dl\u00e1nky, dle zadan\u00fdch argument\u016f.<\/p>\n","protected":false},"author":1,"featured_media":8523,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[7,15],"tags":[158],"class_list":["post-1799","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codex","category-post-funkce","tag-funkce-get_posts"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu.png",1200,800,false],"thumbnail":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu-150x150.png",150,150,true],"medium":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu-300x200.png",300,200,true],"medium_large":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu-768x512.png",640,427,true],"large":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu-1024x683.png",640,427,true],"1536x1536":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu.png",1200,800,false],"2048x2048":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu.png",1200,800,false],"archive-list":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2014\/12\/funkce-ve-wordpressu-400x265.png",400,265,true]},"uagb_author_info":{"display_name":"Affinite","author_link":"https:\/\/affinite.io\/cs\/author\/affinite\/"},"uagb_comment_info":0,"uagb_excerpt":"Funkce get_posts, je jedna z hojn\u011b vyu\u017e\u00edvan\u00fdch funkc\u00ed, pro vytv\u00e1\u0159en\u00ed loop\u016f (smy\u010dek) s v\u00fdpisem \u010dl\u00e1nk\u016f. M\u016f\u017eete tak vypsat nap\u0159\u00edklad posledn\u00ed \u010dl\u00e1nky, nebo \u010dl\u00e1nky, dle zadan\u00fdch argument\u016f.","_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/1799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/comments?post=1799"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/1799\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media\/8523"}],"wp:attachment":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media?parent=1799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=1799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=1799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}