Automattic\WooCommerce\EmailEditor

Email_Css_Inliner{}WC 1.0└─ Css_Inliner

Class for inlining CSS in HTML emails.

Хуков нет.

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

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

Методы

  1. public from_html( string $unprocessed_html )
  2. public inline_css( string $css = '' )
  3. public render()

Код Email_Css_Inliner{} WC 10.0.2

class Email_Css_Inliner implements Css_Inliner {

	/**
	 * The CSS inliner instance.
	 *
	 * @var CssInliner
	 */
	private CssInliner $inliner;

	/**
	 * Creates a new instance from HTML content.
	 *
	 * @param string $unprocessed_html The HTML content to process.
	 * @return self
	 */
	public function from_html( string $unprocessed_html ): self {
		$that          = new self();
		$that->inliner = CssInliner::fromHtml( $unprocessed_html );
		return $that;
	}

	/**
	 * Inlines the provided CSS.
	 *
	 * @param string $css The CSS to inline.
	 * @return self
	 * @throws \LogicException If from_html() was not called first.
	 */
	public function inline_css( string $css = '' ): self {
		if ( ! isset( $this->inliner ) ) {
			throw new \LogicException( 'You must call from_html before calling inline_css' );
		}
		$this->inliner->inlineCss( $css );
		return $this;
	}

	/**
	 * Renders the HTML with inlined CSS.
	 *
	 * @return string The processed HTML.
	 * @throws \LogicException If from_html() was not called first.
	 */
	public function render(): string {
		if ( ! isset( $this->inliner ) ) {
			throw new \LogicException( 'You must call from_html before calling inline_css' );
		}
		return $this->inliner->render();
	}
}