Yoast\WP\SEO\Abilities\User_Interface\Abilities

Abstract_Set_Option_Status_Ability{} │ abstract │ Yoast 1.0└─ Abstract_Set_Feature_Status_Ability

Base class for the abilities whose feature is toggled by writing a boolean option and nothing else.

Хуков нет.

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

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

Методы

  1. public __construct( Capability_Helper $capability_helper, Feature_Status_Updater $feature_status_updater )
  2. public execute( array $input )
  3. public get_option_name()

Код Abstract_Set_Option_Status_Ability{} Yoast 28.8

abstract class Abstract_Set_Option_Status_Ability extends Abstract_Set_Feature_Status_Ability {

	/**
	 * The feature status updater.
	 *
	 * @var Feature_Status_Updater
	 */
	private $feature_status_updater;

	/**
	 * Constructor.
	 *
	 * @param Capability_Helper      $capability_helper      The capability helper.
	 * @param Feature_Status_Updater $feature_status_updater The feature status updater.
	 */
	public function __construct( Capability_Helper $capability_helper, Feature_Status_Updater $feature_status_updater ) {
		parent::__construct( $capability_helper );

		$this->feature_status_updater = $feature_status_updater;
	}

	/**
	 * Returns the name of the boolean option that enables the feature.
	 *
	 * @return string The option name.
	 */
	abstract protected function get_option_name(): string;

	/**
	 * Enables or disables the feature by writing its option and returns its new status.
	 *
	 * @param array<string, bool> $input The input holding the desired `enabled` status.
	 *
	 * @return array<string, bool>|WP_Error The new status, or an error when it could not be saved.
	 */
	public function execute( array $input ) {
		return $this->feature_status_updater->set_status( $this->get_option_name(), $input );
	}
}