wp_count_terms

The timeline below displays how wordpress function wp_count_terms has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Counts how many terms are in taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 * @since 5.6.0 Changed the function signature so that the `$args` array can be provided as the first parameter.
 *
 * @internal The `$deprecated` parameter is parsed for backward compatibility only.
 *
 * @param array|string $args       Optional. Array or string of arguments. See WP_Term_Query::__construct()
 *                                 for information on accepted arguments. Default empty array.
 * @param array|string $deprecated Optional. Argument array, when using the legacy function parameter format.
 *                                 If present, this parameter will be interpreted as `$args`, and the first
 *                                 function parameter will be parsed as a taxonomy or array of taxonomies.
 *                                 Default empty.
 * @return string|WP_Error Numeric string containing the number of terms in that
 *                         taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($args = array(), $deprecated = '')
{
    $use_legacy_args = false;
    // Check whether function is used with legacy signature: `$taxonomy` and `$args`.
    if ($args && (is_string($args) && taxonomy_exists($args) || is_array($args) && wp_is_numeric_array($args))) {
        $use_legacy_args = true;
    }
    $defaults = array('hide_empty' => false);
    if ($use_legacy_args) {
        $defaults['taxonomy'] = $args;
        $args = $deprecated;
    }
    $args = wp_parse_args($args, $defaults);
    // Backward compatibility.
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($args);
}

WordPress Version: 5.7

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 * @since 5.6.0 Changed the function signature so that the `$args` array can be provided as the first parameter.
 *
 * @internal The `$deprecated` parameter is parsed for backward compatibility only.
 *
 * @param array|string $args       Optional. Array of arguments that get passed to get_terms().
 *                                 Default empty array.
 * @param array|string $deprecated Optional. Argument array, when using the legacy function parameter format.
 *                                 If present, this parameter will be interpreted as `$args`, and the first
 *                                 function parameter will be parsed as a taxonomy or array of taxonomies.
 *                                 Default empty.
 * @return string|WP_Error Numeric string containing the number of terms in that
 *                         taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($args = array(), $deprecated = '')
{
    $use_legacy_args = false;
    // Check whether function is used with legacy signature: `$taxonomy` and `$args`.
    if ($args && (is_string($args) && taxonomy_exists($args) || is_array($args) && wp_is_numeric_array($args))) {
        $use_legacy_args = true;
    }
    $defaults = array('hide_empty' => false);
    if ($use_legacy_args) {
        $defaults['taxonomy'] = $args;
        $args = $deprecated;
    }
    $args = wp_parse_args($args, $defaults);
    // Backward compatibility.
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($args);
}

WordPress Version: 5.6

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 * @since 5.6.0 Changed the function signature so that the `$args` array can be provided as the first parameter.
 *
 * @internal The `$deprecated` parameter is parsed for backward compatibility only.
 *
 * @param array|string $args       Optional. Array of arguments that get passed to get_terms().
 *                                 Default empty array.
 * @param array|string $deprecated Optional. Argument array, when using the legacy function parameter format.
 *                                 If present, this parameter will be interpreted as `$args`, and the first
 *                                 function parameter will be parsed as a taxonomy or array of taxonomies.
 *                                 Default empty.
 * @return array|int|WP_Error Number of terms in that taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($args = array(), $deprecated = '')
{
    $use_legacy_args = false;
    // Check whether function is used with legacy signature: `$taxonomy` and `$args`.
    if ($args && (is_string($args) && taxonomy_exists($args) || is_array($args) && wp_is_numeric_array($args))) {
        $use_legacy_args = true;
    }
    $defaults = array('hide_empty' => false);
    if ($use_legacy_args) {
        $defaults['taxonomy'] = $args;
        $args = $deprecated;
    }
    $args = wp_parse_args($args, $defaults);
    // Backward compatibility.
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($args);
}

WordPress Version: 5.4

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 *
 * @param string       $taxonomy Taxonomy name.
 * @param array|string $args     Optional. Array of arguments that get passed to get_terms().
 *                               Default empty array.
 * @return array|int|WP_Error Number of terms in that taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('taxonomy' => $taxonomy, 'hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // Backward compatibility.
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($args);
}

WordPress Version: 5.3

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 *
 * @param string       $taxonomy Taxonomy name.
 * @param array|string $args     Optional. Array of arguments that get passed to get_terms().
 *                               Default empty array.
 * @return array|int|WP_Error Number of terms in that taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('taxonomy' => $taxonomy, 'hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backward compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($args);
}

WordPress Version: 4.6

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 *
 * @param string       $taxonomy Taxonomy name.
 * @param array|string $args     Optional. Array of arguments that get passed to get_terms().
 *                               Default empty array.
 * @return array|int|WP_Error Number of terms in that taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backward compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($taxonomy, $args);
}

WordPress Version: 4.5

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 *
 * @param string       $taxonomy Taxonomy name.
 * @param array|string $args     Optional. Array of arguments that get passed to {@see get_terms()}.
 *                               Default empty array.
 * @return array|int|WP_Error Number of terms in that taxonomy or WP_Error if the taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backwards compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($taxonomy, $args);
}

WordPress Version: 4.3

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @todo Document $args as a hash notation.
 *
 * @since 2.3.0
 *
 * @param string       $taxonomy Taxonomy name
 * @param array|string $args     Overwrite defaults. See get_terms()
 * @return array|int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backwards compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($taxonomy, $args);
}

WordPress Version: 4.1

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 *
 * @param string $taxonomy Taxonomy name
 * @param array|string $args Overwrite defaults. See get_terms()
 * @return int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backwards compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($taxonomy, $args);
}

WordPress Version: 3.9

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @since 2.3.0
 *
 * @uses get_terms()
 * @uses wp_parse_args() Turns strings into arrays and merges defaults into an array.
 *
 * @param string $taxonomy Taxonomy name
 * @param array|string $args Overwrite defaults. See get_terms()
 * @return int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backwards compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($taxonomy, $args);
}

WordPress Version: 3.7

/**
 * Count how many terms are in Taxonomy.
 *
 * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
 *
 * @package WordPress
 * @subpackage Taxonomy
 * @since 2.3.0
 *
 * @uses get_terms()
 * @uses wp_parse_args() Turns strings into arrays and merges defaults into an array.
 *
 * @param string $taxonomy Taxonomy name
 * @param array|string $args Overwrite defaults. See get_terms()
 * @return int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
 */
function wp_count_terms($taxonomy, $args = array())
{
    $defaults = array('hide_empty' => false);
    $args = wp_parse_args($args, $defaults);
    // backwards compatibility
    if (isset($args['ignore_empty'])) {
        $args['hide_empty'] = $args['ignore_empty'];
        unset($args['ignore_empty']);
    }
    $args['fields'] = 'count';
    return get_terms($taxonomy, $args);
}