A WordPress-centric search engine for devs and theme authors



the_title_attribute ›

Since2.3.0
Deprecatedn/a
the_title_attribute ( $args = '' )
Parameters:
  • (string|array) $args { Title attribute arguments. Optional. @type string $before Markup to prepend to the title. Default empty. @type string $after Markup to append to the title. Default empty. @type bool $echo Whether to echo or return the title. Default true for echo. @type WP_Post $post Current post object to retrieve the title for. }
    Required: No
    Default: (empty)
Returns:
  • (void|string) Void if 'echo' argument is true, the title attribute if 'echo' is false.
Defined at:
Codex:

Sanitize the current title when retrieving or displaying.

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.


Source

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 ) {
		return;
	}

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

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