Skip to content

5 Ways To Get Page and Post ID in WordPress

Today, we jump into an often overlooked but crucial aspect of WordPress: the post and page IDs.

While WordPress typically keeps these IDs hidden, they are pivotal for content identification and management.

Here, I’ll guide you through five effective methods to retrieve these IDs, enhancing your WordPress proficiency.

Why Knowing WordPress Post and Page IDs is Important

WordPress identifies each post and page by unique ID numbers.

These IDs are essential when using plugins that filter content based on post IDs or when crafting custom shortcodes that require specific post IDs.

They are also vital for developers who wish to apply custom code to target specific pages or posts.

5 Ways To Retrieve WordPress Posts and Page IDs

1. Find the ID Within Each Post’s URL

Image depicting a web browser's address bar with a URL for a WordPress admin page, highlighting the 'post=1116' parameter which represents the ID of a post being edited.

Navigate to the WordPress dashboard and select the posts menu.

Hover over each post title to view its URL, which contains the post ID.

If the ID isn’t immediately visible, open the post in the WordPress Editor for a clearer view.

Keep in mind that permalink structures might vary, affecting the visibility of post IDs.

2. Use Custom Code to Display Post IDs in The Posts Tab

By editing the functions.php file of your theme, you can add a new column to the post table in your dashboard, displaying each post’s ID.

In your Dashboard go to Appearance > Theme File Editor and select functions.php

If you can’t access it (access was blocked by your hosting company for security reasons) try accessing your website via FTP and navigating to the WP Content > Themes > Your theme name folder to modify the functions.php file.

Once you have functions.php open add this code snippet (it uses the manage post columns hook)

function hmbl_add_post_id_column($columns) {
    $columns['post_id_hmbl'] = 'ID';
    return $columns;
}

function hmbl_post_id_column_content($column, $post_id) {
    if ($column == 'post_id_hmbl') {
        echo $post_id;
    }
}

add_filter('manage_posts_columns', 'hmbl_add_post_id_column');
add_action('manage_posts_custom_column', 'hmbl_post_id_column_content', 10, 2);

What Does This Code Do?

  • Column Addition: It adds a new column titled ‘ID’ to the Posts tab in your WordPress dashboard.
  • Display Post ID: This new column, displays the ID of each post.
  • Styling: The column width is adjusted for better visibility.

Important Notes:

  • Backup First: Always back up your site before making changes to theme files.
  • Child Theme: If you’re using a child theme, add this code to the child theme’s functions.php file instead.
  • Updates: If you update your theme, these changes might be overwritten. To prevent this, use a child theme or a custom plugin to add this code.
  • Check Compatibility: Ensure that any custom code you add is compatible with your WordPress version and other plugins.

3. Utilize a Plugin to Display Post IDs

Plugins like Show IDs by DraftPress can simplify the process.

Once activated, this plugin adds a new column to various WordPress sections (posts, pages, categories, etc.) displaying the respective IDs.

4. Find Post IDs Within the WordPress Database

Image showing a blurred database interface with a highlighted table named 'wp_posts' and a column titled 'ID', indicating the location where post IDs are stored in a WordPress database.

Access your site’s database through tools like PHPMyAdmin.

In the WP post table, each post ID is listed next to its corresponding post.

This method is particularly useful for users with database access.

5. Use Functions to Fetch WordPress Post IDs

For developers, using functions like get_the_ID() this can automatically fetch post IDs.

This approach is beneficial when adding custom functionalities or developing plugins.

Real Life Examples for using post or page ID

Once you know the ID you can use it in CSS, PHP, and even JavaScript, here are some useful examples of using it:

1. Custom CSS for Specific Pages or Posts

Image of a WordPress theme customization panel with the 'Additional CSS' section open, highlighting a CSS code snippet targeting a post with ID '123' to change the background color.

Apply custom styling, like changing the background color, to a specific post.

Step 1: Locate the Post/Page ID

Follow the methods outlined in previous tutorials to find the ID of the post/page you want to customize.

Step 2: Edit the CSS File

Access your WordPress theme’s CSS file. This can be done via Appearance > Customize > Additional CSS in the WordPress dashboard, or by editing the style.css file in your theme’s directory.

Add the following CSS rule:

body.postid-123 { background-color: #f0f0f0; /* Replace with your desired color */ }

Replace 123 with your post/page ID.

Step 3: Save Changes

Save your CSS changes and refresh your website to see the effect.

2. Conditional PHP Functions in Theme Files

Display a custom message or element only on a specific page.

Step 1: Access Theme Files

Using an FTP client or the Theme Editor in WordPress, open the relevant PHP file where you want the conditional content to appear (e.g., header.php, footer.php).

Step 2: Insert PHP Code

Add the following PHP snippet at the appropriate location in the file:

if (is_page(456)) {
    echo '<div class="custom-banner">Welcome to Our Special Event!</div>';
}

Replace 456 with the specific page ID.

Step 3: Save and Upload

Save your changes and upload the file back to your server if using FTP.

Conclusion

Understanding how to locate WordPress posts and page IDs is a valuable skill that can significantly enhance your website management capabilities.

Whether through URL inspection, custom code, plugins, database access, or coding functions, these methods provide a robust toolkit for any WordPress user.

Share the article on social media (all links open in a new tab)

Pinterest

If you enjoyed this article then please follow us on Twitter or Facebook.
You can also check out Salzburg, our modern personal blog theme that really makes a difference if you are serious about blogging.