Skip to content
This repository was archived by the owner on Jul 23, 2024. It is now read-only.

Commit 5e5dfc7

Browse files
committed
#16 - Nested fields not always showing properly
1 parent ace0102 commit 5e5dfc7

10 files changed

+17360
-1
lines changed

.env.dist

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
# Shared
3+
TEST_DB_NAME="wptests"
4+
TEST_DB_HOST="127.0.0.1"
5+
TEST_DB_USER=""
6+
TEST_DB_PASSWORD=""
7+
8+
# Install script
9+
WP_VERSION=latest
10+
SKIP_DB_CREATE=false
11+
WP_GRAPHQL_BRANCH=develop
12+
13+
# Codeception
14+
WP_ROOT_FOLDER="/tmp/wp-graphql-acf/wordpress"
15+
TEST_SITE_WP_ADMIN_PATH="/wp-admin"
16+
TEST_SITE_DB_NAME="wptests"
17+
TEST_SITE_DB_HOST="127.0.0.1"
18+
TEST_SITE_DB_USER="root"
19+
TEST_SITE_DB_PASSWORD=""
20+
TEST_SITE_TABLE_PREFIX="wp_"
21+
TEST_TABLE_PREFIX="wp_"
22+
TEST_SITE_WP_URL="http://wp.test"
23+
TEST_SITE_WP_DOMAIN="wp.test"
24+
TEST_SITE_ADMIN_EMAIL="[email protected]"
25+
TEST_SITE_ADMIN_USERNAME="admin"
26+
TEST_SITE_ADMIN_PASSWORD="password"

src/class-config.php

+10
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,7 @@ protected function register_graphql_field( $type_name, $field_name, $config ) {
527527
]
528528
);
529529

530+
530531
$this->add_field_group_fields( $acf_field, $field_type_name );
531532

