Je peaufine un plugin et j'aimerais avoir une valeur d'option différente pour chaque utilisateur de backoffice.
Actuellement, les options sont définies à l'aide de la méthode add_settings_field
effectuée dans le raccordement admin_init
.
Ma question est la suivante: puis-je enregistrer un nouveau jeu de paramètres en préfixant mes paramètres en utilisant l'ID utilisateur actuel?
Une telle manière, si elle est valide, pourrait aider à résoudre d’autres problèmes, tels que:
Oui, vous pouvez et c'est plus facile avec une classe. Dans le hook admin_init
(où l'API de paramètres est en cours d'enregistrement et défini), définissez une propriété de classe en fonction de l'ID utilisateur:
$this->prefix = 'uid_' . get_current_user_id() . '_';
Ensuite, dans le reste du code, reportez-vous au nom de votre option sous le nom $this->prefix . 'option_name'
.
Le résultat dans la table wp_options
sera uid_1_option_name
, uid_2_option_name
, etc. Et chaque utilisateur aura ses propres paramètres.
A Gist avec un exemple de travail.