Como exibir itens reservados na página da conta do usuário

Crie uma coluna para armazenar o ID do usuário

A consulta personalizada que será configurada posteriormente exigirá o ID do usuário que enviou a reserva. Por padrão, esses dados não são armazenados nas colunas JetBooking , portanto é necessário criar uma coluna dedicada. 

Navegue até o Painel do WordPress > Reservas > Configurações > guia Ferramentas. Adicione uma nova coluna pressionando o botão “ Nova coluna do banco de dados ”. Dê um nome à coluna – “user_id”.

coluna do banco de dados user_id na tabela de reservas

Depois disso, clique no botão “ Atualizar Tabelas de Reservas ”. Agora, uma nova coluna no banco de dados é criada. Ele armazenará o ID do usuário após o envio do formulário de reserva.

Adicione um campo de formulário para buscar o ID do usuário

Nos passos seguintes, adicionaremos um campo de formulário para buscar o ID do usuário que fez a reserva e mapeá-lo com a coluna “user_id” criada anteriormente.

Ajustando o formulário de reserva criado com o plugin JetFormBuilder

Se o formulário de reserva foi configurado com o plugin JetFormBuilder , encontre o formulário no Painel do WordPress > JetFormBuilder > guia Formulários e edite-o. 

Adicione um novo bloco de campo oculto . Selecione a opção “ID do usuário atual” como VALOR DO CAMPO . O campo irá buscar o ID do usuário logado no momento.

valor atual do ID do usuário do campo oculto

Vá para a seção Ações pós-envio da guia JetForm e clique no botão em forma de lápis para editar a ação “Reserva de apartamento”. 

Na seção DB COLUMNS MAP , mapeie a coluna “user_id” criada anteriormente com o novo campo Oculto inserindo o nome do campo Oculto no campo de entrada correspondente.

Clique no botão “ Atualizar ” para salvar as configurações da ação e atualizar o formulário. 

Como resultado, o ID do usuário que enviou o formulário será salvo na coluna “user_id” do banco de dados de reservas.

Construindo o formulário de reserva criado com o plugin JetEngine

Aviso

Esteja ciente de que esta é uma funcionalidade herdada do construtor de formulários que será atualizada apenas para correções de bugs críticos, por isso recomendamos configurar o formulário de reserva com o plug-in JetFormBuilder para as atualizações mais recentes com os novos recursos de formulário.

Se o formulário de reserva foi configurado com o módulo Formulários (Legado) do JetEngine , encontre o formulário no WordPress Dashboard > JetEngine > guia Formulários e prossiga para editá-lo.

Adicione um novo campo do tipo “Oculto” . Selecione a opção “ID do usuário atual” como valor do campo . O campo irá buscar o ID do usuário logado no momento. 

Clique no botão “ Aplicar alterações ” para salvar o resultado.

” alt=”adicionando campo oculto com ID de usuário ao formulário jetengine” data-src=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/adding_hidden_field_with_user_id_to_jetengine_form_2x.png” />Vá para a seção Configurações de ações/notificações pós-envio da tela de edição do formulário e clique no botão em forma de lápis para editar a ação “Reserva de apartamento”. 

Na seção Mapa de colunas do banco de dados , mapeie a coluna “user_id” criada anteriormente com o novo campo Oculto inserindo o nome do campo Oculto no campo de entrada específico.

mapeando coluna de ID do usuário com campo ocultoClique no botão “ Aplicar alterações ” para salvar as configurações da ação e atualizar o formulário. 

Como resultado, o ID do usuário que enviou o formulário será salvo na coluna “user_id” do banco de dados de reservas.

Testando o formulário

Vamos testar o formulário fazendo um exemplo de reserva. 

Navegue até a visualização frontal do site e encontre a página onde o formulário está localizado. Preencha o formulário e envie-o.

testando o formulário de reserva no front-end

Após fazer uma reserva de teste, retorne ao Painel do WordPress e prossiga para Reservas > Reservas . Encontre a reserva criada e clique no botão “ Editar ” ou no ícone de informações .

Coluna user_id nos detalhes da reserva

Verifique a coluna “user_id”: ela deve conter o ID do usuário que fez a reserva.

Configure uma consulta personalizada para exibir itens reservados

A consulta personalizada filtrará as reservas feitas pelo usuário atual e permitirá exibir os resultados como uma listagem. 

Vá para WordPress Dashboard> JetEngine> Query Builder e clique no botão “ Adicionar novo ” para criar uma nova consulta. 

Dê um nome à consulta e selecione o tipo de consulta “Consulta JetBooking” .

Configurações de consulta JetBooking

