single_post_title( string $prefix = '', bool $display = true ): string|void

Displays or retrieves page title for post.


This is optimized for single.php template file for displaying the post title.

It does not support placing the separator after the title, but by leaving the prefix parameter empty, you can set the title separator manually. The prefix does not automatically place a space between the prefix, so if there should be a space, the parameter value will need to have it at the end.

Top ↑


$prefix string Optional
What to display before the title.

Default: ''

$display bool Optional
Whether to display or retrieve title.

Default: true

Top ↑


string|void Title when retrieving.

Top ↑


File: wp-includes/general-template.php. View all references

function single_post_title( $prefix = '', $display = true ) {
	$_post = get_queried_object();

	if ( ! isset( $_post->post_title ) ) {

	 * Filters the page title for a single post.
	 * @since 0.71
	 * @param string  $_post_title The single post page title.
	 * @param WP_Post $_post       The current post.
	$title = apply_filters( 'single_post_title', $_post->post_title, $_post );
	if ( $display ) {
		echo $prefix . $title;
	} else {
		return $prefix . $title;

Top ↑


Top ↑


Version Description
0.71 Introduced.

Top ↑

User Contributed Notes

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