api = $api; } public function register_settings() { register_setting('eveai_settings', 'eveai_api_url'); register_setting('eveai_settings', 'eveai_tenant_id'); register_setting('eveai_settings', 'eveai_api_key'); register_setting('eveai_settings', 'eveai_default_language'); register_setting('eveai_settings', 'eveai_excluded_categories'); register_setting('eveai_settings', 'eveai_excluded_categories'); register_setting('eveai_settings', 'eveai_access_token'); register_setting('eveai_settings', 'eveai_token_expiry'); register_setting('eveai_settings', 'eveai_catalog_id'); } public function add_admin_menu() { add_options_page( 'EveAI Sync Settings', 'EveAI Sync', 'manage_options', 'eveai-sync', array($this, 'render_settings_page') ); } public function render_settings_page() { ?>

API URL
Tenant ID
API Key
Catalog ID
Default Language
Excluded Categories

Enter a comma-separated list of category names to exclude from syncing.

Bulk Sync

Click the button below to start a bulk sync of all posts and pages to EveAI.

Reinitialize Site

Click the button below to remove all EveAI metadata from your site. This will reset the sync status for all posts and pages.

api); $bulk_sync = new EveAI_Bulk_Sync($this->api, $post_handler); $results = $bulk_sync->init_bulk_sync(); wp_send_json_success($results); } public function add_sync_meta_box() { add_meta_box( 'eveai_sync_meta_box', 'EveAI Sync', array($this, 'render_sync_meta_box'), array('post', 'page'), 'side', 'default' ); } public function render_sync_meta_box($post) { $excluded = get_post_meta($post->ID, '_eveai_exclude_sync', true); wp_nonce_field('eveai_sync_meta_box', 'eveai_sync_meta_box_nonce'); ?> api); $bulk_sync = new EveAI_Bulk_Sync($this->api, $post_handler); $bulk_sync->init_bulk_sync(); add_settings_error('eveai_messages', 'eveai_message', 'Bulk sync initiated successfully.', 'updated'); } }