Automattic\WooCommerce\Blocks\Domain\Services\OnboardingTasks

ReviewCheckoutTask{}WC 1.0

Review the cart/checkout Task

Хуков нет.

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

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

Методы

  1. public can_view()
  2. public get_action_url()
  3. public get_additional_info()
  4. public get_content()
  5. public get_id()
  6. public get_time()
  7. public get_title()
  8. private has_cart_block()
  9. private has_cart_or_checkout_block()
  10. private has_checkout_block()
  11. public is_complete()

Код ReviewCheckoutTask{} WC 9.6.1

class ReviewCheckoutTask extends Task {
	/**
	 * ID.
	 *
	 * @return string
	 */
	public function get_id() {
		return 'review-checkout-experience';
	}

	/**
	 * Title.
	 *
	 * @return string
	 */
	public function get_title() {
		return __( 'Review your checkout experience', 'woocommerce' );
	}

	/**
	 * Content.
	 *
	 * @return string
	 */
	public function get_content() {
		return '';
	}

	/**
	 * Time.
	 *
	 * @return string
	 */
	public function get_time() {
		return '';
	}

	/**
	 * Additional Info.
	 *
	 * @return string
	 */
	public function get_additional_info() {
		return __( 'Make sure cart and checkout flows are configured correctly for your shoppers.', 'woocommerce' );
	}

	/**
	 * Task completion.
	 *
	 * @return bool
	 */
	public function is_complete() {
		return $this->is_visited();
	}

	/**
	 * Check if the store uses blocks on the cart or checkout page.
	 *
	 * @return boolean
	 */
	private function has_cart_block() {
		$cart_page_id   = wc_get_page_id( 'cart' );
		$has_block_cart = $cart_page_id && ( has_block( 'woocommerce/cart', $cart_page_id ) || has_block( 'woocommerce/classic-shortcode', $cart_page_id ) );

		return $has_block_cart;
	}

	/**
	 * Check if the store uses blocks on the cart or checkout page.
	 *
	 * @return boolean
	 */
	private function has_checkout_block() {
		$cart_page_id   = wc_get_page_id( 'cart' );
		$has_block_cart = $cart_page_id && ( has_block( 'woocommerce/cart', $cart_page_id ) || has_block( 'woocommerce/classic-shortcode', $cart_page_id ) );

		return $has_block_cart;
	}

	/**
	 * Check if the store uses blocks on the cart or checkout page.
	 *
	 * @return boolean
	 */
	private function has_cart_or_checkout_block() {
		return $this->has_cart_block() || $this->has_checkout_block();
	}

	/**
	 * Task visibility.
	 *
	 * @return bool
	 */
	public function can_view() {
		return $this->has_cart_or_checkout_block();
	}

	/**
	 * Action URL.
	 *
	 * @return string
	 */
	public function get_action_url() {
		$base_url = wc_current_theme_is_fse_theme() ? 'site-editor.php?postType=page&postId=' : 'post.php?action=edit&post=';
		$page_id  = $this->has_cart_block() ? wc_get_page_id( 'cart' ) : wc_get_page_id( 'checkout' );
		$focus    = $this->has_cart_block() ? 'cart' : 'checkout';

		return admin_url( $base_url . absint( $page_id ) . '&focus=' . $focus . '&canvas=edit' );
	}
}