Advertisement
  1. Code
  2. Creative Coding

API Detak Jantung: Mengubah Denyut Jantung

Scroll to top
Read Time: 3 min

() translation by (you can also view the original English article)

Pada bagian pertama dari seri ini kita melihat dasar-dasar API Detak Jantung, dan bagaimana itu dapat diimplementasikan dalam sebuah plugin. Dalam tutorial ini kita akan melihat bagaimana Anda dapat mengubah "denyut nadi" Detak Jantung.

Secara default jantung WordPress berdetak sekali setiap 15 detik. Anda dapat menurunkan nilai itu menjadi apa pun hingga satu ketukan setiap menit. Sebagai alternatif, Anda dapat meningkatkan sementara tarif menjadi satu ketukan setiap 5 detik – tetapi hanya untuk sementara selama dua setengah menit sebelum diatur ulang ke ketukan 'standar': "4 BPM".


Ubah Default Pulse

Untuk mengubah default pulse, Anda dapat menggunakan filter wp_heartbeat_filter yang menyaring pengaturan awal API Detak Jantung. Filter ini awalnya tidak memungkinkan Anda menyetel pulse ke 'cepat': Anda hanya dapat menentukan angka antara 15 dan 60 (interval antara ketukan dalam hitungan detik).

1
2
function wptuts_heartbeat_settings( $settings ) {
3
  $settings['interval'] = 60; //Anything between 15-60

4
	return $settings;
5
}
6
add_filter( 'heartbeat_settings', 'wptuts_heartbeat_settings' );

Matikan Auto-Start

Meskipun permintaan hanya dikirim ke server ketika ada data untuk dikirim, Detak Jantung mulai berjalan secara otomatis saat halaman dimuat. Anda dapat mematikan secara otomatis dari pengaturan Detak Jantung default:

1
2
function wptuts_heartbeat_settings( $settings ) {
3
	$settings['autostart'] = false;
4
	return $settings;
5
}
6
add_filter( 'heartbeat_settings', 'wptuts_heartbeat_settings' );

Beralih dari sisi server ke browser, Heartbeat hanya akan mulai berjalan jika:

1
2
wp.heartbeat.start();

disebut. Anda juga dapat mematikan sisi klien Detak Jantung:

1
2
wp.heartbeat.stop();

Ubah Pulse Client-Side

Selain menghidupkan dan mematikan Detak Jantung, Anda dapat memanipulasi denyut nadi (misalnya) sebagai respons terhadap peristiwa tertentu yang dipicu oleh pengguna. Misalnya, Anda dapat mendengarkan ketika pengguna memulai suatu kegiatan yang membutuhkan komunikasi lebih teratur dengan server – dan dengan demikian meningkatkan sementara waktu.

Dari dalam skrip JavaScript Anda:

1
2
// 1 beat every 5 seconds for a maximum of two and half minutes

3
wp.heartbeat.interval( 'fast' );
4
5
// 1 beat every 60 seconds

6
wp.heartbeat.interval( 'slow' );
7
8
// 1 beat every 15 seconds

9
wp.heartbeat.interval( 'standard' );
Peringatan: Meskipun 'cepat' hanya berlangsung dua setengah menit, jika Anda terus-menerus mengatur denyut nadi ke 'cepat' maka, pada dasarnya, itu berlangsung secara otomatis pada tingkat itu. Anda harus berhati-hati tentang bagaimana Anda mengubah denyut nadi dan melakukannya hanya ketika Anda perlu melakukannya.

Ubah Pulse Server-Side

Selain mengubah sisi pulsa browser, kita juga bisa melakukan ini setiap kali browser berkomunikasi dengan server. Ini dilakukan dengan menetapkan 'heartbeat_interval' di respons – itu bisa berupa 'fast', 'slow' atau 'standard'.

1
2
function wptuts_respond_to_browser( $response, $data, $screen_id ) {
3
	if ( isset( $data['wptuts-plugin'] ) ) {
4
		// Plug-in data being sent to browser

5
		$response['wptuts-plugin'] = array(
6
			'hello' => 'world'
7
		);
8
9
		// Slow the hearbeat

10
		$response['heartbeat_interval'] = 'slow';
11
	}
12
	return $response;
13
}
14
add_filter( 'heartbeat_received', 'wptuts_respond_to_browser', 10, 3 ); // Logged in users

15
add_filter( 'heartbeat_nopriv_received', 'wptuts_respond_to_browser', 10, 3 ); // Logged out users

Ketidakaktifan Pengguna

API Detak Jantung juga menyesuaikan ketukan sesuai dengan aktivitas pengguna. WordPress memeriksa aktivitas pengguna setiap 30 detik, jika setelah 5 menit, tidak ada aktivitas keyboard atau mouse, ketukan dikurangi menjadi satu ketukan setiap seratus detik. Ini dilakukan terlepas dari apa yang telah diatur oleh plugin.

Pada bagian akhir dari seri ini kita akan membuat contoh kerja sederhana dari sebuah plugin menggunakan API Detak Jantung yang baru. Kita akan membuat plugin yang memberikan pembaruan 'langsung' pengguna saat pengguna masuk dan keluar dari WordPress.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.