web-dev-qa-db-ja.com

ウィジット内からマルチインスタントウィジットのウィジットIDを呼び出します

私は私のマルチインスタンスウィジェットの中にユニークなウィジェットIDを出力しようとしています。これまでのところ、以下はうまくいきませんでした。固有のIDはありますか、またどのようにしてそれを呼び出すのですか?

ありがとう。

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

ありがとう。

5
agileapricot

インスタンスIDはecho $this->id;で取得できます($thisはクラスインスタンスです)

このidを取得できないのは、ウィジェットをドロップした直後のform()関数からだけです( here がその理由です)。

13
onetrickpony

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;

                });
0
MediaFormat