J'essaie de générer un ID de widget unique dans mes widgets multi-instances. Jusqu'à présent, les éléments suivants n'ont pas fonctionné. Existe-t-il un identifiant unique et comment l'appeler?
Merci.
function widget($args, $instance) {
// outputs the content of the widget
extract( $args );
$widget_id = $instance['widget_id'];
?>
<?php echo $widget_id ; ?>
<?php
}
Merci.
Vous pouvez obtenir l'ID d'instance avec echo $this->id;
($this
est l'instance de la classe).
La seule fois où vous ne pouvez pas obtenir cet identifiant provient de la fonction form()
, juste après que vous ayez simplement supprimé le widget ( ici est la raison pour laquelle)
Pour imprimer l'ID en php:
echo $this->id;
Mais cela affichera également l'identifiant avant qu'il ne soit ajouté à la barre latérale.
Donc, l'id correspondra àwidget-[#]_my_widget-__i__
Une manière complémentaire d'obtenir l'identifiant du widget est en javascript, une fois ajouté:
$(document).on('widget-added', function(event, widget){
var widget_id = widget.context.id;
});