How to Get Post & Page ID in WordPress (Simple Steps)

Are you looking to build a custom plugin or function for some specific reasons in WordPress and want to get the post or page IDs? In WordPress, every post or page has a unique identifier known as an ID, and these IDs are the ones that differentiate one post or page from another.

And while you’re writing the codes, you often need to call them for specific reasons, like displaying relevant posts on your website or showing the meta information for XYZ reasons. So, in this case, what you do is you need to call those posts and pages by their IDs.

Depending upon the reason you’ve, here in this guide, we’ll explore different methods for getting the post and page IDs. These methods will include all options, including options to find post or page IDs for one-time usage to writing custom codes.

So, let’s get started…

How to Get Post & Page ID in WordPress

In order to make it easier for you to locate posts and page IDs, we have grouped them into three major categories. These categories are;

  • Manually Finding Post and Page IDs
  • Using the “Reveal IDs” WordPress Plugin
  • Writing Codes for Different Use Cases

Let’s start with the easy one…

1. Manually Finding Post and Page IDs

If you’re looking to find the IDs of just a few posts or pages in WordPress, then manually finding or retrieving them is undoubtedly one of the easiest ways for you.

In this method, you simply need to locate the page or post, click on the “Edit” button, and retrieve the ID from the URL box.

Here’s the step-by-step guide describing the same;

Let’s suppose I wanted to get the post ID of one of my favorite posts, which is “Speeding Up WooCommerce Website“, then what I’ll do is first I’ll search for this post in the “All Posts” section. Once I find this post, I’ll hover over it and then click on the “Edit” option (as shown in the image above).

After that, I need to look at the URL of the page in the browser’s address bar. And as you can see in the image above, the URL is “http://thewpx.com/wp-admin/post.php?post=6910&action=edit“.

Here, the ID of the post is the number after “post=” in the URL, which, in my case, is 6910. Similarly, when you visit any post or page on your website, you’ll be able to see the post or page ID.

✍️ Author’s Note:

This is one of the easiest ways to find your desired post or page ID. And it is suitable for those who are looking for IDs of just a few posts – but when you’re dealing with hundreds of posts, this method seems more complicated to use.

We’ve also covered posts on getting user IDs on our website, so if you’re interested in getting user IDs, then don’t forget to read this out!

2. Using the “Reveal IDs” WordPress Plugin

Another easiest and most convenient method for getting a post or page ID in WordPress is by using the “Reveal ID” plugin. This is one of the best plugins in the WordPress repository for finding the IDs of posts, pages, and other WordPress IDs.

Here’s how to find posts and page IDs using this plugin;

First of all, you need to download and install this plugin on your website (if you’re not sure how to install plugins on your website, you can follow this guide). 

Once the plugin is installed and activated on your website, you need to visit the “All Posts” or “All Pages” section of your website.

Here I’m looking for the ID of my favorite post, so I’ll visit the “All Posts” section and search for it. As you can see in the image above, a new column named “ID” has been added to my posts containing the post’s ID.

✍️ Author’s Note;

Not everyone is comfortable with using plugins on their website for every type of requirement, and if you’re like me, you would probably prefer writing code on your own.

And in case you’re looking for an alternate option rather than installing the “Reveal IDs” plugin on your website, then here’s a code for the same.

All you need to do is add these lines to your theme’s functions.php file or in the “Code Snippets” plugin, and you’re ready to go!

Before adding these codes to your website, we highly recommend taking a complete backup of your website or testing these codes on a clone website. It’s because, depending on your server and WordPress version, it may cause errors; plus, it is always better to have a backup of your website before testing anything on the live server.

So, now I can easily find the IDs without going through any trouble.

3. Writing Codes for Different Use Cases

Till now, we’ve discussed the options to manually find and use them on some static functions – but what if we’re building something advanced and we need to dynamically fetch the IDs of posts and pages?

What should we do here?

So, in this case, we need to write custom code based on our requirements and possibilities. Here we’re sharing a few methods for grabbing the IDs of posts and pages depending on our requirements.

3.1 Getting ID of Current Page

If you are looking to find the ID of a specific page that you are working on, then using the get_the_ID() function is the best way to do so. This is a pre-built WordPress function that is used to retrieve the ID of the current item in the WordPress loop.

Here’s the dummy code for reference;

When executed, this code retrieves the ID of the current page or post in WordPress and prints it on the screen.

3.2 Getting Post ID by Slug

The code that we shared above is only executed when users are on the page and not when they are not. But what if you needed to get the ID of the page more dynamically?

In this case, we used a pre-built function in WordPress named get_page_by_path(). This function retrieves the page object from the database based on the page’s path (slug).

Here’s a code for your reference;

This function simply searches for the page with the slug “my-post-slug” to retrieve its object. If the post is found, it simply prints the ID followed by the text, and if no posts are found, it prints an error message.

3.3 Getting Post ID by Title

In case you’re looking to get the post or page ID from its title, then you can use another incredible function named get_page_by_title(). It is also a pre-built WordPress function that takes multiple inputs from you and retrieves page or post OBJECT from the database.

Here’s a reference code;

✍️ Author’s Note;

This code uses MySQL’s “=” comparison operator to match the title of the post and is case-sensitive. Plus, in case you have more than one post with the same title, it will retrieve the data of the post with the smallest ID.

3.4 Getting Post ID by Full URL

Till now, we’ve covered different types of functions to get the post or page ID in WordPress, and the last one we’re going to cover in this article is url_to_postid(). It is also a built-in function like others we’ve covered in this guide – but it takes the full URL as the input and gives the ID.

Here’s a reference code for using it;

In the code above, we’ve shared a full URL (https://thewpx.com/hello-world/) instead of providing just a slug (hello-world) and used an if condition to retrieve the response.

Based on your requirements, you can make changes to these codes and use them as per your needs.

Wrapping Up!

If you’re building a plugin or custom function for your website, there are several methods for getting the post IDs in WordPress. If you’re not building a dynamic plugin, methods one and two will work fine for you.

However, if you’re working with more complex codes and want to find the post IDs dynamically, you can try the built-in functions we’ve shared in method three. Regardless of the method you choose, it’s always better to know how things work in WordPress.

I hope this article has been helpful in showing you how to get the post and page IDs. If you have any questions or need further assistance, don’t hesitate to leave a comment below.

Sunny Kumar

Number of posts: 145

Hi, I'm Sunny Kumar, a passionate tech enthusiast and a blogger from New Delhi, India. With a degree in IT from IIT-D and expertise in SEO, Cloud Computing, Telecom & Networking, and CEH, I specialize in various technical fields, including SEO, WordPress Development, and PC Building. And being a proficient WordPress user, I’m dedicated to delivering quality content and a remarkable user experience.

Leave a Comment