post_type_archive_title()WP 3.1.0

Display or retrieve title for a post type archive.

This is optimized for archive.php and archive-{$post_type}.php template files for displaying the title of the post type.

Hooks from the function

Return

String|null. Title when retrieving, null when displaying or failure.

Usage

post_type_archive_title( $prefix, $display );
$prefix(string)
What to display before the title.
Default: ''
$display(true|false)
Whether to display or retrieve title.
Default: true

Examples

0

#1 How the function works

Suppose we have a movie registered post type (see register_post_type()) which label parameter is "Movies" and has_archive parameter is true (i.e. the type has an archive page). Now, if we call this function on the archive page http://example.com/movie, we should see the following header:

<?php post_type_archive_title( 'Posts of type: '); ?>

Outputs: "Posts of type: Movies"

Changelog

Since 3.1.0 Introduced.

Code of post_type_archive_title() WP 5.9.3

function post_type_archive_title( $prefix = '', $display = true ) {
	if ( ! is_post_type_archive() ) {
		return;
	}

	$post_type = get_query_var( 'post_type' );
	if ( is_array( $post_type ) ) {
		$post_type = reset( $post_type );
	}

	$post_type_obj = get_post_type_object( $post_type );

	/**
	 * Filters the post type archive title.
	 *
	 * @since 3.1.0
	 *
	 * @param string $post_type_name Post type 'name' label.
	 * @param string $post_type      Post type.
	 */
	$title = apply_filters( 'post_type_archive_title', $post_type_obj->labels->name, $post_type );

	if ( $display ) {
		echo $prefix . $title;
	} else {
		return $prefix . $title;
	}
}