Why don’t you use a fat-free $wpdb->get_var() for the task?
global $wpdb;
$ID = $wpdb->get_var("SELECT `ID` FROM {$wpdb->posts}
WHERE `post_type`='post' AND `post_status`='publish'
ORDER BY `post_date_gmt` DESC LIMIT 1;");
$post = $ID ? get_post($ID) : null; // Now get the actual post
This is way more efficient and light-weight. Without all the bells and whistles of the get_posts() or WP_Query().
Regards.
UPDATE: (more in context)
function get_last_published_post(){
global $wpdb;
// Get the ID of the last published post (by date)
$ID = $wpdb->get_var("SELECT `ID` FROM {$wpdb->posts}
WHERE `post_type`='post' AND `post_status`='publish'
ORDER BY `post_date_gmt` DESC LIMIT 1;");
return $ID ? get_post($ID) : null; // Now get the actual post
}
// Should print out the Post object
var_dump(get_last_published_post());
Related Posts:
- Some doubts about how the main query and the custom query works in this custom theme?
- Using a custom WP_Query with get_template_part loop
- Loop within a loop?
- How to list some posts first in the loop based on post id
- Use WP_Query with have_posts()?
- Display posts the match taxonomy term linked from wp_list_categoies?
- How to order posts tag by tag?
- Merging a complex query with post_rewind and splitting posts into two columns
- Pagination Not working on Home Page with 2 Query
- meta_query not working properly
- Exclude post on loop by multiple meta key value
- Sort by meta key on archive page
- How to display 3 different loops in 3 columns on homepage
- Splitting the main query in multiple loops with query_posts and/or pre_get_posts?
- Query sticky posts with thumbnails
- Show all parents and children in custom post type in right order
- Why is this coming back as null? Thats wrong. There is one post
- Ignore post by meta value in the main query
- Can’t get drafts with WP_Query using post_status parameter
- How to retrieve current page WP_Query arguments?
- WP_Query doesn’t get sticky post at the top, when used in a page template
- How to limit WP_Query to one result on the loop?
- if/else on custom query gives 200 OK when condition not met?
- Multiple Loops Inside a Function
- Sticky posts are not showing at the top of category posts
- Random loop with code to prevent duplicate output returns no output at all from time to time
- Storing query variable and then using wp_reset_query
- How to use offset in WP_Query
- Multiple loops without repeating content
- Can I set my WP_Query to be a Main Query?
- Group and list posts by custom taxonomy
- Show scheduled posts in main loop but not in WP_Query?
- Filtering posts from different categories into different section by doing WP_Query only once
- Get a list of posts with associated meta_value
- How to get list of posts from permalinks?
- Custom taxonomy.php not working
- different for loop if screen resolution < 1000px
- Transient api Caches confused
- get_template_part causes 500 error
- how to use pre_gets_posts to exclude one queried ID from homepage loop
- sort and display posts by custom field (wp-query and the loop))
- WP_Query – Adding “offset” posts to the end of the loop
- Get posts that do not have the same tags as current
- wp_query is showing posts from other categories
- WP_QUERY wrong ammount of posts
- How to add sort order to incremented and paginated category loop
- inserting content of 1 Post to in another with a template hierarchy
- Query only displays one page_id
- Pagination for custom loop on custom page template is not displaying anything
- Filtering by multiple conditions in the loop
- How to access $wp_query object from array of posts given by get_posts?
- Display all attached image of every post of custom post type and link to original post
- Get posts with no tags?
- wp-query, pull children of parent page
- Writing less unnecessary code with WordPress
- I am officially missing something about transient posts
- WordPress Queries Not Working?
- Filter subpages in while loop from WP Query object
- Use have_posts() with array of post results retrieved by $wpdb->get_results
- Custom query does not find pages
- How to sort by most watched in X days/months
- Magazine style frontpage with multiple categories/loops and no duplicate posts
- How to pass the current content of $wp_query to a new page?
- How to separate two columns from one content on a page template?
- How can I have sticky posts while ALSO showing posts from a specific category using one WP_Query?
- ACF: How can I publish values of ACF fields in a loop while using wp_query?
- Can I alter the main loop to ‘orderby’ a custom callback?
- Show a message if there are no active posts in category
- WooCommerce | AJAX | Product Pagination | Help me implement Ajax Pagination
- Avoid removing duplicate posts
- Problem with my loops
- Regarding a custom loop and output HTML tags
- Repeat array inside array through while loop
- display the children of the post using the current page as the main parent
- Display 3 levels of categories on page
- Paging works correctly on local version, but not live?
- Custom post type loop error: Trying to get property of non-object
- Second WP_Query loop shows data from main query
- Meta Query if Values Don’t Exist
- Get post Number with local loop and template
- How to order posts, that have already been filtered by custom taxonomy, by their category names?
- How to add in WP_Query to every 3 posts displayed? [duplicate]
- Display three sequential posts on each page load, without repeating previous
- How to make a wordpress loop file that displays posts based on certain conditions
- Problems with WP_Query, Loop, a condition and Posts per Page
- Custom loop – Isolating post meta output depending on current query taxonomy terms
- Issue in If else condition [closed]
- Pagination not working with WP_QUERY
- Custom search (wp query by custom fields)
- How do I display posts with specific value in a custom field into my loop?
- Limit the number of posts from a specific category on index.php
- Order by multiple meta keys on wordpress
- wp_query pagination links producing 404
- Display First posts without the default featured image
- Pagination problem with multiple loops on the same page
- Can’t seem to get an else statement correct? [closed]
- Output ACF field dynamicaly within a taxonomy loop [closed]
- How do I split a large query with a semi-expensive function included into multiple smaller queries
- Query All Posts: Either Display Most Recent or One with Particular ACF Value Chosen
- How to get rid of extra Untitled Article in html5 document outline when using new WP_Query?