A WordPress-centric search engine for devs and theme authors



get_categories ›

Since2.1.0
Deprecatedn/a
get_categories ( $args = '' )
Parameters:
  • (string|array) $args { Optional. Arguments to retrieve categories. See get_terms() for additional options.
    Required: No
    Default: (empty)
See:
Returns:
  • (array) List of categories.
Defined at:
Codex:

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.



Source

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;
}