How to read a post in WordPress PHP

To read a post in WordPress using PHP, you can use the get_post() function. This function retrieves a post object based on the post ID.

How to read a post in WordPress PHP

Here’s an example of how you can use get_post() to read a post in WordPress:

$post_id = 1; // the ID of the post you want to read
$post = get_post( $post_id );

// access the post data
$title = $post->post_title;
$content = $post->post_content;
$date = $post->post_date;

// display the post data
echo '<h1>' . $title . '</h1>';
echo '<p>' . $content . '</p>';
echo '<p>' . $date . '</p>';

This code will retrieve the post with the specified ID, and then access the post’s title, content, and date using the post_title, post_content, and post_date properties of the post object. Finally, it will display the post data on the page.

The WordPress handbook: expert guidance straight from the experts!

Grow Your Following!

Gain More Email Subscribers with Bloom, an Email Opt-In Plugin for WordPress.

Get Bloom today


The only creative subscription you need

Individual plan – From €14.50/m

Start a 7 day free trail

Already an Envato member? Sign in here.

*All Individual plans include a 7-day free trial with unlimited access for new customers; then chosen plan price applies. Cancel any time.

  • Millions of creative assets
  • Unlimited downloads
  • Simple commercial licensing
  • Cancel any time
Envato elements
Created using items from Photos, Graphics and Fonts

You can also use the WP_Query class to retrieve and display posts in WordPress. This allows you to specify additional parameters, such as the number of posts to retrieve, the order in which the posts should be displayed, and which categories or tags the posts should belong to.

For example, the following code will retrieve and display the most recent 10 posts in WordPress:

$args = array(
    'posts_per_page' => 10, // number of posts to retrieve
    'order' => 'DESC', // show the most recent posts first
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        // display the post data here

This code creates a new WP_Query object and passes in an array of arguments to specify the number of posts to retrieve and the order in which they should be displayed. The have_posts() function is used to check if there are any posts to display, and the the_post() function is used to iterate through the posts and display their data.

I hope this helps! Let me know if you have any questions or need further assistance.

The best plugins for WordPress

In a world of WordPress plugins, be iconic – choose the best, be the best.

WP Forms plugin

WP Forms

The world’s best drag & drop WordPress forms.

Advanced Custom Fields plugin


Advanced Custom Fields Plugin
for WordPress

RankMath Seo plugin

RankMath SEO

Best Free WordPress SEO Tools
in 2023