<?php /** * Envato Elements: Banners API * * Banners API * * @package Envato/Envato_Elements * @since 2.0.0 */ namespace Envato_Elements\API; use Envato_Elements\Backend\Options; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Search API * * @since 2.0.0 */ class Banners extends API { /** * @param $request \WP_REST_Request * * @return \WP_REST_Response */ public function dismiss_banner( $request ) { $banner_id = $request->get_param( 'bannerId' ); // Get a list of dismissed banners (defaulting to an empty array) $dismissed_banners = Options::get_instance()->get( 'dismissed_banners', [] ); // Add the users dismissed banner to the options array $dismissed_banners[ $banner_id ] = true; // Save this new options array back to the DB: Options::get_instance()->set( 'dismissed_banners', $dismissed_banners ); // Return some success to react: return $this->format_success( [ 'closed' => true, ] ); } public function register_api_endpoints() { $this->register_endpoint( 'dismissBanner', [ $this, 'dismiss_banner' ] ); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
class-api.php | File | 1.5 KB | 0644 |
|
class-banners.php | File | 1.09 KB | 0644 |
|
class-photos-import.php | File | 5.98 KB | 0644 |
|
class-photos-search.php | File | 1.8 KB | 0644 |
|
class-project-name.php | File | 1.09 KB | 0644 |
|
class-requirements.php | File | 9.78 KB | 0644 |
|
class-settings.php | File | 12.62 KB | 0644 |
|
class-subscription-api.php | File | 2.05 KB | 0644 |
|
class-template-kit-import.php | File | 16.31 KB | 0644 |
|
class-template-kit-install.php | File | 8.65 KB | 0644 |
|
class-template-kit-search.php | File | 4.73 KB | 0644 |
|