Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá boa tarde!
Pessoal estou tendo um certo problema com os aparelhos iphone, o mobile deles ao tentar acessa-los por um celular ficam em branco e só aparece a imagem de um banner, porém se eu acessar qualquer outra pagina digitando direto pela url ele exibe o conteúdo e caso eu retorne para a home ele também exibe o conteúdo, portanto tentei utilizar o script que segue a baixo, porém mesmo assim não funcionou minha logica, pois ele retorna a mensagem que se encontra no titulo, poderiam me ajudar?
index.php
<?php
$isiPad = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'ipad');
$isiPhone = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iphone');
$isAndroid = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'android');
//Forma de aplicação
if($isiPad || $isiPhone || $isAndroid){
header("Location: http://www.inovaideia.art.br/home");
break;
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/wp-blog-header.php' );?>
<?php/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
}>
22 horas atrás, EdCesar disse:
Só olhando por cima...
O break finaliza a execução da estrutura for, foreach, while, do-while ou switch atual
Neste caso ele vai causar erro, e mesmo se funcionasse, o define e require abaixo jamais iriam acontecer, certo?
Tente retirar o Break, e se você quer apenas redirecionar e não executar mais nada, utilize o exit ou die, dependendo do que você precisa.
O break usei na intenção de tentar parar esse erro, entretanto não funcionou, segui seu conselho e tentei alterar pelo exit, porém não funcionou também :/
<?php
$isiPad = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'ipad');
$isiPhone = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iphone');
$isAndroid = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'android');
//Forma de aplicação
if($isiPad || $isiPhone || $isAndroid){
header("Location: http://www.inovaideia.art.br/home");
exit;Use plugins
https://wordpress.org/plugins/wp-mobile-detect/
OU
https://github.com/serbanghita/Mobile-Detect
O plugin é do mesmo repositorio do GITHub
>
47 minutos atrás, Williams Duarte disse:
Use plugins
https://wordpress.org/plugins/wp-mobile-detect/
OU
https://github.com/serbanghita/Mobile-Detect
O plugin é do mesmo repositorio do GITHub
Acho que seria retrabalho, pois o responsivo já foi criado, porém ele não está funcionando em aparelhos da apple só em android.
>
48 minutos atrás, ronal-gato disse:
pois o responsivo já foi criado
E o que isso tem haver com a API que faz o reconhecimento de dispositivos?
>
58 minutos atrás, ronal-gato disse:
Acho que seria retrabalho
Ou não sabe como usar uma API?
>
2 horas atrás, ronal-gato disse:
O break usei na intenção de tentar parar esse erro, entretanto não funcionou, segui seu conselho e tentei alterar pelo exit, porém não funcionou também :/
<?php
$isiPad = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'ipad');
$isiPhone = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iphone');
$isAndroid = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'android');
if($isiPad || $isiPhone || $isAndroid){
header("Location: http://www.inovaideia.art.br/home");
exit;
}
?>
Tenho boas ou más noticias! rs
Então, esse código funciona!
Faça um teste e troque
header("Location: http://www.inovaideia.art.br/home");
por
header("Location: http://www.google.com");
Vai funcionar bonitinho!
O problema dos multiplus redirecionamentos só ocorrem quando um redirecionamento é feito em [http://www.inovaideia.art.br/home](http://www.inovaideia.art.br/home)
Comigo também ocorreu!
Tem alguma particularidade nela, mas o seu código sem o break esta correto!>
1 hora atrás, Williams Duarte disse:
E o que isso tem haver com a API que faz o reconhecimento de dispositivos?
Ou não sabe como usar uma API?
Porque se for parar pra pensar o reconhecimento já esta sendo feito com poucas linhas direto pelo php.
Hahaha esse não sei mesmo não, nunca utilizei nenhum dos dois que você comentou.
>
57 minutos atrás, EdCesar disse:
Tenho boas ou más noticias! rs
Então, esse código funciona!
Faça um teste e troque
header("Location: http://www.inovaideia.art.br/home");
por
header("Location: http://www.google.com");
Vai funcionar bonitinho!
O problema dos multiplus redirecionamentos só ocorrem quando um redirecionamento é feito em [http://www.inovaideia.art.br/home](http://www.inovaideia.art.br/home)
Comigo também ocorreu!
Tem alguma particularidade nela, mas o seu código sem o break esta correto!
Ainda nos testes, procurando a solução.
Só olhando por cima...
O break finaliza a execução da estrutura for, foreach, while, do-while ou switch atual
Neste caso ele vai causar erro, e mesmo se funcionasse, o define e require abaixo jamais iriam acontecer, certo?
Tente retirar o Break, e se você quer apenas redirecionar e não executar mais nada, utilize o exit ou die, dependendo do que você precisa.