Как подключить PHP-файл одного плагина к файлу functions другого плагина
Мне нужно настроить вывод шорткода плагина A, используя функцию плагина B. Поэтому я изменяю функцию шорткода плагина A, добавляя условие для проверки значения функции плагина B, но мне нужно подключить PHP-файл, который поддерживает эту функцию. Я пробовал все варианты: require_once, require и include, но получаю следующие ошибки:
При использовании
require_once('../../pluginname/pluginfunctions.php');
Ошибка Warning: require_once(): open_basedir restriction in effect. File(../../magicmembers/core/libs/functions/mgm_misc_functions.php) is not within the allowed path(s)
При использовании
include(WP_PLUGIN_URL . '/pluginname/pluginfunctions.php');
Ошибка Warning: include(): URL file-access is disabled in the server configuration
Какой правильный способ?
Первое сообщение об ошибке означает, что на сервере установлены ограничения на включение файлов из определенных мест. Вы можете попробовать:
require_once ABSPATH . '/wp-content/plugins/pluginname/pluginfunctions.php';
но я не уверен, что это сработает.
При втором включении вы пытаетесь загрузить файл по URL, что отключено на сервере по соображениям безопасности.
Однако, зачем вам включать функцию из плагина B? Если плагин B установлен, значит он, скорее всего, активен, и вы можете использовать его функцию напрямую из плагина A без необходимости отдельного подключения файла.

Эй, спасибо за ответ! Возможно, это единственный метод, который я не тестировал, и он работает! Не совсем понимаю, почему функция не работала без подключения файла, который её поддерживает. Может быть, плагин B ещё не загружен, когда плагин A требует его файл? В любом случае, спасибо за помощь!

The right function to use is: plugin_dir_path();
Example:
include_once plugin_dir_path( __FILE__ ).'plugin-functions.php';

Пожалуйста… используйте правильную функцию: plugin_dir_path()
вместо жесткого кодирования констант, которые не предназначены для использования темами и плагинами.
