• Júlio Santos

    (@juliusantos)


    Tenho o link de uma page template, site.com.br/produtos-e-servicos, onde possui um botão de orçamento. Ao clicar neste botão, estou chamando via Ajax uma outra page, a orcamento, que também está definida como page template no admin, mas que abre sob o conteúdo em modo de janela flutuante. Ao clicar neste botão fiz com que o endereço também mudasse (através de javascript), pra caso o usuário venha a acessar este link diretamente no futuro já entre com o box de orçamento estando visível.

    Até aí tudo bem, funciona perfeitamente; o problema está nesta questão de quando o usuário acessar o URL completo site.com.br/produtos-e-servicos/orcamento, pois essa página é acessada e mostra apenas o formulário, já que é uma page. Tem como eu evitar o acesso direto a essa página fazendo com que ao acessar este endereço completo seja carregado a page produtos-e-servicos e através de um onload eu abrir via Ajax a page orcamento?

    Obrigado pessoal!

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Moderador Leo Baiano

    (@leobaiano)

    Se a página orçamento nunca for acessada diretamente você pode utilizar is_page(); para checar a página acessada e caso seja a página orçamento você usa o wp_redirect() para redirecionar o usuário para a página produtos-e-servicos, você pode passar um parâmetro na URL para testar e carregar a janela flutuante.

    Não sei se me fiz entender e se entendi bem sua dúvida.

    Criador do tópico Júlio Santos

    (@juliusantos)

    Leo, ontem fiz parecido com o que você sugeriu. Quando o usuário acessava diretamente a página orçamento ele checava se foi passada uma variável e, caso não tivesse sido, redirecionava ele para a página de produtos e serviços.

    Porém, tanto dessa maneira quanto do jeito que vc sugeriu (penso eu que seria o mesmo resultado) impede de abrir o box de orçamento sob o conteúdo quando se acessava a URL diretamente.

    Sei que está entendendo, mas apenas pra deixar claro:
    Quando o usuário acessava diretamente na URL site.com.br/produtos-e-servicos/orcamento ele era redirecionado para a URL site.com.br/produtos-e-servicos já que não havia variável passando. Porém isso empedia de abrir o ajax e manter a URL.

    No novo jeito, quando acesso diretamente site.com.br/produtos-e-servicos/orcamento, cria-se uma variável em PHP armazenando um valor X e logo em seguida há um include da página produtos-e-servicos, que ao ser carregada faz a verificação da existência dessa variável em PHP. Como ela vai estar setada, simula um click() no botão de orçamento abrindo a janela e mantendo a URL.

    Foi essa a maneira que achei de fazer isso, já que não achei nada aqui e nos demais fóruns comentando sobre como impedir o acesso direto a uma page / ou fazer com que uma page abra um outro conteúdo.

    Moderador Leo Baiano

    (@leobaiano)

    O que você precisa não é SÓ impedir o acesso direto a uma page, se fosse só isso seria só criar um page-slug.php com wp_redirect(); mandando para a home.

    Mas se funcionou, como você fez, beleza.

    Criador do tópico Júlio Santos

    (@juliusantos)

    Isso aí Leo!!! Valeu pela força! Abraço

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Carregar uma page via onload e não diretamente’ está fechado para novas respostas.