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 );
});
私がどこに問題があるのか誰かが提案できることを願っていますか?
私の問題に対する解決策はmy_data.data.my_key
をmy_data.my_key
に変更することであることがわかりました。例えば:
$( document ).on( 'click', '#button', function() {
var my_data = wp.heartbeat.getQueuedItem( 'my_handle' );
alert( my_data.my_key );
});
キューに入れられたデータはすぐにアクセスできるようになりました。