The get_the_content() WordPress PHP function retrieves the post content.
Usage
$content = get_the_content('Read more'); echo apply_filters('the_content', $content);
Parameters
- $more_link_text (string) Optional: Content for when there is more text. Default: null
- $strip_teaser (bool) Optional: Strip teaser content before the more text. Default: false
- $post (WP_Post|object|int) Optional: WP_Post instance or Post ID/object. Default: null
More information
See WordPress Developer Resources: get_the_content()
Note: get_the_content() doesn’t return the same thing as what the_content displays. To achieve that, use the following code:
$content = apply_filters('the_content', get_the_content()); echo $content;
Examples
Basic Usage
Display the post content, ending with “Read more” if needed:
$content = get_the_content('Read more'); echo apply_filters('the_content', $content);
Check if the_content has content before output
Find out if the_content has content before output in functions.php and similar files:
// Inside the loop $the_content = apply_filters('the_content', get_the_content()); if (!empty($the_content)) { echo $the_content; } // With post object by ID $post = get_post(12); // specific post $the_content = apply_filters('the_content', $post->post_content); if (!empty($the_content)) { echo $the_content; }
Check if the_content has content using a custom function
Call the custom function inside the loop or with a post ID:
function mytheme_has_content($post = 0) { $post = get_post($post); return (!empty(apply_filters('the_content', $post->post_content))); } // Template inside the loop if ($customQuery->have_posts()) { while ($customQuery->have_posts()) { $customQuery->the_post(); $the_content = apply_filters('the_content', get_the_content()); if (!empty($the_content)) { echo '<div class="content">' . $the_content . '</div>'; } } wp_reset_postdata(); }