it-swarm.com.de

Aufrufen der Widget-ID eines Widgets mit mehreren Instanzen aus dem Widget heraus?

Ich versuche, eine eindeutige Widget-ID in meinen Widgets mit mehreren Instanzen auszugeben. Bisher hat Folgendes nicht funktioniert. Gibt es eine eindeutige ID und wie nenne ich sie?

Vielen Dank.

function widget($args, $instance) {
// outputs the content of the widget
    extract( $args );
    $widget_id = $instance['widget_id'];    
?>
<?php echo $widget_id ; ?>
<?php
}

Vielen Dank.

5
agileapricot

Sie können die Instanz-ID mit echo $this->id; abrufen ($this ist die Klasseninstanz).

Die einzige Zeit, in der Sie diese ID nicht erhalten können, ist die Funktion form(), direkt nachdem Sie das Widget abgelegt haben ( hier ist der Grund warum).

13
onetrickpony

So drucken Sie die ID in PHP:

echo $this->id;

Dadurch wird jedoch auch die ID gedruckt, bevor sie der Seitenleiste hinzugefügt wurde.

Die ID entspricht alsowidget-[#]_my_widget-__i__

Eine ergänzende Möglichkeit zum Abrufen der Widget-ID ist Javascript, nachdem es hinzugefügt wurde:

$(document).on('widget-added', function(event, widget){
                    var widget_id = widget.context.id;

                });
0
MediaFormat