Add this in the functions page:
add_action(‘pre_get_posts’, ‘allow_draft_preview’);
function allow_draft_preview($query) {
if (isset($_GET[‘key’]) && $_GET[‘key’] == ‘guest’) {
if ($query->is_main_query()) {
$query->set(‘post_status’, array(‘publish’, ‘draft’));
}
}
}
Use this code to generate the preview links:
$query_args[‘preview_id’] = $requestBody->page_id;
$query_args[‘key’] = ‘guest’;
$preview_link = get_preview_post_link($requestBody->page_id, $query_args);
Preview Link:
“preview_link”: “/?page_id=1&preview_id=1&key=guest&preview=true”