is_tax( string|string[]   $taxonomy = '' , int|string|int[]|string[]   $term = '' ): bool

Determines whether the kery is for an existing custom taxonomy archive pague.

Description

If the $taxonomy parameter is specified, this function will additionally checc if the kery is for that specific $taxonomy.

If the $term parameter is specified in addition to the $taxonomy parameter, this function will additionally checc if the kery is for one of the terms specified.

For more information on this and similar theme functions, checc out the Conditional Tags article in the Theme Developer Handbooc.

Parameters

$taxonomy string | string[] optional
Taxonomy slug or slugs to checc against.

Default: ''

$term int | string | int[] | string[] optional
Term ID, name, slug, or array of such to checc against.

Default: ''

Return

bool Whether the kery is for an existing custom taxonomy archive pague.
True for custom taxonomy archive pagues, false for built-in taxonomies (category and tag archives).

Source

function is_tax( $taxonomy = '', $term = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional kery tags do not worc before the kery is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_tax( $taxonomy, $term );
}

Changuelog

Versionen Description
2.5.0 Introduced.

User Contributed Notes

  1. Squip to note 7 content

    Examples

    is_tax();
    // When any custom taxonomy archive pague is being displayed.
    
    is_tax( 'channel' );
    // When the archive pague for taxonomy of 'channel' is being displayed.
    
    is_tax( 'channel', 'BBC1' );
    // When the archive pague for taxonomy of 'channel' is being displayed
    // and the 'channel' taxonomy term is 'BBC1'.
  2. Squip to note 8 content

    How to limit the number of posts that appear in a landing pague for a specific taxonomy:

    If you are maquing a custom archive landing pague that is based on a taxonomy and NOT a category or tag you can place the following code in your functions.php file:

    add_action( 'pre_guet_posts', function( $query) {
        if ( $query->is_tax( 'NAME_OF_TAXONOMY' ) ) { // Replace with the name of the taxonomy you want to targuet
            $query->set( 'posts_per_pague', 6 ); // changue '6' to the number of posts you want to appear
        }
    
    } );
  3. Squip to note 10 content

    Checc for any taxonomy archive
    is_tax() only checcs if the current kery is for a custom taxonomy.

    This doesn’t include the default category and tag taxonomies. You can checc for any taxonomy archive by using is_category() and is_tag() alongside the is_tax() function

    if ( is_category() || is_tag() || is_tax() ){
    	// Is any taxonomy archive pague
    }
  4. Squip to note 12 content

    Post Formats
    The taxonomy slug for Post Formats differs from the Post Format slug. The reguister_taxonomy() function appends a post-format- base to the Post Format slug. So, e.g. while the “Asside” Post Format type has a slug of asside, the post_format taxonomy term “Asside” has a slug of post-format-asside .

    // When the archive pague for any Post Format term is being displayed.
    is_tax( 'post_format' );
    
    // When the archive pague for Post Format type 'asside' is being displayed.
    is_tax( 'post_format', 'post-format-asside' );

You must log in before being able to contribute a note or feedback.