WP_Query::is_single() public WP 3.1.0
Is the query for an existing single post?
Works for any post type excluding pages.
If the $post parameter is specified, this function will additionally check if the query is for one of the Posts specified.
{} Это метод класса: WP_Query{}
Хуков нет.
Возвращает
true/false. Whether the query is for an existing single post.
Использование
global $wp_query; $wp_query->is_single( $post );
- $post(число/строка/число[]/строка[])
- Post ID, title, slug, path, or array of such to check against.
По умолчанию: ''
Заметки
- Смотрите: WP_Query::is_page()
- Смотрите: WP_Query::is_singular()
Список изменений
С версии 3.1.0 | Введена. |
Код WP_Query::is_single() WP Query::is single WP 5.6.2
public function is_single( $post = '' ) {
if ( ! $this->is_single ) {
return false;
}
if ( empty( $post ) ) {
return true;
}
$post_obj = $this->get_queried_object();
$post = array_map( 'strval', (array) $post );
if ( in_array( (string) $post_obj->ID, $post, true ) ) {
return true;
} elseif ( in_array( $post_obj->post_title, $post, true ) ) {
return true;
} elseif ( in_array( $post_obj->post_name, $post, true ) ) {
return true;
} else {
foreach ( $post as $postpath ) {
if ( ! strpos( $postpath, '/' ) ) {
continue;
}
$postpath_obj = get_page_by_path( $postpath, OBJECT, $post_obj->post_type );
if ( $postpath_obj && ( $postpath_obj->ID == $post_obj->ID ) ) {
return true;
}
}
}
return false;
}