uery::class, ShippingRateTable::class ); $this->share_table_class( ShippingTimeTable::class ); $this->add_query_class( ShippingTimeQuery::class, ShippingTimeTable::class ); $this->share_table_class( MerchantIssueTable::class ); $this->add_query_class( MerchantIssueQuery::class, MerchantIssueTable::class ); $this->share_with_tags( ProductFeedQueryHelper::class, wpdb::class, ProductRepository::class ); $this->share_with_tags( ProductMetaQueryHelper::class, wpdb::class ); // Share DB migrations $this->share_migration( MigrationVersion141::class, MerchantIssueTable::class ); $this->share_migration( Migration20211228T1640692399::class, ShippingRateTable::class, OptionsInterface::class ); $this->share_with_tags( Migration20220524T1653383133::class, BudgetRecommendationTable::class ); $this->share_migration( Migration20231109T1653383133::class, BudgetRecommendationTable::class ); $this->share_with_tags( Migrator::class, MigrationInterface::class ); } /** * Add a query class. * * @param string $class_name * @param mixed ...$arguments * * @return DefinitionInterface */ protected function add_query_class( string $class_name, ...$arguments ): DefinitionInterface { return $this->add( $class_name, wpdb::class, ...$arguments )->addTag( 'db_query' ); } /** * Share a table class. * * Shared classes will always return the same instance of the class when the class is requested * from the container. * * @param string $class_name The class name to add. * @param mixed ...$arguments Constructor arguments for the class. * * @return DefinitionInterface */ protected function share_table_class( string $class_name, ...$arguments ): DefinitionInterface { return parent::share( $class_name, WP::class, wpdb::class, ...$arguments )->addTag( 'db_table' ); } /** * Share a migration class. * * @param string $class_name The class name to add. * @param mixed ...$arguments Constructor arguments for the class. * * @throws InvalidClass When the given class does not implement the MigrationInterface. * * @since 1.4.1 */ protected function share_migration( string $class_name, ...$arguments ) { $this->validate_interface( $class_name, MigrationInterface::class ); $this->share_with_tags( $class_name, wpdb::class, ...$arguments ); } }
Fatal error: Uncaught Automattic\WooCommerce\GoogleListingsAndAds\Vendor\League\Container\Exception\ContainerException: A service provider must be a fully qualified class name or instance of (\League\Container\ServiceProvider\ServiceProviderInterface) in /htdocs/wp-content/plugins/google-listings-and-ads/vendor/league/container/src/ServiceProvider/ServiceProviderAggregate.php:52 Stack trace: #0 /htdocs/wp-content/plugins/google-listings-and-ads/vendor/league/container/src/Container.php(146): Automattic\WooCommerce\GoogleListingsAndAds\Vendor\League\Container\ServiceProvider\ServiceProviderAggregate->add('Automattic\\WooC...') #1 /htdocs/wp-content/plugins/google-listings-and-ads/src/Container.php(75): Automattic\WooCommerce\GoogleListingsAndAds\Vendor\League\Container\Container->addServiceProvider('Automattic\\WooC...') #2 /htdocs/wp-content/plugins/google-listings-and-ads/google-listings-and-ads.php(93): Automattic\WooCommerce\GoogleListingsAndAds\Container->__construct() #3 /htdocs/wp-content/plugins/google-listings-and-ads/src/PluginFactory.php(25): woogle_get_container() #4 /htdocs/wp-content/plugins/google-listings-and-ads/google-listings-and-ads.php(72): Automattic\WooCommerce\GoogleListingsAndAds\PluginFactory::instance() #5 /htdocs/wp-includes/class-wp-hook.php(324): {closure}('') #6 /htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #7 /htdocs/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #8 /htdocs/wp-content/plugins/woocommerce/includes/class-woocommerce.php(218): do_action('woocommerce_loa...') #9 /htdocs/wp-includes/class-wp-hook.php(324): WooCommerce->on_plugins_loaded('') #10 /htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #11 /htdocs/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #12 /htdocs/wp-settings.php(559): do_action('plugins_loaded') #13 /htdocs/wp-config.php(85): require_once('/htdocs/wp-sett...') #14 /htdocs/wp-load.php(50): require_once('/htdocs/wp-conf...') #15 /htdocs/wp-blog-header.php(13): require_once('/htdocs/wp-load...') #16 /htdocs/index.php(17): require('/htdocs/wp-blog...') #17 {main} thrown in /htdocs/wp-content/plugins/google-listings-and-ads/vendor/league/container/src/ServiceProvider/ServiceProviderAggregate.php on line 52