Je commence avec les plugins WordPress et j’essaie quelques codes pour comprendre leur fonctionnement.
J’essaie d’afficher un message personnalisé lorsque j’active et désactive mon plugin.
Le message d’activation fonctionne très bien mais je n’ai pas de message lors de la désactivation. La valeur de la variable transient change mais aucun message lorsque je désactive le plugin.
Je pensais que add_action définit une fonction à exécuter sur chaque action d’administration sur le plugin… Ai-je tort ?
Pouvez-vous m’aider? Merci
class DuplicatePostPlugin
{
const DUPLICATE_POST_ACTIVATED = 'duplicate_post_activated';
public function __construct(string $file) {
register_activation_hook($file, [$this, 'plugin_activation_callback']);
register_deactivation_hook($file, [$this, 'plugin_deactivation_callback']);
add_action('admin_notices', [$this, 'notice_activation_callback']);
}
public function plugin_activation_callback() : void {
set_transient(self::DUPLICATE_POST_ACTIVATED, 1);
}
public function plugin_deactivation_callback() : void {
set_transient(self::DUPLICATE_POST_ACTIVATED, 0);
//do_action('admin_notices');
}
public function notice_activation_callback() : void {
if (get_transient(self::DUPLICATE_POST_ACTIVATED) == 1) {
self::render('notices', [ 'message' => "Activation OK"]);
} else if (get_transient(self::DUPLICATE_POST_ACTIVATED) == 0){
self::render('notices', [ 'message' => "Deactivation OK"]);
}
//delete_transient(self::DUPLICATE_POST_ACTIVATED);
}
public static function render(string $name, array $args = []) : void {
extract($args);
$file = DUPLICATE_POST_PLUGIN_DIR . "views/$name.php";
ob_start();
include_once($file);
echo ob_get_clean();
}
}
Ce sujet a été modifié le il y a 16 heures et 38 minutes par michel46.
Vous devez être connecté pour répondre à ce sujet.
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web à des fins de marketing similaires.