is_singular( string|string[] $post_types = '' ): bool
Determines whether the query is for an existing single post of any post type (post, attachment, page, custom post types).
Contents
Description
If the $post_types parameter is specified, this function will additionally check if the query is for one of the Posts Types specified.
For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.
See also
Parameters
-
$post_types
string|string[] Optional -
Post type or array of post types to check against.
Default:
''
Return
bool Whether the query is for an existing single post or any of the given post types.
Source
File: wp-includes/query.php
.
View all references
function is_singular( $post_types = '' ) {
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.0' );
return false;
}
return $wp_query->is_singular( $post_types );
}
Changelog
Version | Description |
---|---|
1.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Default Post Type
True when viewing a regular post.
Custom Post Types
When any of the following return true: is_single(), is_page() or is_attachment().
True when viewing a post of the Custom Post Type book.
True when viewing a post of the Custom Post Type newspaper or book.
Different Sidebar Ads in Singular Page
To test for a single post:
Usage With Hook in Custom Function
You can use the conditional tag in a custom function with a WordPress or theme specific hook in your functions file.
In homepage:
and
will return true if you are using a static page is a homepage (reading settings).
They will return false in blog page.
This is has been noticed in WP v5.7.2