Este tipo de consulta retorna todas as reservas criadas no site. Usando diferentes configurações de consulta, você pode restringir o resultado. Para saber mais sobre essas configurações, vá para o tipo de consulta JetBooking na visão geral do Query Builder .

Para exibir apenas a lista de reservas criadas pelo usuário atual, vá até o corpo da consulta e, na seção Consulta de Colunas , clique no botão “ Adicionar Novo ” para adicionar uma nova cláusula de consulta. Agora, vamos comparar a coluna “user_id” criada anteriormente com o ID do usuário conectado no momento. 

Nas configurações da cláusula, selecione a coluna “user_id” . Em seguida, escolha o operador de comparação “Igual (=)” no menu suspenso Comparar . No lado direito do campo de entrada Valor , clique no ícone da pilha de moedas e selecione a macro “ID do usuário atual”.

Você pode ativar a alternância Visualizar resultados para verificar como a consulta restringe os resultados.

Agora, a consulta recupera apenas as reservas criadas pelo usuário atual. Defina outras configurações de consulta personalizada e pressione o botão de consulta “ Adicionar/Atualizar ”.

Crie um anúncio para exibir reservas

A próxima etapa é criar e estilizar o modelo de listagem para as reservas na conta do usuário. O modelo de listagem pode ser feito com o editor de blocos Elementor ou WordPress.

Construindo um modelo de listagem no editor Elementor

Navegue até o Painel do WordPress> JetEngine> guia Listagens e pressione o botão “ Adicionar Novo ” para adicionar um novo modelo.

Na janela Configurar item de listagem , selecione “Query Builder” como fonte da listagem ; em seguida, selecione a consulta personalizada criada na etapa anterior e dê um nome à listagem. 

Por fim, selecione “Elementor” para a visualização da listagem se você construir o site com Elementor e clique no botão  “ Criar item de listagem ”.

criando listagem para consulta sql no elementorAgora é hora de personalizar o modelo de listagem para os itens reservados. Você pode exibir qualquer coluna recuperada pela consulta personalizada. Em nosso exemplo, exibiremos o ID e o status da reserva, o título vinculado da instância reservada, as datas, o número de hóspedes e as informações do usuário. Todos esses dados serão exibidos com o widget Campo Dinâmico .

Primeiro, arraste e solte um widget de Campo Dinâmico na área de edição. Selecione “Dados pós-prazo/usuário/objeto” como fonte . No menu suspenso Campo de objeto , role até ver a seção JetBooking e escolha a opção “ID de reserva”.

exibindo o ID da reserva no modelo de listagem no editor elementor

Para incluir texto adicional a esse valor, ative a alternância Personalizar saída do campo e personalize a área de formato. Por exemplo, digitamos “ID da reserva: %s” no formato Campo .

personalizando a saída do ID da reserva no editor elementor

Agora, a listagem exibe o ID da reserva. Da mesma forma, adicione o status da reserva.

Adicione um novo widget de Campo Dinâmico ou duplique o existente. Repita as etapas acima para exibir a opção “Status” e formatá-la.

” alt=”exibindo o status da reserva no modelo de listagem no editor elementor” width=”760″ height=”938″ data-src=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-status-in-the-listing-template.webp” data-srcset=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-status-in-the-listing-template.webp 760w, https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-status-in-the-listing-template-243×300.webp 243w, https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-status-in-the-listing-template-600×741.webp 600w” data-sizes=”(max-width: 760px) 100vw, 760px” />

Para exibir o nome da propriedade reservada (título do post), adicione outro widget de Campo Dinâmico e selecione a opção “ID da Instância Reservada” como Campo do Objeto . O valor desta opção é o ID da postagem.

Para transformá-lo em um título vinculado, ative a alternância de saída do campo Filtro e selecione o retorno de chamada “Obter link de postagem/página” . Este retorno de chamada formata o valor e gera o nome da postagem em vez de seu ID. Além disso, você pode exibir apenas o título da postagem sem link, URL da postagem e miniatura da postagem com retornos de chamada. Saiba mais no capítulo Exibir títulos de postagens e termos, links e URLs da Visão geral do widget de campo dinâmico .

” alt=”exibindo a propriedade de reserva no modelo de listagem no editor elementor” width=”828″ height=”938″ data-src=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-property-in-the-listing-template.webp” data-srcset=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-property-in-the-listing-template.webp 828w, https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-property-in-the-listing-template-265×300.webp 265w, https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-property-in-the-listing-template-768×870.webp 768w, https://crocoblock.com/knowledge-base/wp-content/uploads/2023/04/displaying-the-booking-property-in-the-listing-template-600×680.webp 600w” data-sizes=”(max-width: 828px) 100vw, 828px” />

