Cómo incluir un archivo PHP de un plugin en el archivo de funciones de otro plugin
Necesito personalizar la salida del shortcode del plugin A usando una función del plugin B. Por lo tanto, modifico la función del shortcode del plugin A insertando una condición para verificar el valor de la función del plugin B, pero necesito incluir el archivo PHP que contiene esta función. He probado require_once, require e include pero obtengo los siguientes errores:
Cuando uso
require_once('../../pluginname/pluginfunctions.php');
Error Warning: require_once(): open_basedir restriction in effect. File(../../magicmembers/core/libs/functions/mgm_misc_functions.php) is not within the allowed path(s)
Cuando uso
include(WP_PLUGIN_URL . '/pluginname/pluginfunctions.php');
Error Warning: include(): URL file-access is disabled in the server configuration
¿Cuál es la forma correcta?
El primer mensaje de error indica que hay restricciones configuradas en el servidor sobre desde dónde se pueden incluir archivos. Podrías intentar con:
require_once ABSPATH . '/wp-content/plugins/nombre-del-plugin/funciones-del-plugin.php';
pero no estoy seguro de que funcione.
Con el segundo include estás intentando incluir una URL, lo cual está deshabilitado en el servidor por razones de seguridad.
Sin embargo, ¿por qué necesitas incluir la función del plugin B? Si el plugin B está presente significa que probablemente está activado, lo que a su vez implica que puedes usar la función directamente desde el plugin A sin necesidad de incluir específicamente el archivo.

¡Hola, gracias por tu respuesta! Este podría ser el único método que no he probado y ¡funciona! Realmente no sé por qué la función no estaba funcionando sin incluir el archivo que la soporta. ¿Es posible que el plugin B no se haya cargado todavía cuando el plugin A requiere su archivo? De todos modos, ¡gracias por tu ayuda!

La función correcta a utilizar es: plugin_dir_path();
Ejemplo:
include_once plugin_dir_path( __FILE__ ).'plugin-functions.php';

Por favor … utiliza la función adecuada: plugin_dir_path()
en lugar de codificar directamente constantes que no están diseñadas para ser usadas por temas y plugins.
