Cum să obții numele plugin-ului curent?
Am nevoie să obțin numele plugin-ului curent folosind o definiție ca aceasta:
define(PLUGIN_NAME, plugin_basename(dirname(__FILE__)));
Din păcate, acel cod nu funcționează deoarece fișierul php este într-un subdirector (includes) al directorului plugin-ului meu și returnează
my-plugin/includes
Există vreo funcție din API-ul Wordpress care să rezolve această problemă? Mulțumesc anticipat.
Îmi place această soluție, dar când afișez toate cheile și valorile din array-ul asociativ, doar TextDomain returnează o valoare: PluginURI =
Version =
Description =
Author =
AuthorURI =
TextDomain = my-calculator
DomainPath =
Network =
Title =
AuthorName =
... cum pot seta/prelua toate celelalte valori pentru #plugin_data?

Asigură-te că comentariul principal din fișierul tău de plugin conține datele relevante conform https://codex.wordpress.org/File_Header

poți obține numele pluginului într-un subdirector al pluginului tău folosind acest fragment de cod:
$plugin = basename( plugin_dir_path( dirname( __FILE__ , 2 ) ) );
trebuie doar să specifici nivelul subdirectorului relativ la folderul pluginului în al doilea parametru al funcției dirname().

Acest lucru vă va furniza numele folderului pluginului, indiferent de locația fișierului și fără a fi nevoie să cunoașteți structura directorului pluginului.
$plugin_folder_name = reset(explode('/', str_replace(WP_PLUGIN_DIR . '/', '', __DIR__)));
Pentru o explicație detaliată a ceea ce se întâmplă
// Obține calea relativă a fișierului curent față de directorul rădăcină al pluginului
$file_path_from_plugin_root = str_replace(WP_PLUGIN_DIR . '/', '', __DIR__);
// Desparte calea într-un array
$path_array = explode('/', $file_path_from_plugin_root);
// Folderul pluginului este primul element
$plugin_folder_name = reset($path_array);