532533
$field_config['type'] = $field_type_name;
@@ -572,6 +573,7 @@ protected function register_graphql_field( $type_name, $field_name, $config ) {
572573
break;
573574
case 'repeater':
574575
$field_type_name = $type_name . '_' . self::camel_case( $acf_field['name'] );
576+
575577
if ( TypeRegistry::get_type( $field_type_name ) ) {
576578
$field_config['type'] = $field_type_name;
577579
break;
@@ -701,6 +703,12 @@ protected function register_graphql_field( $type_name, $field_name, $config ) {
701703
*/
702704
protected function add_field_group_fields( $field_group, $type_name ) {
703705

706+
/**
707+
* If the field group has the show_in_graphql setting configured, respect it's setting
708+
* otherwise default to true (for nested fields)
709+
*/
710+
$field_group['show_in_graphql'] = isset( $field_group['show_in_graphql'] ) ? (boolean) $field_group['show_in_graphql'] : true;
711+
704712
/**
705713
* Determine if the field group should be exposed
706714
* to graphql
@@ -714,6 +722,7 @@ protected function add_field_group_fields( $field_group, $type_name ) {
714722
*/
715723
$acf_fields = ! empty( $field_group['sub_fields'] ) ? $field_group['sub_fields'] : acf_get_fields( $field_group );
716724

725+
717726
/**
718727
* If there are no fields, bail
719728
*/
@@ -741,6 +750,7 @@ protected function add_field_group_fields( $field_group, $type_name ) {
741750
empty( $name ) ||
742751
true !== $show_in_graphql
743752
) {
753+
744754
/**
745755
* Uncomment line below to determine what fields are not going to be output
746756
* in the Schema.

vendor/composer/autoload_classmap.php

+3,223
Large diffs are not rendered by default.

vendor/composer/autoload_commands_classmap.php

+99
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,103 @@
66
$baseDir = dirname($vendorDir);
77

88
return array(
9+
'CLI_Command' => $vendorDir . '/wp-cli/wp-cli/php/commands/src/CLI_Command.php',
10+
'Cache_Command' => $vendorDir . '/wp-cli/cache-command/src/Cache_Command.php',
11+
'Capabilities_Command' => $vendorDir . '/wp-cli/role-command/src/Capabilities_Command.php',
12+
'Checksum_Base_Command' => $vendorDir . '/wp-cli/checksum-command/src/Checksum_Base_Command.php',
13+
'Checksum_Core_Command' => $vendorDir . '/wp-cli/checksum-command/src/Checksum_Core_Command.php',
14+
'Checksum_Plugin_Command' => $vendorDir . '/wp-cli/checksum-command/src/Checksum_Plugin_Command.php',
15+
'Comment_Command' => $vendorDir . '/wp-cli/entity-command/src/Comment_Command.php',
16+
'Comment_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Comment_Meta_Command.php',
17+
'Config_Command' => $vendorDir . '/wp-cli/config-command/src/Config_Command.php',
18+
'Core_Command' => $vendorDir . '/wp-cli/core-command/src/Core_Command.php',
19+
'Core_Language_Command' => $vendorDir . '/wp-cli/language-command/src/Core_Language_Command.php',
20+
'Cron_Command' => $vendorDir . '/wp-cli/cron-command/src/Cron_Command.php',
21+
'Cron_Event_Command' => $vendorDir . '/wp-cli/cron-command/src/Cron_Event_Command.php',
22+
'Cron_Schedule_Command' => $vendorDir . '/wp-cli/cron-command/src/Cron_Schedule_Command.php',
23+
'DB_Command' => $vendorDir . '/wp-cli/db-command/src/DB_Command.php',
24+
'EvalFile_Command' => $vendorDir . '/wp-cli/eval-command/src/EvalFile_Command.php',
25+
'Eval_Command' => $vendorDir . '/wp-cli/eval-command/src/Eval_Command.php',
26+
'Export_Command' => $vendorDir . '/wp-cli/export-command/src/Export_Command.php',
27+
'Import_Command' => $vendorDir . '/wp-cli/import-command/src/Import_Command.php',
28+
'Language_Namespace' => $vendorDir . '/wp-cli/language-command/src/Language_Namespace.php',
29+
'Media_Command' => $vendorDir . '/wp-cli/media-command/src/Media_Command.php',
30+
'Menu_Command' => $vendorDir . '/wp-cli/entity-command/src/Menu_Command.php',
31+
'Menu_Item_Command' => $vendorDir . '/wp-cli/entity-command/src/Menu_Item_Command.php',
32+
'Menu_Location_Command' => $vendorDir . '/wp-cli/entity-command/src/Menu_Location_Command.php',
33+
'Network_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Network_Meta_Command.php',
34+
'Network_Namespace' => $vendorDir . '/wp-cli/entity-command/src/Network_Namespace.php',
35+
'Option_Command' => $vendorDir . '/wp-cli/entity-command/src/Option_Command.php',
36+
'Package_Command' => $vendorDir . '/wp-cli/package-command/src/Package_Command.php',
37+
'Plugin_Command' => $vendorDir . '/wp-cli/extension-command/src/Plugin_Command.php',
38+
'Post_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Command.php',
39+
'Post_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Meta_Command.php',
40+
'Post_Term_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Term_Command.php',
41+
'Post_Type_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Type_Command.php',
42+
'Rewrite_Command' => $vendorDir . '/wp-cli/rewrite-command/src/Rewrite_Command.php',
43+
'Role_Command' => $vendorDir . '/wp-cli/role-command/src/Role_Command.php',
44+
'Scaffold_Command' => $vendorDir . '/wp-cli/scaffold-command/src/Scaffold_Command.php',
45+
'Search_Replace_Command' => $vendorDir . '/wp-cli/search-replace-command/src/Search_Replace_Command.php',
46+
'Server_Command' => $vendorDir . '/wp-cli/server-command/src/Server_Command.php',
47+
'Shell_Command' => $vendorDir . '/wp-cli/shell-command/src/Shell_Command.php',
48+
'Sidebar_Command' => $vendorDir . '/wp-cli/widget-command/src/Sidebar_Command.php',
49+
'Site_Command' => $vendorDir . '/wp-cli/entity-command/src/Site_Command.php',
50+
'Site_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Site_Meta_Command.php',
51+
'Site_Option_Command' => $vendorDir . '/wp-cli/entity-command/src/Site_Option_Command.php',
52+
'Super_Admin_Command' => $vendorDir . '/wp-cli/super-admin-command/src/Super_Admin_Command.php',
53+
'Taxonomy_Command' => $vendorDir . '/wp-cli/entity-command/src/Taxonomy_Command.php',
54+
'Term_Command' => $vendorDir . '/wp-cli/entity-command/src/Term_Command.php',
55+
'Term_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Term_Meta_Command.php',
56+
'Theme_Command' => $vendorDir . '/wp-cli/extension-command/src/Theme_Command.php',
57+
'Theme_Mod_Command' => $vendorDir . '/wp-cli/extension-command/src/Theme_Mod_Command.php',
58+
'Transient_Command' => $vendorDir . '/wp-cli/cache-command/src/Transient_Command.php',
59+
'User_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Command.php',
60+
'User_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Meta_Command.php',
61+
'User_Session_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Session_Command.php',
62+
'User_Term_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Term_Command.php',
63+
'WP_CLI\\CommandWithDBObject' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/CommandWithDBObject.php',
64+
'WP_CLI\\CommandWithMeta' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/CommandWithMeta.php',
65+
'WP_CLI\\CommandWithTerms' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/CommandWithTerms.php',
66+
'WP_CLI\\CommandWithTranslation' => $vendorDir . '/wp-cli/language-command/src/WP_CLI/CommandWithTranslation.php',
67+
'WP_CLI\\CommandWithUpgrade' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/CommandWithUpgrade.php',
68+
'WP_CLI\\CoreUpgrader' => $vendorDir . '/wp-cli/core-command/src/WP_CLI/CoreUpgrader.php',
69+
'WP_CLI\\DestructivePluginUpgrader' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/DestructivePluginUpgrader.php',
70+
'WP_CLI\\DestructiveThemeUpgrader' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/DestructiveThemeUpgrader.php',
71+
'WP_CLI\\Embeds\\Cache_Command' => $vendorDir . '/wp-cli/embed-command/src/Cache_Command.php',
72+
'WP_CLI\\Embeds\\Embeds_Namespace' => $vendorDir . '/wp-cli/embed-command/src/Embeds_Namespace.php',
73+
'WP_CLI\\Embeds\\Fetch_Command' => $vendorDir . '/wp-cli/embed-command/src/Fetch_Command.php',
74+
'WP_CLI\\Embeds\\Handler_Command' => $vendorDir . '/wp-cli/embed-command/src/Handler_Command.php',
75+
'WP_CLI\\Embeds\\Provider_Command' => $vendorDir . '/wp-cli/embed-command/src/Provider_Command.php',
76+
'WP_CLI\\Embeds\\oEmbed' => $vendorDir . '/wp-cli/embed-command/src/oEmbed.php',
77+
'WP_CLI\\Entity\\NonExistentKeyException' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Entity/NonExistentKeyException.php',
78+
'WP_CLI\\Entity\\RecursiveDataStructureTraverser' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Entity/RecursiveDataStructureTraverser.php',
79+
'WP_CLI\\Entity\\Utils' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Entity/Utils.php',
80+
'WP_CLI\\Fetchers\\Comment' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/Comment.php',
81+
'WP_CLI\\Fetchers\\Plugin' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/Fetchers/Plugin.php',
82+
'WP_CLI\\Fetchers\\Post' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/Post.php',
83+
'WP_CLI\\Fetchers\\Site' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/Site.php',
84+
'WP_CLI\\Fetchers\\Theme' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/Fetchers/Theme.php',
85+
'WP_CLI\\Fetchers\\UnfilteredPlugin' => $vendorDir . '/wp-cli/checksum-command/src/WP_CLI/Fetchers/UnfilteredPlugin.php',
86+
'WP_CLI\\Fetchers\\User' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/User.php',
87+
'WP_CLI\\Inflector' => $vendorDir . '/wp-cli/scaffold-command/src/WP_CLI/Inflector.php',
88+
'WP_CLI\\JsonManipulator' => $vendorDir . '/wp-cli/package-command/src/WP_CLI/JsonManipulator.php',
89+
'WP_CLI\\LanguagePackUpgrader' => $vendorDir . '/wp-cli/language-command/src/WP_CLI/LanguagePackUpgrader.php',
90+
'WP_CLI\\NonDestructiveCoreUpgrader' => $vendorDir . '/wp-cli/core-command/src/WP_CLI/NonDestructiveCoreUpgrader.php',
91+
'WP_CLI\\REPL' => $vendorDir . '/wp-cli/shell-command/src/WP_CLI/REPL.php',
92+
'WP_CLI\\SearchReplacer' => $vendorDir . '/wp-cli/search-replace-command/src/WP_CLI/SearchReplacer.php',
93+
'WP_Export_Base_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Base_Writer.php',
94+
'WP_Export_Exception' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Exception.php',
95+
'WP_Export_File_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_File_Writer.php',
96+
'WP_Export_Oxymel' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Oxymel.php',
97+
'WP_Export_Query' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Query.php',
98+
'WP_Export_Returner' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Returner.php',
99+
'WP_Export_Split_Files_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Split_Files_Writer.php',
100+
'WP_Export_Stdout_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Stdout_Writer.php',
101+
'WP_Export_Term_Exception' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Term_Exception.php',
102+
'WP_Export_WXR_Formatter' => $vendorDir . '/wp-cli/export-command/src/WP_Export_WXR_Formatter.php',
103+
'WP_Export_XML_Over_HTTP' => $vendorDir . '/wp-cli/export-command/src/WP_Export_XML_Over_HTTP.php',
104+
'WP_Iterator_Exception' => $vendorDir . '/wp-cli/export-command/src/WP_Iterator_Exception.php',
105+
'WP_Map_Iterator' => $vendorDir . '/wp-cli/export-command/src/WP_Map_Iterator.php',
106+
'WP_Post_IDs_Iterator' => $vendorDir . '/wp-cli/export-command/src/WP_Post_IDs_Iterator.php',
107+
'Widget_Command' => $vendorDir . '/wp-cli/widget-command/src/Widget_Command.php',
9108
);

0 commit comments

Comments
 (0)