WordPress has many ways to check a post's existence by ID, title, content, date, ETC. get_post and post_exists are two useful functions in WordPress collection that can help developers check the existence of any post. Let's review these two functions and try their usage.
Check if a post exists by the Post ID
get_post function: Not the most perfect option
The get_post
function is useful when you want to check whether a post exists, but it is not the most optimized option.
!is_null( get_post($postId)
is working when you want to make sure a post with an ID exists in WordPress:
$postId = 1;
if(!is_null(get_post($postId)){
//post exists!
}
I wrote a tutorial about the get_post function a while ago, you can read the article to learn how to work with this function deeper:
WordPress Query Posts by Category, Tag, Custom attribute, and more!
But I told you it’s not the best idea to use the get_post
function to check if a post exists or not.
Continue reading this article for better options to use when you want to check if a post exists by ID.
get_post_status function: Better choice due to less resource usage
I recommend using the get_post_status
function to check if a post exists in WordPress or not.
$postId = 1;
if(get_post_status($postId)) {
//post exists!
}
post_exists function: Check post existence by title, content, date
The most used WordPress function for post existence status is the post_exists
function.
post_exists function syntax
This function determines if a post is existed by title, content, date, type, and status.
If the post_exists
function finds any post matching specified options; It’ll return the post ID.
post_exists($title, $content = '', $date = '', $type = '', $status = '')
$title
is required, but other parameters are optional.
post_exists
usage example
In the below example, I tried checking if a post with the title “A title to test” exists or not:
$findPostByTitle = "A title to test";
if(post_exists($findPostByTitle)){
//post exists!
}
written by Mehdi Nazari about in WordPress WordPress Functions WordPress Plugin Development WordPress Theme Development
What do you think about "How to Check if a Post Exists in WordPress (+Example)"?