Cómo obtener el nombre del plugin actual
Necesito obtener el nombre del plugin actual usando un define como este
define(PLUGIN_NAME, plugin_basename(dirname(__FILE__)));
Lamentablemente, ese código no funciona porque el archivo php está dentro de un subdirectorio (includes) de mi directorio de plugin y devuelve
my-plugin/includes
¿Existe alguna función en la API de WordPress para lograr esta tarea? Gracias de antemano.

Me gusta esto, pero cuando muestro todas las claves y valores del array asociativo, solo TextDomain devuelve un valor: PluginURI =
Version =
Description =
Author =
AuthorURI =
TextDomain = my-calculator
DomainPath =
Network =
Title =
AuthorName =
... ¿cómo puedo establecer/obtener todos los demás valores para #plugin_data?

Asegúrate de que el comentario principal en tu archivo de plugin contenga los datos relevantes según https://codex.wordpress.org/File_Header

Puedes obtener el nombre del plugin en un subdirectorio de tu plugin con este fragmento de código:
$plugin = basename( plugin_dir_path( dirname( __FILE__ , 2 ) ) );
Solo debes escribir el nivel del subdirectorio relativo a la carpeta del plugin en el segundo parámetro de la función dirname().

Esto te dará el nombre de la carpeta del plugin sin importar dónde se encuentre el archivo y sin necesidad de conocer la estructura de directorios del plugin.
$plugin_folder_name = reset(explode('/', str_replace(WP_PLUGIN_DIR . '/', '', __DIR__)));
Para entender paso a paso lo que está ocurriendo:
// Obtiene la ruta relativa al archivo actual desde la raíz del plugin
$file_path_from_plugin_root = str_replace(WP_PLUGIN_DIR . '/', '', __DIR__);
// Divide la ruta en un array
$path_array = explode('/', $file_path_from_plugin_root);
// La carpeta del plugin es el primer elemento
$plugin_folder_name = reset($path_array);
