the_title_attribute( string|array $args = '' )

Sanitize the current title when retrieving or displaying.

Description Description

Works like the_title(), except the parameters can be in a string or an array. See the function for what can be override in the $args parameter.

The title before it is displayed will have the tags stripped and esc_attr() before it is passed to the user or displayed. The default as with the_title(), is to display the title.

Parameters Parameters


(string|array) (Optional) Title attribute arguments. Optional.

  • 'before'
    (string) Markup to prepend to the title.
  • 'after'
    (string) Markup to append to the title.
  • 'echo'
    (bool) Whether to echo or return the title. Default true for echo.
  • 'post'
    (WP_Post) Current post object to retrieve the title for.

Default value: ''

Top ↑

Return Return

(string|void) String when echo is false.

Top ↑

Source Source

File: wp-includes/post-template.php

function the_title_attribute( $args = '' ) {
	$defaults    = array(
		'before' => '',
		'after'  => '',
		'echo'   => true,
		'post'   => get_post(),
	$parsed_args = wp_parse_args( $args, $defaults );

	$title = get_the_title( $parsed_args['post'] );

	if ( strlen( $title ) == 0 ) {

	$title = $parsed_args['before'] . $title . $parsed_args['after'];
	$title = esc_attr( strip_tags( $title ) );

	if ( $parsed_args['echo'] ) {
		echo $title;
	} else {
		return $title;

Top ↑

Changelog Changelog

Version Description
2.3.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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