Agora é hora de exibir as datas reservadas. Adicione dois widgets de campo dinâmico : um mostrando a opção “Data de check-in” e outro exibindo a opção “Data de check-out”. Essas opções contêm as datas de check-in e check-out no formato de carimbo de data/hora. 

Para converter o carimbo de data/hora em uma data legível por humanos, ative a alternância de saída do campo Filtro e escolha o retorno de chamada “ Formatar Data ”. Não se esqueça de definir o formato da data de acordo com a documentação Personalizando o formato de hora e data .

exibindo as datas de check-in e check-out no modelo de listagem no editor elementor

Você também pode exibir valores das colunas adicionais da tabela JetBookings adicionadas na guia Reservas > Configurações > Ferramentas . Para isso, adicione outro Campo Dinâmico e selecione a opção “Coluna adicional:…”. Por exemplo, em nosso caso, escolhemos o campo de objeto “Coluna adicional: convidado” .

exibindo o número de hóspedes no modelo de listagem no editor elementor

A coluna “user_id” contém o ID do usuário que pode ser transformado nas informações padrão do usuário.

Adicione um Campo Dinâmico , selecione a opção “Coluna adicional: user_id” para o Campo de Objeto , ative a alternância de saída do campo Filtrar e defina o retorno de chamada “Obter dados do usuário por ID” . Este retorno de chamada recupera campos de usuário padrão pelo ID do usuário. Escolha qualquer opção desejada no menu suspenso Dados do usuário para obter .

exibindo as informações do usuário padrão no modelo de listagem no editor elementor

É isso para as configurações principais. Experimente o estilo para obter o melhor design para a listagem. Quando terminar, não se esqueça de atualizar as alterações.

Criando um modelo de listagem no editor de blocos do WordPress (Gutenberg)

Navegue até o Painel do WordPress> JetEngine> guia Listagens e pressione o botão “ Adicionar Novo ” para adicionar um novo modelo.

Para a origem da listagem , selecione “Query Builder”. Em seguida, escolha a consulta personalizada criada na etapa anterior e dê um nome à listagem. Por último, escolha “Blocos (Gutenberg)” para a visualização de listagem se você construir o site com o editor de blocos WordPress e clique no botão  “ Criar item de listagem ”.

criando listagem para consulta sql no editor de blocos gutenbergAgora, personalize o modelo de listagem para exibir os itens reservados. Você pode exibir qualquer coluna recuperada pela consulta personalizada. Em nosso exemplo, mostraremos o ID e o status da reserva, o título vinculado da instância reservada, as datas, o número de hóspedes e as informações do usuário usando o bloco Campo Dinâmico .

Primeiro, arraste e solte um bloco de Campo Dinâmico na área de edição. Escolha “Dados de postagem/prazo/usuário/objeto” no campo FONTE . No menu suspenso POST OBJECT , role para baixo até a seção JetBooking e escolha a opção “Booking ID”.

exibindo o ID da reserva no modelo de listagem no editor de bloco

Para adicionar texto a esse valor, ative a alternância Personalizar saída do campo e personalize a área de formato. Por exemplo, digitamos “ID da reserva: %s” no formato Campo .

personalizando a saída do ID da reserva no editor de bloco

Agora, a listagem exibe o ID da reserva. A seguir, vamos adicionar o status da reserva.

Adicione um novo bloco de campo dinâmico ou duplique o existente. Repita as etapas acima para exibir a opção “Status” e formatá-la.

exibindo o status da reserva no modelo de listagem no editor de bloco

Para exibir o nome da propriedade reservada (título do post), adicione outro bloco Dynamic Field e selecione a opção “Booked Instance ID” como POST OBJECT . O valor desta opção é o ID da postagem. 

Para transformá-lo em um título vinculado, ative a alternância de saída do campo Filtro e selecione o retorno de chamada “Obter link de postagem/página” . Este retorno de chamada formata o valor e gera o nome da postagem em vez de seu ID. Além disso, você pode exibir apenas o título da postagem sem link, URL da postagem e miniatura da postagem com retornos de chamada. Saiba mais sobre isso em Exibir títulos, links e URLs de postagens e termos .

exibindo a propriedade de reserva no modelo de listagem no editor de bloco

Agora é hora de exibir as datas reservadas. Adicione dois blocos de campo dinâmico : um mostrando a opção “Data de check-in” e outro exibindo a opção “Data de check-out”. Essas opções contêm as datas de check-in e check-out em formato de carimbo de data/hora.

Para formatar o carimbo de data/hora como uma data legível por humanos, ative a alternância de saída do campo Filtro e escolha o retorno de chamada “ Formatar data ” . Não se esqueça de definir o formato da data de acordo com a documentação Personalizando o formato de hora e data .

