私は私のマルチインスタンスウィジェットの中にユニークなウィジェットIDを出力しようとしています。これまでのところ、以下はうまくいきませんでした。固有のIDはありますか、またどのようにしてそれを呼び出すのですか?
ありがとう。
function widget($args, $instance) {
// outputs the content of the widget
extract( $args );
$widget_id = $instance['widget_id'];
?>
<?php echo $widget_id ; ?>
<?php
}
ありがとう。
インスタンスIDはecho $this->id;
で取得できます($this
はクラスインスタンスです)
このidを取得できないのは、ウィジェットをドロップした直後のform()
関数からだけです( here がその理由です)。
IDをphpに出力するには
echo $this->id;
しかし、これはサイドバーに追加される前にIDも表示します。
そのため、IDはwidget-[#]_my_widget-__i__
に対応します。
ウィジェットIDを取得するための補足的な方法は、JavaScriptを追加した後のJavaScriptです。
$(document).on('widget-added', function(event, widget){
var widget_id = widget.context.id;
});