is_single( int|string|array $post = '' )

Is the query for an existing single post?


Description #

Works for any post type, except attachments and pages

If the $post parameter is specified, this function will additionally check if the query is for one of the Posts specified.


Parameters #

$post

(int|string|array) (Optional) Post ID, title, slug, or array of such.

Default value: ''


Top ↑

Return #

(bool) Whether the query is for an existing single post.


Top ↑

Source #

File: wp-includes/query.php

function is_single( $post = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1' );
		return false;
	}

	return $wp_query->is_single( $post );
}


Top ↑

Changelog #

Changelog
Version Description
1.5.0 Introduced.

Top ↑

More Information #

  • See Also: is_singular()
  • Although is_single() will usually return true for attachments, this behavior should not be relied upon. It is possible for $is_page and $is_attachment to be true at the same time, and in that case $is_single will be false. For this reason, you should use is_attachment() || is_single() if you want to include attachments, or use is_singular() if you want to include pages too.


Top ↑

User Contributed Notes #

  1. Skip to note content
    Contributed by Codex
    is_single();
    // When any single Post page is being displayed.
    
    is_single('17');
    // When Post 17 (ID) is being displayed.
    
    is_single(17);
    // When Post 17 (ID) is being displayed. Integer parameter also works
    is_single('Irish Stew');
    // When the Post with post_title of "Irish Stew" is being displayed.
    
    is_single('beef-stew');
    // When the Post with post_name (slug) of "beef-stew" is being displayed.
    
    is_single(array(17,'beef-stew','Irish Stew'));
    // Returns true when the single post being displayed is either post ID 17,
    // or the post_name is "beef-stew", or the post_title is "Irish Stew".
    // Note: the array ability was added in version 2.5.
    

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