PluginProbe
WPGraphQL / 2.22.1
WPGraphQL v2.22.1
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 / PostTypeLoader.php

PostTypeLoader.php in WPGraphQL 2.22.1, at src/Data/Loader/PostTypeLoader.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\PostType;
5
6 /**
7 * Class PostTypeLoader
8 *
9 * @package WPGraphQL\Data\Loader
10 */
11 class PostTypeLoader extends AbstractDataLoader {
12
13 /**
14 * {@inheritDoc}
15 *
16 * @param mixed|\WP_Post_Type $entry The Post Type Object
17 *
18 * @return \WPGraphQL\Model\PostType
19 */
20 protected function get_model( $entry, $key ) {
21 return new PostType( $entry );
22 }
23
24 /**
25 * {@inheritDoc}
26 *
27 * @param string[] $keys
28 * @return array<string,\WP_Post_Type|null>
29 */
30 public function loadKeys( array $keys ) {
31 $post_types = \WPGraphQL::get_allowed_post_types( 'objects' );
32
33 if ( empty( $post_types ) ) {
34 return [];
35 }
36
37 $loaded = [];
38
39 foreach ( $keys as $key ) {
40 if ( isset( $post_types[ $key ] ) ) {
41 $loaded[ $key ] = $post_types[ $key ];
42 } else {
43 $loaded[ $key ] = null;
44 }
45 }
46
47 return $loaded;
48 }
49 }
50