exibindo as datas de check-in e check-out no modelo de listagem no editor de bloco

Você também pode exibir valores das colunas adicionais da tabela JetBookings adicionadas na guia Reservas > Configurações > Ferramentas . Para isso, adicione outro Campo Dinâmico e selecione a opção “Coluna adicional:…”. Por exemplo, no nosso caso, escolhemos a “Coluna adicional: convidado” POST OBJECT .

exibindo o número de hóspedes no modelo de listagem no editor de bloco

A coluna “user_id” contém o ID do usuário que pode ser transformado nas informações padrão do usuário.

Adicione um campo dinâmico , selecione a opção “Coluna adicional: user_id” para o POST OBJECT , ative a alternância de saída do campo Filtrar e defina o retorno de chamada “Obter dados do usuário por ID” . Este retorno de chamada recupera campos de usuário padrão pelo ID do usuário. Escolha qualquer opção desejada no menu suspenso Dados do usuário para obter .

exibindo as informações do usuário padrão no modelo de listagem no editor de bloco

É isso para as configurações principais. Para estilizar os blocos, use o plugin gratuito JetStyleManager . Quando terminar, não se esqueça de atualizar as alterações.

Exibir a listagem de itens reservados na página da conta

A última parte do nosso trabalho é exibir a listagem criada na página da conta do usuário definida com o recurso JetEngine Profile Builder . Criaremos um novo modelo de subpágina e colocaremos o widget ou bloco Listing Grid dentro dele.

Mostrando a listagem no Elementor

Em primeiro lugar, crie um novo modelo de “Página” no Painel do WordPress > Modelos > Adicionar nova guia no Elementor .

criando um novo modelo de página no elementor

Este template será responsável por exibir a subpágina da conta com a lista de itens reservados. 

No editor Elementor, encontre o widget Listing Grid e coloque-o no modelo. Escolha a opção Listagem criada anteriormente.

Estas configurações são suficientes para exibir as reservas do usuário atual como um anúncio. Para ajustar o restante das configurações, verifique Visão geral do widget Grid de listagem . 

listagem de widget de grade no modelo de elemento de página

Feito o estilo, clique no botão “ Publicar/Atualizar ” para salvar as alterações e retornar ao Painel do WordPress. 

Agora, aplique o modelo criado no Profile Builder . Navegue até JetEngine > Profile Builder > guia Página da conta e clique no botão “ Adicionar nova subpágina ” para adicionar uma nova subpágina para reservas dos usuários. 

Dê um título a esta subpágina e anexe o modelo criado anteriormente. Clique no botão “ Salvar ” .

criando minha subpágina de reservas no construtor de perfil

Finalmente, é hora de verificar o resultado. Abra a página Conta no front end, vá para a subpágina “Minhas Reservas” e verifique se ela exibe suas reservas.

visualizando reservas na página da conta

Construindo a listagem no Block Editor (Gutenberg)

Colocaremos o bloco Listing Grid dentro do modelo Listing para usuários e anexaremos o novo modelo Listing a uma subpágina Account do Profile Builder . 

Navegue até a guia JetEngine> Listagens e clique no botão “ Adicionar novo ”. 

No pop-up Configurar item de listagem , escolha “Usuários” como fonte da listagem , dê um nome à listagem e selecione “Blocos (Gutenberg)” na lista suspensa da visualização da listagem . Pressione o botão “ Criar item de listagem ” .

criando modelo de listagem de usuários em Gutenberg

Este template será responsável por exibir a subpágina da conta com a lista de itens reservados. 

Assim que o editor for aberto, encontre o bloco Listing Grid e coloque-o no modelo. Escolha a opção de Listagem criada previamente.

bloco de grade de listagem no modelo de listagem

Estas configurações são suficientes para exibir as reservas do usuário atual como um anúncio. Para ajustar o restante das configurações, verifique Visão geral do bloco de grade de listagem . 

Feito isso, clique no botão “ Publicar/Atualizar ” para salvar as alterações e retornar ao Painel do WordPress. 

Agora é hora de aplicar o modelo criado no Profile Builder . Navegue até JetEngine > Profile Builder > guia Página da conta e clique no botão “ Adicionar nova subpágina ” para adicionar uma nova subpágina para reservas dos usuários.

Dê um título a esta subpágina e anexe o modelo de listagem de usuários criado anteriormente. Clique no botão “ Salvar ” .

criando minha subpágina de reservas no construtor de perfil com listagem de Gutenberg

Em última análise, é hora de verificar o resultado. Confira a página Conta para ver as reservas criadas.

visualizando reservas criadas na página da conta

É isso; agora você sabe como exibir itens reservados na página da conta de usuário com a ajuda do plugin JetBooking em seu site WordPress.

Índice