Yoast\WP\SEO\Plans\Infrastructure\Add_Ons

Managed_Add_On{}abstractYoast 1.0└─ Add_On_Interface

Represents a managed add-on. Uses the WPSEO_Addon_Manager to check if the add-on is installed and activated, and if it has a valid license.

Хуков нет.

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

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

Методы

  1. public __construct( WPSEO_Addon_Manager $addon_manager )
  2. public has_license()
  3. public is_active()

Код Managed_Add_On{} Yoast 27.7

abstract class Managed_Add_On implements Add_On_Interface {

	/**
	 * The slug of the add-on.
	 *
	 * @var string
	 */
	protected const SLUG = '';

	/**
	 * Holds the WPSEO_Addon_Manager.
	 *
	 * @var WPSEO_Addon_Manager
	 */
	private $addon_manager;

	/**
	 * Constructs the instance.
	 *
	 * @param WPSEO_Addon_Manager $addon_manager The WPSEO_Addon_Manager.
	 *
	 * @throws InvalidArgumentException If the slug is not set.
	 */
	public function __construct( WPSEO_Addon_Manager $addon_manager ) {
		if ( static::SLUG === '' ) {
			throw new InvalidArgumentException( 'The add-on slug must be set.' );
		}

		$this->addon_manager = $addon_manager;
	}

	/**
	 * Returns whether the add-on is installed and activated.
	 *
	 * @return bool
	 */
	public function is_active(): bool {
		return $this->addon_manager->is_installed( static::SLUG );
	}

	/**
	 * Returns whether the add-on has an valid license.
	 *
	 * @return bool
	 */
	public function has_license(): bool {
		return $this->addon_manager->has_valid_subscription( static::SLUG );
	}
}