How to add additional http header to a wp_error rest response

WP_REST_Response extends WP_HTTP_Response class, which has a header() method for setting headers. Using the rest_request_after_callbacks filter should allow setting the header, but will need to duplicate the functionality of WP_REST_Server->error_to_response(), which at time of writing calls rest_convert_error_to_response(), so that’s easy enough. Here’s what I think this will end up looking like (untested). add_filter( ‘rest_request_before_callbacks’, static … Read more

Allow Html pages for users with specific roles

You could save the HTML files in the theme with .php extensions and a short comment at the top naming each template, then either put the check-for-certain-role conditional within the php files and apply each template to a Page you create in wp-admin; or create a custom post type, apply each template to a CPT … Read more

custom REST endpoints and application passwords

If you want to use application passwords to authenticate requests to your RESTful endpoints, you can modify your permission_callback function to check for the presence and validity of an application password instead of a user’s credentials. To do this, you can use the wp_check_application_passwords function, which was introduced in WordPress 5.6. This function takes an … Read more

wp_signon by user’s login by their particular role

/* Add code below wp_set_auth_cookie( $user->ID, true, false ); */ $current_user = wp_get_current_user(); if($current_user->roles[0]==’personal_account’){ wp_redirect(site_url(‘/profile’)); }else if($current_user->roles[0]==’corporate_user’){ wp_redirect(site_url(‘/corporate-profile’)); }