PluginProbe
WPGraphQL / trunk
WPGraphQL vtrunk
2.22.3 2.22.2 2.22.1 2.22.0 2.21.1 2.21.0 2.20.0 2.19.0 2.18.0 2.17.0 2.16.0 2.15.1 2.15.0 2.14.1 2.14.0 2.13.0 2.2.0 2.3.0 2.3.3 2.3.6 2.3.8 2.5.0 2.5.1 2.5.2 2.5.3 All 177 releases
wp-graphql / src / Data / Loader / TaxonomyLoader.php

TaxonomyLoader.php in WPGraphQL trunk, at src/Data/Loader/TaxonomyLoader.php

50 lines 876 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace WPGraphQL\Data\Loader;
3
4 use WPGraphQL\Model\Taxonomy;
5
6 /**
7 * Class TaxonomyLoader
8 *
9 * @package WPGraphQL\Data\Loader
10 */
11 class TaxonomyLoader extends AbstractDataLoader {
12
13 /**
14 * {@inheritDoc}
15 *
16 * @param mixed|\WP_Taxonomy $entry The Taxonomy Object
17 *
18 * @return \WPGraphQL\Model\Taxonomy
19 */
20 protected function get_model( $entry, $key ) {
21 return new Taxonomy( $entry );
22 }
23
24 /**
25 * {@inheritDoc}
26 *
27 * @param string[] $keys
28 *
29 * @return array<string,\WP_Taxonomy|null>
30 */
31 public function loadKeys( array $keys ) {
32 $taxonomies = \WPGraphQL::get_allowed_taxonomies( 'objects' );
33
34 if ( empty( $taxonomies ) ) {
35 return [];
36 }
37
38 $loaded = [];
39 foreach ( $keys as $key ) {
40 if ( isset( $taxonomies[ $key ] ) ) {
41 $loaded[ $key ] = $taxonomies[ $key ];
42 } else {
43 $loaded[ $key ] = null;
44 }
45 }
46
47 return $loaded;
48 }
49 }
50