wake-up-neo.net

So fügen Sie die PHP-Datei eines Plugins in eine andere Plugin-Funktionsdatei ein

Ich muss die Ausgabe des Shortcodes von Plugin A anpassen, indem ich eine Funktion von Plugin B verwende. Also ändere ich die Shortcode-Funktion von Plugin A, indem ich eine Bedingung einfüge, um den Wert der Funktion von Plugin B zu überprüfen, aber ich muss die PHP einschließen Datei, die diese Funktion unterstützt. Ich habe alle require_once, require und include ausprobiert, erhalte jedoch die folgenden Fehlermeldungen:

Bei Verwendung von require_once('../../pluginname/pluginfunctions.php');

Fehler Warnung: require_once (): open_basedir Einschränkung in Kraft. Die Datei (../../ magicmembers/core/libs/functions/mgm_misc_functions.php) befindet sich nicht in den zulässigen Pfaden

Bei Verwendung von include(WP_PLUGIN_URL . '/pluginname/pluginfunctions.php');

Fehler Warnung: include (): Der URL-Dateizugriff ist in der Serverkonfiguration deaktiviert

Was ist der richtige Weg?

6
vadims

Die erste Fehlermeldung bedeutet, dass Einschränkungen bestehen, wo Sie vom Server festgelegte Dateien einfügen können. Sie könnten es mit versuchen

require_once ABSPATH . '/wp-content/plugins/pluginname/pluginfunctions.php';

aber ich bin nicht sicher, ob es funktionieren würde.

Mit dem zweiten Include versuchen Sie, eine URL einzuschließen, die vom Server aus Sicherheitsgründen deaktiviert wird.

Warum müssen Sie jedoch die Funktion von Plugin B einbinden? Wenn Plugin B vorhanden ist, bedeutet dies, dass es wahrscheinlich aktiviert ist, was wiederum bedeutet, dass Sie die Funktion direkt von Plugin A aus verwenden können, ohne die Datei speziell einschließen zu müssen.

2
pbd

Die zu verwendende richtige Funktion ist: plugin_dir_path();

Beispiel:

include_once plugin_dir_path( __FILE__ ).'plugin-functions.php';
0
kaiser