Resumo de IA
Gostaria de limitar quais utilizadores podem ver a lista de Google Sheets conectados ao configurar uma ligação do Google Sheets no WPForms? Por defeito, qualquer utilizador com acesso ao construtor de formulários pode ver todas as folhas de cálculo associadas à conta Google conectada, o que pode ser uma preocupação de privacidade em sites com vários utilizadores de backend.
Este tutorial irá mostrar-lhe como restringir o acesso ao seletor do Google Sheets utilizando um trecho de código personalizado.
Criar o Trecho
Antes de começarmos, certifique-se de que consulta o nosso tutorial sobre como adicionar trechos de código personalizados ao seu site.
O seletor do Google Sheets carrega os seus dados através de um endpoint AJAX quando um utilizador abre o fornecedor do Google Sheets no construtor de formulários. Ao ligar-se ao filtro wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets, pode adicionar uma verificação de permissão antes que a lista de folhas de cálculo seja retornada.
Abordaremos dois cenários comuns abaixo.
Restringir o Acesso Apenas a Administradores
O trecho abaixo limita o acesso ao seletor do Google Sheets a utilizadores com a capacidade manage_options. Por defeito, isto está limitado a administradores.
/**
* Restrict the Google Sheets picker to administrators only.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_admins_only', 9 );
function wpf_restrict_picker_access_admins_only(): void {
// Restrict access to users with manage_options capability (administrators by default).
if ( ! current_user_can( 'manage_options' ) ) {
wp_send_json_error( 403 );
}
}
Depois de este trecho ser adicionado ao seu site, qualquer não-administrador que tente abrir o seletor do Google Sheets receberá um erro 403 em vez de ver a lista de folhas de cálculo conectadas. Os administradores continuarão a ver o seletor exatamente como antes.
Restringir o Acesso a um Utilizador Específico
Se preferir restringir o acesso a um único utilizador, pode verificar um ID de utilizador específico em vez disso. Isto é útil quando apenas uma pessoa na sua equipa deve ter permissão para gerir as ligações do Google Sheets.
/**
* Restrict the Google Sheets picker to a specific user.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_single_user', 9 );
function wpf_restrict_picker_access_single_user(): void {
// Restrict access to a specific user ID. Replace 1 with the desired user ID.
if ( get_current_user_id() !== 1 ) {
wp_send_json_error( 403 );
}
}
Certifique-se de substituir 1 pelo ID do utilizador que gostaria de permitir. Pode encontrar o ID de um utilizador indo a Utilizadores no seu admin WordPress e passando o rato sobre o nome do utilizador. O ID aparece no URL do link de edição.
É tudo! Restringiu com sucesso o acesso ao seletor do Google Sheets no WPForms. Gostaria de personalizar outras partes da integração do Google Sheets? Dê uma vista de olhos ao nosso tutorial sobre como configurar o addon Google Sheets com WPForms.