Automattic\WooCommerce\Internal\Admin\Settings

PaymentsRestController::add_provider_linksprivateWC 1.0

Add links to providers list items.

Method of the class: PaymentsRestController{}

No Hooks.

Returns

Array. The providers list with added links.

Usage

// private - for code of main (parent) class only
$result = $this->add_provider_links( $providers ): array;
$providers(array) (required)
The providers list.

PaymentsRestController::add_provider_links() code WC 9.8.5

private function add_provider_links( array $providers ): array {
	foreach ( $providers as $key => $provider ) {
		if ( empty( $provider['_links'] ) ) {
			$providers[ $key ]['_links'] = array();
		}

		// If this is a suggestion, add dedicated links.
		if ( ! empty( $provider['_type'] ) &&
			PaymentProviders::TYPE_SUGGESTION === $provider['_type'] &&
			! empty( $provider['_suggestion_id'] )
		) {
			$providers[ $key ]['_links']['attach'] = array(
				'href' => rest_url( sprintf( '/%s/%s/suggestion/%s/attach', $this->route_namespace, $this->rest_base, $provider['_suggestion_id'] ) ),
			);
			$providers[ $key ]['_links']['hide']   = array(
				'href' => rest_url( sprintf( '/%s/%s/suggestion/%s/hide', $this->route_namespace, $this->rest_base, $provider['_suggestion_id'] ) ),
			);
		}

		// If we have an incentive, add a link to dismiss it.
		if ( ! empty( $provider['_incentive'] ) && ! empty( $provider['_suggestion_id'] ) ) {
			if ( empty( $provider['_incentive']['_links'] ) ) {
				$providers[ $key ]['_incentive']['_links'] = array();
			}

			$providers[ $key ]['_incentive']['_links']['dismiss'] = array(
				'href' => rest_url( sprintf( '/%s/%s/suggestion/%s/incentive/%s/dismiss', $this->route_namespace, $this->rest_base, $provider['_suggestion_id'], $provider['_incentive']['id'] ) ),
			);
		}
	}

	return $providers;
}