the_title( string $before = '', string $after = '', bool $echo = true )

Display or retrieve the current post title with optional markup.


Parameters Parameters

$before

(string) (Optional) Markup to prepend to the title.

Default value: ''

$after

(string) (Optional) Markup to append to the title.

Default value: ''

$echo

(bool) (Optional) Whether to echo or return the title. Default true for echo.

Default value: true


Top ↑

Return Return

(void|string) Void if $echo argument is true, current post title if $echo is false.


Top ↑

More Information More Information

This function displays or returns the unescaped title of the current post. This tag may only be used within The Loop, to get the title of a post outside of the loop use get_the_title. If the post is protected or private, this will be noted by the words “Protected: ” or “Private: ” prepended to the title.

Security considerations

Like the_content() , the output of the_title() is unescaped. This is considered a feature and not a bug, see the FAQ “Why are some users allowed to post unfiltered HTML?” . If the post title is <script>alert("test");</script>, then that JavaScript code will be run wherever the_title() is used. For this reason, do not write code that allows untrusted users to create post titles.



Top ↑

Source Source

File: wp-includes/post-template.php

function the_title( $before = '', $after = '', $echo = true ) {
	$title = get_the_title();

	if ( strlen( $title ) == 0 ) {
		return;
	}

	$title = $before . $title . $after;

	if ( $echo ) {
		echo $title;
	} else {
		return $title;
	}
}

Top ↑

Changelog Changelog

Changelog
Version Description
0.71 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.