base, ['upload', 'post'], true)) { $mediaLibraryJs = self::$assetsManager->getAssetUrl('resources/js/media-library.js', false); wp_enqueue_script( Constants::AATXT_PLUGIN_MEDIA_LIBRARY_HANDLE, $mediaLibraryJs, ['jquery'], false, true ); wp_localize_script( Constants::AATXT_PLUGIN_MEDIA_LIBRARY_HANDLE, 'AATXT', [ 'altTextNonce' => wp_create_nonce(Constants::AATXT_AJAX_GENERATE_ALT_TEXT_NONCE), 'ajaxUrl' => admin_url('admin-ajax.php'), ] ); } } public function renderGenerateButtonTemplate(): void { ?> ID)) { return $form_fields; } $mimeType = get_post_mime_type($post->ID); $altTextGenerationTypology = PluginOptions::typology(); if ($altTextGenerationTypology === Constants::AATXT_OPTION_TYPOLOGY_CHOICE_OPENAI && ! in_array($mimeType, Constants::AATXT_OPENAI_ALLOWED_MIME_TYPES, true) ) { return $form_fields; } if ($altTextGenerationTypology === Constants::AATXT_OPTION_TYPOLOGY_CHOICE_AZURE && ! in_array($mimeType, Constants::AATXT_AZURE_ALLOWED_MIME_TYPES, true) ) { return $form_fields; } $form_fields['generate_alt_text'] = [ 'label' => get_post_mime_type($post->ID), 'input' => 'html', 'html' => '', 'helps' => '', ]; return $form_fields; } public function generateAltText(): void { check_ajax_referer(Constants::AATXT_AJAX_GENERATE_ALT_TEXT_NONCE, 'nonce'); $postId = isset($_POST['post_id']) ? intval($_POST['post_id']) : 0; if (! $postId) { wp_send_json_error('Invalid Post ID'); return; } $mediaUrl = wp_get_attachment_url($postId); if (! $mediaUrl) { wp_send_json_error('Media not found'); return; } $generatedAltText = Setup::altText($postId); wp_send_json_success(['alt_text' => $generatedAltText]); } }