Automattic\WooCommerce\Internal\EmailEditor

Integration::update_email_subject_for_send_preview_emailpublicWC 1.0

Update the email subject for the send preview email.

Method of the class: Integration{}

No Hooks.

Returns

String. The updated email subject.

Usage

$Integration = new Integration();
$Integration->update_email_subject_for_send_preview_email( $subject, $post );
$subject(string) (required)
The email subject.
$post(WP_Post) (required)
The post object.

Integration::update_email_subject_for_send_preview_email() code WC 10.8.1

public function update_email_subject_for_send_preview_email( $subject, $post ) {
	if ( ! $post instanceof \WP_Post || self::EMAIL_POST_TYPE !== $post->post_type ) {
		return $subject;
	}

	$post_manager = WCTransactionalEmailPostsManager::get_instance();

	$email_type_class_name = $post_manager->get_email_type_class_name_from_post_id( $post->ID );

	if ( empty( $email_type_class_name ) ) {
		return $subject;
	}

	/**
	 * Validate the email type class name.
	 *
	 * @var EmailPreview $email_preview
	 */
	$email_preview = wc_get_container()->get( EmailPreview::class );

	try {
		$email_preview->set_email_type( $email_type_class_name );
		return $email_preview->get_subject();
	} catch ( \InvalidArgumentException $e ) {
		return $subject;
	} catch ( \Throwable $e ) {
		return $subject;
	}
}