PHP 8.0.30
Preview: PersonalizationTagManager.php Size: 2.20 KB
/home/certprox/test.certproxywizard.com/wp-content/plugins/woocommerce/src/Internal/EmailEditor/PersonalizationTagManager.php

<?php

declare( strict_types=1 );

namespace Automattic\WooCommerce\Internal\EmailEditor;

use Automattic\WooCommerce\EmailEditor\Engine\PersonalizationTags\Personalization_Tags_Registry;
use Automattic\WooCommerce\Internal\EmailEditor\PersonalizationTags\CustomerTagsProvider;
use Automattic\WooCommerce\Internal\EmailEditor\PersonalizationTags\OrderTagsProvider;
use Automattic\WooCommerce\Internal\EmailEditor\PersonalizationTags\SiteTagsProvider;
use Automattic\WooCommerce\Internal\EmailEditor\PersonalizationTags\StoreTagsProvider;

defined( 'ABSPATH' ) || exit;

/**
 * Manages personalization tags for WooCommerce emails.
 *
 * @internal
 */
class PersonalizationTagManager {

	/**
	 * The customer related tags provider.
	 *
	 * @var CustomerTagsProvider
	 */
	private $customer_tags_provider;

	/**
	 * The order related tags provider.
	 *
	 * @var OrderTagsProvider
	 */
	private $order_tags_provider;

	/**
	 * The site related tags provider.
	 *
	 * @var SiteTagsProvider
	 */
	private $site_tags_provider;

	/**
	 * The store related tags provider.
	 *
	 * @var StoreTagsProvider
	 */
	private $store_tags_provider;

	/**
	 * Constructor.
	 */
	public function __construct() {
		$this->customer_tags_provider = new CustomerTagsProvider();
		$this->order_tags_provider    = new OrderTagsProvider();
		$this->site_tags_provider     = new SiteTagsProvider();
		$this->store_tags_provider    = new StoreTagsProvider();
	}

	/**
	 * Initialize the personalization tag manager.
	 *
	 * @internal
	 * @return void
	 */
	final public function init(): void {
		add_filter( 'woocommerce_email_editor_register_personalization_tags', array( $this, 'register_personalization_tags' ) );
	}

	/**
	 * Register WooCommerce personalization tags with the registry.
	 *
	 * @param Personalization_Tags_Registry $registry The personalization tags registry.
	 * @return Personalization_Tags_Registry
	 */
	public function register_personalization_tags( Personalization_Tags_Registry $registry ) {
		$this->customer_tags_provider->register_tags( $registry );
		$this->order_tags_provider->register_tags( $registry );
		$this->site_tags_provider->register_tags( $registry );
		$this->store_tags_provider->register_tags( $registry );

		return $registry;
	}
}

Directory Contents

Dirs: 4 × Files: 10

Name Size Perms Modified Actions
- drwxr-xr-x 2026-03-04 08:20:07
Edit Download
- drwxr-xr-x 2026-03-02 23:35:11
Edit Download
- drwxr-xr-x 2026-03-04 08:20:11
Edit Download
- drwxr-xr-x 2026-03-02 23:35:11
Edit Download
5.39 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
8.55 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
5.85 KB lrw-r--r-- 2026-07-01 00:20:48
Edit Download
13.66 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
4.10 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
1.64 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
4.62 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
2.20 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
3.19 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download
2.83 KB lrw-r--r-- 2026-03-02 23:35:11
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).