{"id":4167,"date":"2022-08-21T21:16:43","date_gmt":"2022-08-21T15:46:43","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/"},"modified":"2022-08-21T21:16:43","modified_gmt":"2022-08-21T15:46:43","slug":"solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/","title":{"rendered":"[Solved] When should you use WP_Query vs query_posts() vs get_posts()?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-1755\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"1755\" data-parentid=\"1753\" data-score=\"727\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<ul>\n<li>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/codex.wordpress.org\/Function_Reference\/query_posts\"><code>query_posts()<\/code><\/a> is overly simplistic and a problematic way to modify the main query of a page by replacing it with new instance of the query. It is inefficient (re-runs SQL queries) and will outright fail in some circumstances (especially often when dealing with posts pagination). Any modern WP code should use more reliable methods, like making use of the <code>pre_get_posts<\/code> hook, for this purpose. TL;DR <strong>don&#8217;t use query_posts() ever<\/strong>.<\/p>\n<\/li>\n<li>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/codex.wordpress.org\/Template_Tags\/get_posts\"><code>get_posts()<\/code><\/a> is very similar in usage and accepts the same arguments (with some nuances, like different defaults), but returns an array of posts, doesn&#8217;t modify global variables and is safe to use anywhere.<\/p>\n<\/li>\n<li>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/codex.wordpress.org\/Function_Reference\/WP_Query\"><code>WP_Query<\/code><\/a> is the class that powers both behind the scenes, but you can also create and work with your own instance of it. A bit more complex, fewer restrictions, also safe to use anywhere.<\/p>\n<\/li>\n<\/ul>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\"><img decoding=\"async\" src=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\"><\/a><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">22<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved When should you use WP_Query vs query_posts() vs get_posts()? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] query_posts() is overly simplistic and a problematic way to modify the main query of a page by replacing it with new instance of the query. It is inefficient (re-runs SQL queries) and will outright fail in some circumstances (especially often when dealing with posts pagination). Any modern WP code should use more reliable methods, &#8230; <a title=\"[Solved] When should you use WP_Query vs query_posts() vs get_posts()?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\" aria-label=\"More on [Solved] When should you use WP_Query vs query_posts() vs get_posts()?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[627],"tags":[631,630,629,628],"class_list":["post-4167","post","type-post","status-publish","format-standard","hentry","category-wordpress","tag-get-posts","tag-query","tag-query-posts","tag-wp-query"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] When should you use WP_Query vs query_posts() vs get_posts()? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] When should you use WP_Query vs query_posts() vs get_posts()? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] query_posts() is overly simplistic and a problematic way to modify the main query of a page by replacing it with new instance of the query. It is inefficient (re-runs SQL queries) and will outright fail in some circumstances (especially often when dealing with posts pagination). Any modern WP code should use more reliable methods, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-21T15:46:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] When should you use WP_Query vs query_posts() vs get_posts()?\",\"datePublished\":\"2022-08-21T15:46:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\"},\"wordCount\":164,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\",\"keywords\":[\"get-posts\",\"query\",\"query-posts\",\"wp-query\"],\"articleSection\":[\"WordPress\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\",\"name\":\"[Solved] When should you use WP_Query vs query_posts() vs get_posts()? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\",\"datePublished\":\"2022-08-21T15:46:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] When should you use WP_Query vs query_posts() vs get_posts()?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] When should you use WP_Query vs query_posts() vs get_posts()? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] When should you use WP_Query vs query_posts() vs get_posts()? - JassWeb","og_description":"[ad_1] query_posts() is overly simplistic and a problematic way to modify the main query of a page by replacing it with new instance of the query. It is inefficient (re-runs SQL queries) and will outright fail in some circumstances (especially often when dealing with posts pagination). Any modern WP code should use more reliable methods, ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/","og_site_name":"JassWeb","article_published_time":"2022-08-21T15:46:43+00:00","og_image":[{"url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png","type":"","width":"","height":""}],"author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] When should you use WP_Query vs query_posts() vs get_posts()?","datePublished":"2022-08-21T15:46:43+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/"},"wordCount":164,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png","keywords":["get-posts","query","query-posts","wp-query"],"articleSection":["WordPress"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/","url":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/","name":"[Solved] When should you use WP_Query vs query_posts() vs get_posts()? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png","datePublished":"2022-08-21T15:46:43+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#primaryimage","url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/08\/Solved-When-should-you-use-WP_Query-vs-query_posts-vs-get_posts.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-when-should-you-use-wp_query-vs-query_posts-vs-get_posts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] When should you use WP_Query vs query_posts() vs get_posts()?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/4167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=4167"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/4167\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=4167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=4167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=4167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}