WP_Query::is_tax() public WP 3.1.0
Is the query for an existing custom taxonomy archive page?
If the $taxonomy parameter is specified, this function will additionally check if the query is for that specific $taxonomy.
If the $term parameter is specified in addition to the $taxonomy parameter, this function will additionally check if the query is for one of the terms specified.
{} It's a method of the class: WP_Query{}
No Hooks.
Return
true/false. Whether the query is for an existing custom taxonomy archive page. True for custom taxonomy archive pages, false for built-in taxonomies (category and tag archives).
Usage
global $wp_query; $wp_query->is_tax( $taxonomy, $term );
- $taxonomy(string/string[])
- Taxonomy slug or slugs to check against.
Default: '' - $term(int/string/int[]/string[])
- Term ID, name, slug, or array of such to check against.
Default: ''
Notes
- Global. Array. $wp_taxonomies
Changelog
Since 3.1.0 | Introduced. |
Code of WP_Query::is_tax() WP Query::is tax WP 5.6
public function is_tax( $taxonomy = '', $term = '' ) {
global $wp_taxonomies;
if ( ! $this->is_tax ) {
return false;
}
if ( empty( $taxonomy ) ) {
return true;
}
$queried_object = $this->get_queried_object();
$tax_array = array_intersect( array_keys( $wp_taxonomies ), (array) $taxonomy );
$term_array = (array) $term;
// Check that the taxonomy matches.
if ( ! ( isset( $queried_object->taxonomy ) && count( $tax_array ) && in_array( $queried_object->taxonomy, $tax_array, true ) ) ) {
return false;
}
// Only a taxonomy provided.
if ( empty( $term ) ) {
return true;
}
return isset( $queried_object->term_id ) &&
count(
array_intersect(
array( $queried_object->term_id, $queried_object->name, $queried_object->slug ),
$term_array
)
);
}