Salut,
Je développe actuellement un plugin sous WP 2.6.3. Il fonctionne bien mis à part ce petit soucis…
En fait j’ai besoin d’une option pour ce plugin. Cette option doit avoir une valeur par défaut, donc je la crée dès l’activation du plugin, via une fonction appelée avec register_activation_hook().
Le problème c’est que cette fonction n’est jamais appelée…
J’utilise la POO pour ce plugin, et register_activation_hook() se situe dans la fonction init() appelée quand le plugin est chargé (avec l’action ‘plugins_loaded’).
Voici le code qui résume tout ça :
class PNFortunes
{
function __construct()
{
add_action(‘plugins_loaded’, array(&$this, ‘init’));
}
function init()
{
register_activation_hook(__FILE__, array(&$this, ‘install’));
register_deactivation_hook(__FILE__, array(&$this, ‘uninstall’));
}
function install()
{
global $wpdb;
add_option(‘PNFortunes_title’, ‘Quote du moment’);
}
function uninstall()
{
global $wpdb;
delete_option(‘PNFortunes_title’);
}
}
$pnfortunes = new PNFortunes();
À noter que la méthode uninstall(), elle, est bien appelée.
Donc ma question serait la suivante : d’où vient ce bug ? Ai-je mal placé la fonction ? Si oui, où la placer ?
Merci d’avance !