Lewati ke konten
aithordev.my.id

Masukan

Endpoint publik untuk widget "Apakah halaman ini membantu?" dan cara membaca hasilnya.

Di halaman ini

POST /feedback

Endpoint publik β€” tidak memerlukan autentikasi, karena pengunjung anonim pun perlu dapat memberi masukan.

Bash
curl -H "Content-Type: application/json" \
  -X POST https://situs.id/wp-json/gitdocs/v1/feedback \
  -d '{"post":42,"value":"up"}'
Parameter Tipe Keterangan
post int Id halaman dokumentasi yang sudah terbit
value up | down Membantu atau tidak
JSON
{ "ok": true }

Pembatasan

Lapisan Aturan
Server Satu suara per alamat IP (di-hash) per halaman, per 24 jam
Peramban Pilihan disimpan di localStorage, tombol dinonaktifkan setelah memilih
Sasaran Hanya halaman doc_page berstatus terbit
Pengaturan Ditolak bila widget masukan dimatikan di Customizer

Suara berulang dijawab 429 gitdocs_already_voted. Tampilan depan memperlakukan jawaban ini sebagai sukses (pengunjung tetap melihat ucapan terima kasih).

Alamat IP tidak disimpan. Yang dicatat hanyalah hash berisi IP + id halaman + garam WordPress, sebagai penanda sementara berumur satu hari.

Membaca hasil

Jumlah suara disimpan pada meta halaman:

PHP
$up   = (int) get_post_meta( $page_id, '_gitdocs_feedback_up', true );
$down = (int) get_post_meta( $page_id, '_gitdocs_feedback_down', true );

Angka yang sama tampil di:

  • kolom Masukan pada Dokumentasi β†’ Semua Halaman;
  • tab Pengaturan di editor, bagian "Riwayat & masukan".

Contoh: sepuluh halaman paling membingungkan

PHP
<?php
$pages = get_posts(
    array(
        'post_type'      => 'doc_page',
        'post_status'    => 'publish',
        'posts_per_page' => 10,
        'meta_key'       => '_gitdocs_feedback_down',
        'orderby'        => 'meta_value_num',
        'order'          => 'DESC',
    )
);

foreach ( $pages as $page ) {
    printf(
        "%-40s πŸ‘ %d  πŸ‘Ž %d\n",
        $page->post_title,
        (int) get_post_meta( $page->ID, '_gitdocs_feedback_up', true ),
        (int) get_post_meta( $page->ID, '_gitdocs_feedback_down', true )
    );
}

Mematikan widget

Tampilan β†’ Sesuaikan β†’ GitDocs β†’ Tampilkan widget "Apakah halaman ini membantu?". Saat dimatikan, widget tidak dirender dan endpoint menolak permintaan.

Cari dokumentasi

    Ketik untuk mulai mencari.