Skip to content

Commit

Permalink
🐛 BUGFIX
Browse files Browse the repository at this point in the history
wp-graphql#823 - This fixes some funkiness in the TermObjectLoader, where we were using `get_term_by()` without the taxonomy passed. This now gets the term object from the queried term instead of getting from the cache
  • Loading branch information
jasonbahl committed Apr 25, 2019
1 parent b8f7c87 commit 5fafc71
Show file tree
Hide file tree
Showing 8 changed files with 12 additions and 8,582 deletions.
15 changes: 12 additions & 3 deletions src/Data/Loader/TermObjectLoader.php
Expand Up @@ -53,7 +53,16 @@ public function loadKeys( array $keys ) {
* Execute the query. This adds the terms to the cache
*/
$query = new \WP_Term_Query( $args );
$query->get_terms();
$terms = $query->get_terms();

if ( empty( $terms ) || ! is_array( $terms ) ) {
return null;
}

$terms_by_id = [];
foreach ( $terms as $term ) {
$terms_by_id[ $term->term_id ] = $term;
}

/**
* Loop over the keys and return an array of loaded_terms, where the key is the ID and the value is
Expand All @@ -66,9 +75,9 @@ public function loadKeys( array $keys ) {
* them from the cache to pass through the model layer, or return null if the
* object isn't in the cache, meaning it didn't come back when queried.
*/
$term_object = get_term_by( 'term_taxonomy_id', $key );
$term_object = $terms_by_id[ $key ];

if ( empty( $term_object ) ) {
if ( empty( $term_object ) || ! is_a( $term_object, 'WP_Term' ) ) {
return null;
}

Expand Down
2,695 changes: 0 additions & 2,695 deletions vendor/composer/autoload_classmap.php

Large diffs are not rendered by default.

99 changes: 0 additions & 99 deletions vendor/composer/autoload_commands_classmap.php
Expand Up @@ -6,103 +6,4 @@
$baseDir = dirname($vendorDir);

return array(
'CLI_Command' => $vendorDir . '/wp-cli/wp-cli/php/commands/src/CLI_Command.php',
'Cache_Command' => $vendorDir . '/wp-cli/cache-command/src/Cache_Command.php',
'Capabilities_Command' => $vendorDir . '/wp-cli/role-command/src/Capabilities_Command.php',
'Checksum_Base_Command' => $vendorDir . '/wp-cli/checksum-command/src/Checksum_Base_Command.php',
'Checksum_Core_Command' => $vendorDir . '/wp-cli/checksum-command/src/Checksum_Core_Command.php',
'Checksum_Plugin_Command' => $vendorDir . '/wp-cli/checksum-command/src/Checksum_Plugin_Command.php',
'Comment_Command' => $vendorDir . '/wp-cli/entity-command/src/Comment_Command.php',
'Comment_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Comment_Meta_Command.php',
'Config_Command' => $vendorDir . '/wp-cli/config-command/src/Config_Command.php',
'Core_Command' => $vendorDir . '/wp-cli/core-command/src/Core_Command.php',
'Core_Language_Command' => $vendorDir . '/wp-cli/language-command/src/Core_Language_Command.php',
'Cron_Command' => $vendorDir . '/wp-cli/cron-command/src/Cron_Command.php',
'Cron_Event_Command' => $vendorDir . '/wp-cli/cron-command/src/Cron_Event_Command.php',
'Cron_Schedule_Command' => $vendorDir . '/wp-cli/cron-command/src/Cron_Schedule_Command.php',
'DB_Command' => $vendorDir . '/wp-cli/db-command/src/DB_Command.php',
'EvalFile_Command' => $vendorDir . '/wp-cli/eval-command/src/EvalFile_Command.php',
'Eval_Command' => $vendorDir . '/wp-cli/eval-command/src/Eval_Command.php',
'Export_Command' => $vendorDir . '/wp-cli/export-command/src/Export_Command.php',
'Import_Command' => $vendorDir . '/wp-cli/import-command/src/Import_Command.php',
'Language_Namespace' => $vendorDir . '/wp-cli/language-command/src/Language_Namespace.php',
'Media_Command' => $vendorDir . '/wp-cli/media-command/src/Media_Command.php',
'Menu_Command' => $vendorDir . '/wp-cli/entity-command/src/Menu_Command.php',
'Menu_Item_Command' => $vendorDir . '/wp-cli/entity-command/src/Menu_Item_Command.php',
'Menu_Location_Command' => $vendorDir . '/wp-cli/entity-command/src/Menu_Location_Command.php',
'Network_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Network_Meta_Command.php',
'Network_Namespace' => $vendorDir . '/wp-cli/entity-command/src/Network_Namespace.php',
'Option_Command' => $vendorDir . '/wp-cli/entity-command/src/Option_Command.php',
'Package_Command' => $vendorDir . '/wp-cli/package-command/src/Package_Command.php',
'Plugin_Command' => $vendorDir . '/wp-cli/extension-command/src/Plugin_Command.php',
'Post_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Command.php',
'Post_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Meta_Command.php',
'Post_Term_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Term_Command.php',
'Post_Type_Command' => $vendorDir . '/wp-cli/entity-command/src/Post_Type_Command.php',
'Rewrite_Command' => $vendorDir . '/wp-cli/rewrite-command/src/Rewrite_Command.php',
'Role_Command' => $vendorDir . '/wp-cli/role-command/src/Role_Command.php',
'Scaffold_Command' => $vendorDir . '/wp-cli/scaffold-command/src/Scaffold_Command.php',
'Search_Replace_Command' => $vendorDir . '/wp-cli/search-replace-command/src/Search_Replace_Command.php',
'Server_Command' => $vendorDir . '/wp-cli/server-command/src/Server_Command.php',
'Shell_Command' => $vendorDir . '/wp-cli/shell-command/src/Shell_Command.php',
'Sidebar_Command' => $vendorDir . '/wp-cli/widget-command/src/Sidebar_Command.php',
'Site_Command' => $vendorDir . '/wp-cli/entity-command/src/Site_Command.php',
'Site_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Site_Meta_Command.php',
'Site_Option_Command' => $vendorDir . '/wp-cli/entity-command/src/Site_Option_Command.php',
'Super_Admin_Command' => $vendorDir . '/wp-cli/super-admin-command/src/Super_Admin_Command.php',
'Taxonomy_Command' => $vendorDir . '/wp-cli/entity-command/src/Taxonomy_Command.php',
'Term_Command' => $vendorDir . '/wp-cli/entity-command/src/Term_Command.php',
'Term_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/Term_Meta_Command.php',
'Theme_Command' => $vendorDir . '/wp-cli/extension-command/src/Theme_Command.php',
'Theme_Mod_Command' => $vendorDir . '/wp-cli/extension-command/src/Theme_Mod_Command.php',
'Transient_Command' => $vendorDir . '/wp-cli/cache-command/src/Transient_Command.php',
'User_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Command.php',
'User_Meta_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Meta_Command.php',
'User_Session_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Session_Command.php',
'User_Term_Command' => $vendorDir . '/wp-cli/entity-command/src/User_Term_Command.php',
'WP_CLI\\CommandWithDBObject' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/CommandWithDBObject.php',
'WP_CLI\\CommandWithMeta' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/CommandWithMeta.php',
'WP_CLI\\CommandWithTerms' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/CommandWithTerms.php',
'WP_CLI\\CommandWithTranslation' => $vendorDir . '/wp-cli/language-command/src/WP_CLI/CommandWithTranslation.php',
'WP_CLI\\CommandWithUpgrade' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/CommandWithUpgrade.php',
'WP_CLI\\CoreUpgrader' => $vendorDir . '/wp-cli/core-command/src/WP_CLI/CoreUpgrader.php',
'WP_CLI\\DestructivePluginUpgrader' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/DestructivePluginUpgrader.php',
'WP_CLI\\DestructiveThemeUpgrader' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/DestructiveThemeUpgrader.php',
'WP_CLI\\Embeds\\Cache_Command' => $vendorDir . '/wp-cli/embed-command/src/Cache_Command.php',
'WP_CLI\\Embeds\\Embeds_Namespace' => $vendorDir . '/wp-cli/embed-command/src/Embeds_Namespace.php',
'WP_CLI\\Embeds\\Fetch_Command' => $vendorDir . '/wp-cli/embed-command/src/Fetch_Command.php',
'WP_CLI\\Embeds\\Handler_Command' => $vendorDir . '/wp-cli/embed-command/src/Handler_Command.php',
'WP_CLI\\Embeds\\Provider_Command' => $vendorDir . '/wp-cli/embed-command/src/Provider_Command.php',
'WP_CLI\\Embeds\\oEmbed' => $vendorDir . '/wp-cli/embed-command/src/oEmbed.php',
'WP_CLI\\Entity\\NonExistentKeyException' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Entity/NonExistentKeyException.php',
'WP_CLI\\Entity\\RecursiveDataStructureTraverser' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Entity/RecursiveDataStructureTraverser.php',
'WP_CLI\\Entity\\Utils' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Entity/Utils.php',
'WP_CLI\\Fetchers\\Comment' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/Comment.php',
'WP_CLI\\Fetchers\\Plugin' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/Fetchers/Plugin.php',
'WP_CLI\\Fetchers\\Post' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/Post.php',
'WP_CLI\\Fetchers\\Site' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/Site.php',
'WP_CLI\\Fetchers\\Theme' => $vendorDir . '/wp-cli/extension-command/src/WP_CLI/Fetchers/Theme.php',
'WP_CLI\\Fetchers\\UnfilteredPlugin' => $vendorDir . '/wp-cli/checksum-command/src/WP_CLI/Fetchers/UnfilteredPlugin.php',
'WP_CLI\\Fetchers\\User' => $vendorDir . '/wp-cli/entity-command/src/WP_CLI/Fetchers/User.php',
'WP_CLI\\Inflector' => $vendorDir . '/wp-cli/scaffold-command/src/WP_CLI/Inflector.php',
'WP_CLI\\JsonManipulator' => $vendorDir . '/wp-cli/package-command/src/WP_CLI/JsonManipulator.php',
'WP_CLI\\LanguagePackUpgrader' => $vendorDir . '/wp-cli/language-command/src/WP_CLI/LanguagePackUpgrader.php',
'WP_CLI\\NonDestructiveCoreUpgrader' => $vendorDir . '/wp-cli/core-command/src/WP_CLI/NonDestructiveCoreUpgrader.php',
'WP_CLI\\REPL' => $vendorDir . '/wp-cli/shell-command/src/WP_CLI/REPL.php',
'WP_CLI\\SearchReplacer' => $vendorDir . '/wp-cli/search-replace-command/src/WP_CLI/SearchReplacer.php',
'WP_Export_Base_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Base_Writer.php',
'WP_Export_Exception' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Exception.php',
'WP_Export_File_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_File_Writer.php',
'WP_Export_Oxymel' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Oxymel.php',
'WP_Export_Query' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Query.php',
'WP_Export_Returner' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Returner.php',
'WP_Export_Split_Files_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Split_Files_Writer.php',
'WP_Export_Stdout_Writer' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Stdout_Writer.php',
'WP_Export_Term_Exception' => $vendorDir . '/wp-cli/export-command/src/WP_Export_Term_Exception.php',
'WP_Export_WXR_Formatter' => $vendorDir . '/wp-cli/export-command/src/WP_Export_WXR_Formatter.php',
'WP_Export_XML_Over_HTTP' => $vendorDir . '/wp-cli/export-command/src/WP_Export_XML_Over_HTTP.php',
'WP_Iterator_Exception' => $vendorDir . '/wp-cli/export-command/src/WP_Iterator_Exception.php',
'WP_Map_Iterator' => $vendorDir . '/wp-cli/export-command/src/WP_Map_Iterator.php',
'WP_Post_IDs_Iterator' => $vendorDir . '/wp-cli/export-command/src/WP_Post_IDs_Iterator.php',
'Widget_Command' => $vendorDir . '/wp-cli/widget-command/src/Widget_Command.php',
);

0 comments on commit 5fafc71

Please sign in to comment.