Joué avec l'API des paramètres et constaté que les messages (de succès ou d'erreur) ne sont affichés que lorsqu'une page de paramètres est connectée au menu WordPress via add_options_page (). Tout le reste ne fonctionnera pas, par exemple add_dashboard_page (). Voudrais savoir si c'est vrai? Le code exemple que j'ai essayé est la réponse contenant la classe "RegisteredSettingsTest" à Où raccorder register_settings pour l'API de paramètres quand souhaite également mettre à jour des options en dehors de l'API de paramètres?
Merci Puce ( excellent tutoriel de l'API Settings ) et t31os ( excellent extrait de code pour des tests rapides ) pour vos deux suggestions.
J'ai fait des recherches plus approfondies et découvert que les messages par défaut peuvent en fait être affichés si je suis connecté à un menu, mais seulement si la fonction settings_errors () est appelée.
Par exemple, modifiez le code t31os comme suit:
<div class="wrap">
<h2>Test</h2>
<?php settings_errors(); ?>
<form action="options.php" method="post">
Des messages d'erreur personnalisés peuvent également être ajoutés en appelant la fonction add_settings_error () pour afficher le message de réussite ou d'échec en spécifiant le paramètre $type
comme "erreur" ou "mis à jour".
J'utilise l'intégration de l'API Settings dans mon thème, j'utilise add_theme_page()
et je n'ai pas de problème à afficher les notifications de l'administrateur.
Je soupçonne que c'est un problème avec votre code plutôt qu'une limitation de l'API Settings.
Pouvez-vous publier votre code réel afin que nous puissions vous aider à résoudre les problèmes liés au code?
MODIFIER
Vous devrez peut-être sortir vos avis d’administrateur explicitement. Par exemple, voici ce que j'utilise dans la fonction de balisage de la page de paramètres:
<?php if ( isset( $_GET['settings-updated'] ) ) {
echo "<div class='updated'><p>Theme settings updated successfully.</p></div>";
} ?>
Je suppose que vous pouvez également faire quelque chose de similaire pour les avis d'erreur.