web-dev-qa-db-ja.com

Heartbeat API:既にエンキューされたデータにアクセスする方法

Heartbeat APIを使用してキューに入れたデータにアクセスしようとすると問題が発生します。

wp.heartbeat.enqueue()を使ってデータをキューに入れています。例えば:

var data = { 
    my_key: 'value'
};
wp.heartbeat.enqueue( 'my_handle', data, false );

それからスクリプトの後半で、キューに入れたデータにアクセスしたいと思います。例えば:

$( document ).on( 'click', '#button', function() {
    // Here, I want to access the data I've enqueued.
});

私は次のことをやってみましたが、それはうまくいきません:

$( document ).on( 'click', '#button', function() {
    var my_data = wp.heartbeat.getQueuedItem( 'my_handle' );
    alert( my_data.data.my_key );
});

私がどこに問題があるのか​​誰かが提案できることを願っていますか?

1
henrywright

私の問題に対する解決策はmy_data.data.my_keymy_data.my_keyに変更することであることがわかりました。例えば:

$( document ).on( 'click', '#button', function() {
    var my_data = wp.heartbeat.getQueuedItem( 'my_handle' );
    alert( my_data.my_key );
});

キューに入れられたデータはすぐにアクセスできるようになりました。

2
henrywright