it-swarm.com.de

So rufen Sie eine Plugin-Funktion aus der Datei index.php auf

Ich habe in meinem Plugin eine Funktion myplugin mit dem Namen foo angelegt, wie kann ich sie vom Frontend aus aufrufen?

 e.g. index.php?
7
Yoga

So wie bei jedem anderen:

foo();

Aktive Plugins werden vor den Designdateien geladen

Vielleicht möchten Sie überprüfen, ob Ihr Plugin aktiviert und die Funktion verfügbar ist, damit die Dinge nicht birnenförmig werden, wenn Sie vergessen, es zu aktivieren, wie zum Beispiel:

if(function_exists('foo')){
    foo();
} else {
    echo "oh dear you haven't activated/installed 'myplugin', go do that before the 'foo' feature is available";
}

Denken Sie auch daran, dass foo ein sehr allgemeiner Funktionsname ist. Vielleicht hat das "omgfoo" -Plugin auch eine foo -Funktion. So Präfix/Namespace Ihrer Funktion etwas Einzigartiges

Sie werden eventuell Aktionen und Filter verwenden wollen, da diese sicherer und besser sind. Sie können dies hier weiter nachlesen.

12
Tom J Nowell

Das tust du nicht. Ein Theme sollte sich nur in einer sehr kontrollierten Umgebung auf ein Plugin verlassen. Verwenden Sie stattdessen Aktionen und Filter .

In Ihrem Thema könnten Sie also Folgendes verwenden:

do_action( 'before_header' );

… oder …

$bg_options = array (
    'wp-head-callback' => 't5_custom_background_frontend',
    'default-color'    => 'f0f0f0',
    'default-image'    => '',
);
$bg_options = apply_filters( 't5_theme_bg_options', $bg_options );
add_theme_support( 'custom-background', $bg_options );
add_action( 'login_head', $bg_options['wp-head-callback'] );

In Ihrem Plugin verwenden Sie add_action() und add_filter(), um Inhalte zu ändern oder neue hinzuzufügen. Auf diese Weise funktioniert das Thema auch dann, wenn das Plugin deaktiviert wurde und Sie function_exists() nicht verwenden müssen.

5
fuxia

Aktive Plugins werden (wie technisch gesehen - ihre Dateien sind enthalten und werden von PHP während des Ladens von WordPress verarbeitet) zu der Zeit geladen, zu der die Designvorlagen ausgeführt werden.

Ihre Funktion sollte also verfügbar sein und kann wie jede andere Funktion aufgerufen werden:

<?php foo(); ?>

zum Beispiel.

2
Rarst