$generatedAltText]);
}
public static function enqueue(): void
{
$screen = get_current_screen();
if ($screen && ( ($screen->id === 'upload' && $screen->base === 'upload') || ($screen->id === 'attachment')) ) {
$mediaLibraryJs = self::$assetsManager->getAssetUrl('resources/js/media-library.js', false);
wp_enqueue_script(Constants::AATXT_PLUGIN_MEDIA_LIBRARY_HANDLE, $mediaLibraryJs, [], false);
wp_localize_script(Constants::AATXT_PLUGIN_MEDIA_LIBRARY_HANDLE, 'AATXT', [
'altTextNonce' => wp_create_nonce(Constants::AATXT_AJAX_GENERATE_ALT_TEXT_NONCE),
]);
}
}
public static function addGenerateAltTextButton(array $form_fields, \WP_Post $post): array
{
if (!wp_attachment_is_image($post->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'] = array(
'label' => get_post_mime_type($post->ID),
'input' => 'html',
'html' => '',
'helps' => '',
);
return $form_fields;
}
}