Automattic\WooCommerce\Internal\ProductFeed

ProductFeed{}finalWC 10.5.0└─ RegisterHooksInterface

Main Product Feed class.

Хуков нет.

Использование

$ProductFeed = new ProductFeed();
// use class methods

Методы

  1. public activate()
  2. public deactivate()
  3. public init(
  4. public register()
  5. public register_integration( IntegrationInterface $integration )

Список изменений

С версии 10.5.0 Введена.

Код ProductFeed{} WC 10.5.2

final class ProductFeed implements RegisterHooksInterface {
	/**
	 * Integration registry.
	 *
	 * @var IntegrationRegistry
	 */
	private IntegrationRegistry $integration_registry;

	/**
	 * Dependency injector.
	 *
	 * @param IntegrationRegistry $integration_registry The integration registry.
	 * @param POSIntegration      $pos_integration The POS integration.
	 * @internal
	 */
	public function init( // phpcs:ignore WooCommerce.Functions.InternalInjectionMethod.MissingFinal
		IntegrationRegistry $integration_registry,
		POSIntegration $pos_integration
	): void {
		$this->integration_registry = $integration_registry;
		$this->integration_registry->register_integration( $pos_integration );
	}

	/**
	 * Allows extensions to register integrations.
	 *
	 * @since 10.5.0
	 * @param IntegrationInterface $integration The integration to register.
	 * @return void
	 */
	public function register_integration( IntegrationInterface $integration ): void {
		$this->integration_registry->register_integration( $integration );
	}

	/**
	 * Initialize plugin components
	 *
	 * @since 10.5.0
	 */
	public function register(): void {
		// Let all integrations register their hooks.
		foreach ( $this->integration_registry->get_integrations() as $integration ) {
			$integration->register_hooks();
		}
	}

	/**
	 * Plugin activation
	 *
	 * @since 10.5.0
	 */
	public function activate(): void {
		foreach ( $this->integration_registry->get_integrations() as $integration ) {
			$integration->activate();
		}
	}

	/**
	 * Plugin deactivation
	 *
	 * @since 10.5.0
	 */
	public function deactivate(): void {
		foreach ( $this->integration_registry->get_integrations() as $integration ) {
			$integration->deactivate();
		}
	}
}