Saya telah memutakhirkan WordPress saya 4.7.1
, dan setelah itu saya mencoba untuk menghitung pengguna melalui REST API, yang harus diperbaiki, tetapi saya dapat mengambil pengguna.
https://mywebsite.com/wp-json/wp/v2/users
Keluaran:
[{"id":1,"name":"admin","url":"","description":"","link":"https:\/\/mywebsite\/author\/admin\/","slug":"admin","avatar_urls":{"24": ...
Changelog dari versi terbaru:
API REST memaparkan data pengguna untuk semua pengguna yang telah menulis posting dari jenis posting publik. WordPress 4.7.1 membatasi ini hanya untuk jenis posting yang telah menentukan bahwa mereka akan ditampilkan dalam REST API. Dilaporkan oleh Krogsgard dan Chris Jean.
Setelah menginstal plugin Disable REST API
, tampaknya semuanya berfungsi dengan baik, tapi saya tidak suka menggunakan untuk setiap hal kecil.
Output setelah menggunakan plugin adalah:
{"code":"rest_cannot_access","message":"Only authenticated users can access the REST API.","data":{"status":401}}
Bagaimana saya dapat memperbaiki masalah ini tanpa menggunakan plugin, atau mengapa bahkan setelah meningkatkan masih ada?
EDIT 30.9.2017
Saya menyadari bahwa ada konflik antara contact 7
plugin dan Disable REST API
dan itu akan memberi Anda 401 unauthorized
kesalahan.
Ketika Anda mencoba mengirim pesan melalui contact 7
formulir, itu akan membuat permintaan
wp-json/contact-form-7/v1/contact-forms/258/feedback
dan menonaktifkan itu bukan ide yang baik.
Jawaban:
Gunakan potongan kode ini karena itu akan menyembunyikan daftar pengguna dan memberikan 404 sebagai hasilnya, sementara sisa panggilan api tetap berjalan seperti sebelumnya.
Anda dapat merujuk ke tautan ini di repo gitHub dari WP_REST_API untuk detail lebih lanjut tentang hal yang sama.
::MEMPERBARUI::
Untuk menghapus semua titik akhir REST API default Anda harus menambahkan kode berikut:
<?php remove_action('rest_api_init', 'create_initial_rest_routes', 99); ?>
sumber
functions.php
dalam tema Anda.Hapus tautan API dari kepala HTML jika Anda mau.
Kemudian memerlukan otentikasi untuk semua permintaan.
Ini akan memberi Anda pesan yang diinginkan.
Sekarang untuk menghentikan pencacahan, Anda dapat menggunakan sesuatu seperti ini.
Lihat seluruh pos untuk teknik lebih lanjut.
sumber
Anda dapat memperbaikinya melalui konfigurasi nginx / apache:
sumber
Untuk dapat memperbaikinya, Anda harus terlebih dahulu mengetahui sumber masalahnya.
Tolong beri tahu saya jika ini mengarahkan Anda ke arah yang benar.
Cara kotor untuk menyelesaikan ini adalah dengan hanya memblokir url di bawahnya di .htacces Anda. https://mywebsite.com/wp-json/wp/v2/users
sumber