Cum să incluzi fișierul php al unui plugin în fișierul functions al altui plugin
Am nevoie să personalizez rezultatul shortcode-ului din plugin-ul A folosind o funcție din plugin-ul B. Așa că modific funcția shortcode din plugin-ul A inserând o condiție pentru a verifica valoarea funcției din plugin-ul B, dar trebuie să includ fișierul php care conține această funcție. Am încercat toate variantele require_once, require și include dar primesc următoarele erori:
Când folosesc
require_once('../../pluginname/pluginfunctions.php');
Eroare Warning: require_once(): open_basedir restriction in effect. File(../../magicmembers/core/libs/functions/mgm_misc_functions.php) is not within the allowed path(s)
Când folosesc
include(WP_PLUGIN_URL . '/pluginname/pluginfunctions.php');
Eroare Warning: include(): URL file-access is disabled in the server configuration
Care este modalitatea corectă?
Primul mesaj de eroare înseamnă că există restricții configurate pe server care limitează locațiile din care poți include fișiere. Ai putea încerca cu
require_once ABSPATH . '/wp-content/plugins/pluginname/pluginfunctions.php';
dar nu sunt sigur dacă va funcționa.
Cu cel de-al doilea include, încerci să incluzi un URL, ceea ce este dezactivat pe server din motive de securitate.
Însă, de ce ai nevoie să incluzi funcția din pluginul B? Dacă pluginul B este prezent, înseamnă că probabil este activat, ceea ce înseamnă că poți folosi funcția direct din pluginul A fără a fi nevoie să incluzi fișierul în mod specific.

Hei, mulțumesc pentru răspuns! Aceasta ar putea fi singura metodă pe care nu am testat-o și funcționează! Nu știu cu adevărat de ce funcția nu funcționa fără includerea fișierului care o susține. Este posibil ca plugin-ul B să nu fie încă încărcat când plugin-ul A are nevoie de fișierul său? Oricum, mulțumesc pentru ajutor!

Funcția corectă de utilizat este: plugin_dir_path();
Exemplu:
include_once plugin_dir_path( __FILE__ ).'plugin-functions.php';

Te rog… folosește funcția corectă: plugin_dir_path()
în loc să folosești constante hardcodate care nu sunt destinate să fie utilizate de teme și plugin-uri.
