Come includere il file PHP di un plugin nel file functions di un altro plugin
Ho bisogno di personalizzare l'output dello shortcode del plugin A utilizzando una funzione del plugin B. Quindi modifico la funzione shortcode del plugin A inserendo una condizione per controllare il valore della funzione del plugin B, ma devo includere il file php che supporta questa funzione. Ho provato tutti require_once, require e include ma ottengo i seguenti errori:
Quando uso
require_once('../../pluginname/pluginfunctions.php');
Errore Warning: require_once(): open_basedir restriction in effect. File(../../magicmembers/core/libs/functions/mgm_misc_functions.php) is not within the allowed path(s)
Quando uso
include(WP_PLUGIN_URL . '/pluginname/pluginfunctions.php');
Errore Warning: include(): URL file-access is disabled in the server configuration
Qual è il modo corretto?
Il primo messaggio di errore indica che ci sono restrizioni impostate dal server su dove è possibile includere i file. Potresti provare con:
require_once ABSPATH . '/wp-content/plugins/nomeplugin/pluginfunctions.php';
ma non sono sicuro che funzionerà.
Con il secondo include stai tentando di includere un URL che è disabilitato dal server per motivi di sicurezza.
Tuttavia, perché hai bisogno di includere la funzione del plugin B? Se il plugin B è presente significa che è probabilmente attivato, il che a sua volta significa che puoi utilizzare la funzione direttamente dal plugin A senza bisogno di includere specificamente il file.

Ehi, grazie per la tua risposta! Potrebbe essere l'unico metodo che non ho testato e funziona! Non so davvero perché la funzione non funzionasse senza includere il file che la supporta. È possibile che il plugin B non sia ancora caricato quando il plugin A richiede il suo file? Comunque grazie per il tuo aiuto!

La funzione corretta da utilizzare è: plugin_dir_path();
Esempio:
include_once plugin_dir_path( __FILE__ ).'plugin-functions.php';

Per favore … usa la funzione corretta: plugin_dir_path()
invece di codificare direttamente costanti che non sono pensate per essere utilizzate da temi e plugin.
