Automattic\WooCommerce\Admin\API

OnboardingPlugins::register_routes()publicWC 1.0

Register routes.

Метод класса: OnboardingPlugins{}

Хуков нет.

Возвращает

null. Ничего (null).

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

$OnboardingPlugins = new OnboardingPlugins();
$OnboardingPlugins->register_routes();

Код OnboardingPlugins::register_routes() WC 9.2.3

public function register_routes() {
	register_rest_route(
		$this->namespace,
		'/' . $this->rest_base . '/install-and-activate-async',
		array(
			array(
				'methods'             => 'POST',
				'callback'            => array( $this, 'install_and_activate_async' ),
				'permission_callback' => array( $this, 'can_install_and_activate_plugins' ),
				'args'                => array(
					'plugins' => array(
						'description'       => 'A list of plugins to install',
						'type'              => 'array',
						'items'             => 'string',
						'sanitize_callback' => function ( $value ) {
							return array_map(
								function ( $value ) {
									return sanitize_text_field( $value );
								},
								$value
							);
						},
						'required'          => true,
					),
				),
			),
			'schema' => array( $this, 'get_install_async_schema' ),
		)
	);
	register_rest_route(
		$this->namespace,
		'/' . $this->rest_base . '/install-and-activate',
		array(
			array(
				'methods'             => 'POST',
				'callback'            => array( $this, 'install_and_activate' ),
				'permission_callback' => array( $this, 'can_install_and_activate_plugins' ),

			),
			'schema' => array( $this, 'get_install_activate_schema' ),
		)
	);
	register_rest_route(
		$this->namespace,
		'/' . $this->rest_base . '/scheduled-installs/(?P<job_id>\w+)',
		array(
			array(
				'methods'             => 'GET',
				'callback'            => array( $this, 'get_scheduled_installs' ),
				'permission_callback' => array( $this, 'can_install_plugins' ),
			),
			'schema' => array( $this, 'get_install_async_schema' ),
		)
	);

	// This is an experimental endpoint and is subject to change in the future.
	register_rest_route(
		$this->namespace,
		'/' . $this->rest_base . '/jetpack-authorization-url',
		array(
			array(
				'methods'             => 'GET',
				'callback'            => array( $this, 'get_jetpack_authorization_url' ),
				'permission_callback' => array( $this, 'can_install_plugins' ),
				'args'                => array(
					'redirect_url' => array(
						'description'       => 'The URL to redirect to after authorization',
						'type'              => 'string',
						'sanitize_callback' => 'sanitize_text_field',
						'required'          => true,
					),
					'from'         => array(
						'description'       => 'from value for the jetpack authorization page',
						'type'              => 'string',
						'sanitize_callback' => 'sanitize_text_field',
						'required'          => false,
						'default'           => 'woocommerce-onboarding',
					),
				),
			),
		)
	);
	add_action( 'woocommerce_plugins_install_error', array( $this, 'log_plugins_install_error' ), 10, 4 );
	add_action( 'woocommerce_plugins_install_api_error', array( $this, 'log_plugins_install_api_error' ), 10, 2 );
}