J'ai créé une fonction dans mon plugin myplugin
avec le nom foo
, comment l'appeler depuis l'interface
e.g. index.php?
De la même manière que vous le feriez avec un autre:
foo();
Les plugins actifs sont chargés avant les fichiers de thème
Vous voudrez peut-être vérifier que votre plugin est activé et que la fonction est disponible pour que les choses ne se passent pas comme une poire si vous oubliez de l'activer, comme:
if(function_exists('foo')){
foo();
} else {
echo "oh dear you haven't activated/installed 'myplugin', go do that before the 'foo' feature is available";
}
N'oubliez pas non plus que foo
est un nom de fonction très générique, peut-être que le plug-in "omgfoo" a également une fonction foo
. Donc préfixez/namespace votre fonction à quelque chose d'unique
Vous voudrez éventuellement utiliser des actions et des filtres, car ils sont plus sûrs et de meilleure pratique, vous pouvez continuer à lire à ce sujet ici
Vous pas. Un thème ne doit pas s'appuyer sur un plugin, sauf dans un environnement très contrôlé. Utilisez actions et filtres à la place.
Donc, dans votre thème, vous pouvez utiliser:
do_action( 'before_header' );
… ou …
$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'] );
Dans votre plugin, vous utilisez add_action()
et add_filter()
pour modifier ou ajouter du nouveau contenu. Ainsi, le thème fonctionnera toujours lorsque le plug-in aura été désactivé et que vous n’aurez pas à utiliser function_exists()
.
Les plugins actifs sont chargés (comme dans la technique - leurs fichiers sont inclus et traités par PHP lors du chargement de WordPress) par les modèles de thème temporels exécutés.
Donc, votre fonction devrait être disponible et peut être appelée comme n'importe quelle autre fonction:
<?php foo(); ?>
par exemple.