محدود کردن دسترسی به REST API برای کاربران مهمان در وردپرس (Restrict REST API)
با فیلتر `rest_authentication_errors`، کاربرانی که لاگین نکردهاند را با خطای ۴۰۱ یا WP_Error مسدود کنید.
<?php
/**
* محدودسازی دسترسی به REST API تنها برای کاربران وارد شده به سایت
*/
function bisco_restrict_rest_api_to_logged_in_users( $access ) {
// در صورت وجود خطای قبلی، همان خطا بازگردانده شود
if ( is_wp_error( $access ) ) {
return $access;
}
// اگر کاربر وارد نشده بود، دسترسی مسدود گردد
if ( ! is_user_logged_in() ) {
return new WP_Error(
'rest_cannot_access',
'دسترسی به رابط برنامهنویسی تنها برای کاربران احراز هویت شده مجاز است.',
array( 'status' => rest_authorization_required_code() )
);
}
return $access;
}
add_filter( 'rest_authentication_errors', 'bisco_restrict_rest_api_to_logged_in_users' );