Wishlist_Request_Parser::setup_wishlist_request( WP $wp )

Summary

Handle wishlist setup request


Parameters

$wp

(WP) (Required)


Source

File: src/BigCommerce/Accounts/Wishlists/Wishlist_Request_Parser.php

	public function setup_wishlist_request( \WP $wp ) {
		if ( ! $this->is_wishlist_request( $wp ) ) {
			return;
		}

		$list = $this->requested_list();
		$token = $this->requested_token();

		try {
			$wishlist = new Wishlist( $this->wishlists->getWishlist( $list )->getData() );
			if ( $wishlist->is_public() && $wishlist->token() === $token ) {
				$archive = new Public_Wishlist( $wishlist );
			} else {
				$archive = new Missing_Wishlist();
			}
		} catch ( ApiException $e ) {
			// treat an API error like a missing wishlist
			$archive = new Missing_Wishlist();
		}

		add_action( 'pre_get_posts', [ $archive, 'filter_main_query' ], 0, 1 ); // needs to run before Query::filter_queries() at 10
		add_filter( 'bigcommerce/template=components/catalog/product-archive.php/data', [ $archive, 'remove_refinery' ], 10, 1 );
		add_filter( 'bigcommerce/template=components/catalog/product-archive.php/data', [ $archive, 'set_page_title' ], 10, 1 );
		add_filter( 'post_type_archive_title', [ $archive, 'set_wp_title' ], 10, 2 );
		add_filter( 'bigcommerce/template=components/catalog/no-results.php/data', [ $archive, 'set_no_results_message' ], 10, 1 );
	}


User Contributed Notes

You must log in before being able to contribute a note or feedback.