WP_Query::is_tax( mixed $taxonomy = '', mixed $term = '' )
Is the query for an existing custom taxonomy archive page?
Description
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.
Parameters
- $taxonomy
-
(Optional) Taxonomy slug or slugs.
Default value: ''
- $term
-
(Optional) Term ID, name, slug or array of Term IDs, names, and slugs.
Default value: ''
Return
(bool) True for custom taxonomy archive pages, false for built-in taxonomies (category and tag archives).
Source
File: wp-includes/class-wp-query.php
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 ) ) )
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
) );
}
Changelog
Version | Description |
---|---|
WP-3.1.0 | Introduced. |