J'ai écrit un petit widget qui utilise JS pour configurer certains onglets dans le panneau des paramètres. Y at-il un moyen de re-déclencher l'onglet JS lorsque le widget est terminé enregistrer?
En regardant le WP _ source JS , il ne ressemble pas à cela, il efface simplement le code HTML existant et le rend à nouveau. la forme entière. Je pourrais potentiellement écraser wpWidgets.save
& faire quelque chose de dingue, mais cela semble vraiment radical.
Solution
Après quelques piratages basés sur l’idée de One Trick Pony, voici ce que j’ai trouvé.
<script>
jQuery(document).ready(function($){
if(parseInt("<?php echo $this->number; ?>", 10)) {
$("[id$='<?php echo $this->id; ?>'] .tabs").tabs();
}
});
</script>
Fondamentalement, je viens d’envoyer des valeurs JS avec certaines valeurs de Widgets codées en dur dans et effectuer des vérifications et des sélecteurs CSS3 amusants pour trouver les bons nœuds DOM.
Placez votre code javascript dans le formulaire du widget, il sera déclenché à chaque actualisation du widget.
Si vos onglets sont accrochés à un événement click, un meilleur moyen serait d'utiliser $.delegate
sur le wrapper d'instance de widget. De cette façon, vous n'avez pas besoin d'inclure le js dans chaque instance de widget ...