WordPress Version: 4.8
/**
* Taxonomy API: Core category-specific functionality
*
* @package WordPress
* @subpackage Taxonomy
*/
/**
* Retrieve list of category objects.
*
* If you change the type to 'link' in the arguments, then the link categories
* will be returned instead. Also all categories will be updated to be backward
* compatible with pre-2.3 plugins and themes.
*
* @since 2.1.0
* @see get_terms() Type of arguments that can be changed.
*
* @param string|array $args {
* Optional. Arguments to retrieve categories. See get_terms() for additional options.
*
* @type string $taxonomy Taxonomy to retrieve terms for. In this case, default 'category'.
* }
* @return array List of categories.
*/
function get_categories($args = '')
{
$defaults = array('taxonomy' => 'category');
$args = wp_parse_args($args, $defaults);
$taxonomy = $args['taxonomy'];
/**
* Filters the taxonomy used to retrieve terms when calling get_categories().
*
* @since 2.7.0
*
* @param string $taxonomy Taxonomy to retrieve terms from.
* @param array $args An array of arguments. See get_terms().
*/
$taxonomy = apply_filters('get_categories_taxonomy', $taxonomy, $args);
// Back compat
if (isset($args['type']) && 'link' == $args['type']) {
_deprecated_argument(
__FUNCTION__,
'3.0.0',
/* translators: 1: "type => link", 2: "taxonomy => link_category" */
sprintf(__('%1$s is deprecated. Use %2$s instead.'), '<code>type => link</code>', '<code>taxonomy => link_category</code>')
);
$taxonomy = $args['taxonomy'] = 'link_category';
}
$categories = get_terms($taxonomy, $args);
if (is_wp_error($categories)) {
$categories = array();
} else {
$categories = (array) $categories;
foreach (array_keys($categories) as $k) {
_make_cat_compat($categories[$k]);
}
}
return $categories;
}