A WordPress-centric search engine for devs and theme authors

single_post_title › WordPress Function

single_post_title ( $prefix = '', $display = true )
Parameters: (2)
  • (string) $prefix Optional. What to display before the title.
    Required: No
    Default: (empty)
  • (bool) $display Optional. Whether to display or retrieve title. Default true.
    Required: No
    Default: true
  • (string|void) Title when retrieving.
Defined at:

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.


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;