Yoast\WP\SEO\AI\Content_Planner\User_Interface
Banner_Permanent_Dismissal_Route::set_banner_permanent_dismissal
Permanently dismisses the AI Content Planner banner for the current user.
Метод класса: Banner_Permanent_Dismissal_Route{}
Хуков нет.
Возвращает
WP_REST_Response. The success or failure response.
Использование
$Banner_Permanent_Dismissal_Route = new Banner_Permanent_Dismissal_Route(); $Banner_Permanent_Dismissal_Route->set_banner_permanent_dismissal( $request );
- $request(WP_REST_Request) (обязательный)
- The request object.
Код Banner_Permanent_Dismissal_Route::set_banner_permanent_dismissal() Banner Permanent Dismissal Route::set banner permanent dismissal Yoast 28.3
public function set_banner_permanent_dismissal( WP_REST_Request $request ) {
$is_dismissed = $request->get_param( 'is_dismissed' );
$user_id = $this->user_helper->get_current_user_id();
$result = $this->user_helper->update_meta( $user_id, self::USER_META_KEY, $is_dismissed );
// update_meta returns false both on failure and when the stored value is already identical.
// Check the existing value to distinguish the two cases and keep the endpoint idempotent.
if ( $result === false ) {
$existing = $this->user_helper->get_meta( $user_id, self::USER_META_KEY, true );
$result = ( (bool) $existing === (bool) $is_dismissed );
}
return new WP_REST_Response(
[
'success' => (bool) $result,
],
( $result !== false ) ? 200 : 400,
);
}