J'ai écrit une fonction dans functions.php
qui récupère les variables d'un formulaire de contact et envoie les entrées (ainsi que d'autres informations comme l'adresse IP et l'emplacement ..) à mon courrier électronique.
Je commence à travailler sur mon premier plugin et je veux stocker les paramètres dans une nouvelle table de la base de données.
Comment obtenir les paramètres de function.php
juste après que l'utilisateur a cliqué sur le bouton envoyer du contact form
?
PHP de base:
functions.php :
function my_func() {
//doing my staff
$my_var = 'data'; //stored data after doing things
return $my_var;
}
Dans le fichier plugin:
//retrieved data from a function declared within a system
$got_data = my_func();
function another_func( $got_data ) {
//doing staff with $got_data
}
Il y a trois façons d'utiliser la variable de fichier function.php
dans le fichier plugin.
Utilisation de global . Assurez-vous de le globaliser en premier.
global $my_variable; echo $my_variable;
Je recommande d'utiliser le mécanisme de filtre intégré à WordPress add_filter . Vous ajoutez le filtre dans votre fichier functions.php
et vous l'appliquez à votre guise.
Dans functions.php
:
add_filter( 'my_variable', 'return_my_variable' );
function return_my_variable( $arg = '' ) {
return '111221122';
}
Maintenant, vous pouvez utiliser dans vos fichiers de plugin:
echo apply_filters( 'my_variable', '' );
Dans functions.php
:
add_action( 'my_variable', 'echo_my_variable' );
function echo_my_variable() {
echo '888998899';
}
Dans vos fichiers de plugins:
do_action( 'my_variable' );
Encore une fois, je recommande un filtre car il peut renvoyer une valeur. C'est beaucoup plus flexible que d'injecter des appels d'écho dans votre fichier de plugin. Que vous utilisiez un crochet d'action ou un filtre, c'est à vous de décider.