Automattic\WooCommerce\Internal\EmailEditor\WCTransactionalEmails

WCTransactionalEmailPostsManager::get_email_template_post_idpublicWC 1.0

Gets the post ID for a specific email template type.

Uses multi-level caching for improved performance.

Method of the class: WCTransactionalEmailPostsManager{}

No Hooks.

Returns

Int|false. The post ID if found, false otherwise.

Usage

$WCTransactionalEmailPostsManager = new WCTransactionalEmailPostsManager();
$WCTransactionalEmailPostsManager->get_email_template_post_id( $email_type );
$email_type(string) (required)
The type of email template e.g. 'customer_new_account' from the WC_Email->id property.

WCTransactionalEmailPostsManager::get_email_template_post_id() code WC 10.8.1

public function get_email_template_post_id( $email_type ) {
	// Check in-memory cache first.
	$post_id_from_cache = array_search( $email_type, $this->post_id_to_email_type_cache, true );
	if ( false !== $post_id_from_cache ) {
		return $post_id_from_cache;
	}

	$option_name = $this->get_option_name( $email_type );
	$post_id     = get_option( $option_name );

	if ( ! empty( $post_id ) ) {
		$post_id = (int) $post_id;

		// Store in in-memory cache.
		$this->post_id_to_email_type_cache[ $post_id ] = $email_type;
	}

	return $post_id;
}