# wp-graphql/trunk/src/Data/Loader/TaxonomyLoader.php

WPGraphQL, version trunk. 50 lines.

- Page: https://pluginprobe.com/plugins/wp-graphql/trunk/code/src/Data/Loader/TaxonomyLoader.php
- Raw: https://pluginprobe.com/plugins/wp-graphql/trunk/raw/src/Data/Loader/TaxonomyLoader.php
- Modified: 2025-05-02T22:53:42+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wp-graphql/trunk/code/src/Data/Loader/TaxonomyLoader.php#L10-L20`.

```php
<?php
namespace WPGraphQL\Data\Loader;

use WPGraphQL\Model\Taxonomy;

/**
 * Class TaxonomyLoader
 *
 * @package WPGraphQL\Data\Loader
 */
class TaxonomyLoader extends AbstractDataLoader {

	/**
	 * {@inheritDoc}
	 *
	 * @param mixed|\WP_Taxonomy $entry The Taxonomy Object
	 *
	 * @return \WPGraphQL\Model\Taxonomy
	 */
	protected function get_model( $entry, $key ) {
		return new Taxonomy( $entry );
	}

	/**
	 * {@inheritDoc}
	 *
	 * @param string[] $keys
	 *
	 * @return array<string,\WP_Taxonomy|null>
	 */
	public function loadKeys( array $keys ) {
		$taxonomies = \WPGraphQL::get_allowed_taxonomies( 'objects' );

		if ( empty( $taxonomies ) ) {
			return [];
		}

		$loaded = [];
		foreach ( $keys as $key ) {
			if ( isset( $taxonomies[ $key ] ) ) {
				$loaded[ $key ] = $taxonomies[ $key ];
			} else {
				$loaded[ $key ] = null;
			}
		}

		return $loaded;
	}
}

```
