Come ottenere il nome del plugin corrente?
Ho bisogno di ottenere il nome del plugin corrente utilizzando un define come questo
define(PLUGIN_NAME, plugin_basename(dirname(__FILE__)));
Sfortunatamente, quel codice non funziona perché il file php è nidificato all'interno di una sottocartella (includes) della mia directory del plugin e restituisce
my-plugin/includes
Esiste qualche funzione dell'API di WordPress per raggiungere questo obiettivo? Grazie in anticipo.
Mi piace questo, ma quando eseguo l'output di tutte le chiavi e i valori dell'array associativo, solo TextDomain restituisce un valore: PluginURI =
Version =
Description =
Author =
AuthorURI =
TextDomain = my-calculator
DomainPath =
Network =
Title =
AuthorName =
... come posso impostare/recuperare tutti gli altri valori per #plugin_data ?

Assicurati che il commento principale nel tuo file plugin contenga i dati rilevanti come da https://codex.wordpress.org/File_Header

puoi ottenere il nome del plugin in una sottocartella del tuo plugin con questo snippet di codice:
$plugin = basename( plugin_dir_path( dirname( __FILE__ , 2 ) ) );
devi solo specificare il livello della sottocartella relativo alla cartella del plugin nel secondo parametro della funzione dirname().

Questo ti darà il nome della cartella del plugin indipendentemente da dove si trova il file e senza dover conoscere nulla sulla struttura delle directory del plugin.
$plugin_folder_name = reset(explode('/', str_replace(WP_PLUGIN_DIR . '/', '', __DIR__)));
Per una spiegazione dettagliata di cosa sta accadendo
// Ottieni il percorso relativo al file corrente dalla root del plugin
$file_path_from_plugin_root = str_replace(WP_PLUGIN_DIR . '/', '', __DIR__);
// Suddividi il percorso in un array
$path_array = explode('/', $file_path_from_plugin_root);
// La cartella del plugin è il primo elemento
$plugin_folder_name = reset($path_array);
