Yoast\WP\SEO\Abilities\User_Interface\Abilities
Abstract_Set_Option_Status_Ability{}└─ 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
Методы
- public __construct( Capability_Helper $capability_helper, Feature_Status_Updater $feature_status_updater )
- public execute( array $input )
- public get_option_name()
Код Abstract_Set_Option_Status_Ability{} 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 );
}
}