Ich habe in meinem Plugin eine Funktion myplugin
mit dem Namen erstellt foo
, wie man sie vom Frontend aus aufruft.
e.g. index.php?
Ich habe in meinem Plugin eine Funktion myplugin
mit dem Namen erstellt foo
, wie man sie vom Frontend aus aufruft.
e.g. index.php?
Antworten:
So wie Sie es auch tun würden:
foo();
Aktive Plugins werden vor den Themendateien geladen
Vielleicht möchten Sie überprüfen, ob Ihr Plugin aktiviert ist 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";
}
foo
Beachten Sie auch, dass es sich um einen sehr generischen Funktionsnamen handelt. Vielleicht hat das Plugin "omgfoo" auch eine foo
Funktion. Stellen Sie Ihrer Funktion also ein Präfix / einen Namespace für etwas Einzigartiges
Möglicherweise möchten Sie Aktionen und Filter verwenden, da diese sicherer und besser sind. Sie können dies hier weiter nachlesen
Das tust du nicht. Ein Theme sollte nur in einer sehr kontrollierten Umgebung auf ein Plugin angewiesen sein. 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()
zum Ändern oder Hinzufügen neuer Inhalte. Auf diese Weise funktioniert das Thema weiterhin, wenn das Plugin deaktiviert wurde und Sie es nicht verwenden müssen function_exists()
.
Aktive Plugins werden geladen (wie technisch gesehen - ihre Dateien werden beim Laden von WordPress von PHP eingeschlossen und verarbeitet), wenn Themenvorlagen ausgeführt werden.
Ihre Funktion sollte also verfügbar sein und kann wie jede andere Funktion aufgerufen werden:
<?php foo(); ?>
zum Beispiel.