is_single( int|string|int[]|string[] $post = '' ): bool
In this article
Determines whether the query is 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.
For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.
See also
Parameters
$postint|string|int[]|string[]optional- Post ID, title, slug, or array of such to check against.
Default:
''
Return
bool Whether the query is for an existing single post.More Information
- See Also: is_singular()
- Although will usually return for attachments, this behavior should not be relied upon. It is possible for and to be at the same time, and in that case will be . For this reason, you should use if you want to include attachments, or use if you want to include pages too.
Source
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.0' );
return false;
}
return $wp_query->is_single( $post );
}
Related
| Uses | Description |
|---|---|
WP_Query::is_single()wp-includes/class-wp-query.php | Determines whether the query is for an existing single post. |
__()wp-includes/l10n.php | Retrieves the translation of $text. |
_doing_it_wrong()wp-includes/functions.php | Marks something as being incorrectly called. |
| Used by | Description |
|---|---|
wp_title()wp-includes/general-template.php | Displays or retrieves page title for all areas of blog. |
get_next_posts_page_link()wp-includes/link-template.php | Retrieves the next posts page link. |
get_next_posts_link()wp-includes/link-template.php | Retrieves the next posts page link. |
get_previous_posts_page_link()wp-includes/link-template.php | Retrieves the previous posts page link. |
get_previous_posts_link()wp-includes/link-template.php | Retrieves the previous posts page link. |
adjacent_posts_rel_link_wp_head()wp-includes/link-template.php | Displays relational links for the posts adjacent to the current post for single post pages. |
get_boundary_post()wp-includes/link-template.php | Retrieves the boundary post. |
get_body_class()wp-includes/post-template.php | Retrieves an array of the class names for the body element. |
redirect_canonical()wp-includes/canonical.php | Redirects incoming links to the proper URL based on the site url. |
comments_template()wp-includes/comment-template.php | Loads the comment template specified in $file. |
Changelog
| Version | Description |
|---|---|
| 1.5.0 | Introduced. |
User Contributed Notes
-
Skip to note 5 content -
Skip to note 6 content 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. -
Skip to note 7 content This is to demonstrate different kinds of Single
if ( is_single() ) { // Run code only for Single post-type 'post' } if ( is_page() ) { // Run code only for Single post-type 'page' } if ( is_singular() ) { // Run code for any Singular post of any post type } -
Skip to note 8 content Enqueue a CSS stylesheet for any single Post page
if ( is_single() ) { // wp_enqueue_style( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, string $media = 'all' ) }
You must log in before being able to contribute a note or feedback.
