Yoast\WP\SEO\Conditionals
New_Premium_Or_Free_AI_Conditional{}└─ Conditional
Conditional that is met when the new AI module code paths should load.
Used to gate the src/ai/* integrations and routes so they only run when there is either no Premium or a Premium that ships with the new AI module structure.
Хуков нет.
Использование
$New_Premium_Or_Free_AI_Conditional = new New_Premium_Or_Free_AI_Conditional(); // use class methods
Методы
- public __construct( Product_Helper $product_helper )
- public is_met()
Код New_Premium_Or_Free_AI_Conditional{} New Premium Or Free AI Conditional{} Yoast 27.7
class New_Premium_Or_Free_AI_Conditional implements Conditional {
/**
* The Premium version that ships with the new AI module structure.
*
* @var string
*/
private const NEW_AI_STRUCTURE_PREMIUM_VERSION = '27.5-RC0';
/**
* Holds the Product_Helper.
*
* @var Product_Helper
*/
private $product_helper;
/**
* Constructs New_Premium_Or_Free_AI_Conditional.
*
* @param Product_Helper $product_helper The Product_Helper.
*/
public function __construct( Product_Helper $product_helper ) {
$this->product_helper = $product_helper;
}
/**
* Returns whether the new AI code paths should load.
*
* @return bool `true` when Premium is absent or its version ships with the new AI structure.
*/
public function is_met() {
if ( ! $this->product_helper->is_premium() ) {
return true;
}
$premium_version = $this->product_helper->get_premium_version();
if ( $premium_version === null ) {
return true;
}
return \version_compare( $premium_version, self::NEW_AI_STRUCTURE_PREMIUM_VERSION, '>=' );
}
}