What does the_content and get_the_content do in WordPress?
The WordPress functions the_content and get_the_content are used to pull the main text area from the page or post.
The difference between them is in the way they are used. the_content() echoes the copy and it’s used inside the template files while get_the_content() is fetching it to be used in the PHP code as a variable.
Please note that there is also the_content filter which is used to apply styling and shortcodes by running a chain of filters like wp_autop which adds the tags. The full list of running filters trough the_content filter are wptexturize, convert_smilies, convert_chars, shortcode_unautop and maybe one of the most used ones do_shortcode.
Now we can dig deeper into the functions.
get_the_content pulls the copy directly from the database as a raw string containing the unwrapped shortcodes. In order to make that useful, you will need to pass the data through the_content filter which will give you an appropriate HTML output.
$content = apply_filters( 'the_content', get_the_content() );
And last but definitely not last is the_content. This function will echo the properly formatted content directly into your template. In its essence the_content calls get_the_content and applies the_content filter before echoing the result.
Except for a few minor things I skipped, now you should have a better picture which content function or filter does what. An interesting thing to mention is that currently (WP ver 5.2) there is a warning that pops up with PHP 7.2 environments. The warning states “Warning: count(): Parameter must be an array or an object that implements Countable in /wp-includes/post-template.php on line 284”. For more information on that please check our article How to Fix PHP 7.2 “Warning: count()” on get_the_content() or the_content() in WordPress.
$more_link_text – Accepts string, optional. Changes the default string used to generate the read more text for the link when the more tag is used in the content. Defaults to null.
$strip_teaser – Accepts boolean (true or false), optional. When we set this parameter to true the content before the read more link should be removed. Literally, meaning: Remove the teaser content. Here I need to note that on my current environment I wasn’t able to get it working. It appears that there may be an issue with WP 5. Defaults to false.
$more_link_text – String, Defaults to null.
$strip_teaser – Boolean, Defaults to false
$post – It is used to pull the content for practicular post or page. Accepts WP_Post object or integer with the post ID. Defaults to null.
I hope this article was helpful.
Have a great day!
Change the default color for dash icon in the admin menu Probably you have this question when you create a Custom WordPress Theme …
If you want this code to work for you your single.php or page.php file should use both default Wordpress functions to get header and footer content like below