Suporte » Desenvolvendo com WordPress » Mobile WP Não exibe conteúdo
Mobile WP Não exibe conteúdo
-
Boa tarde galerinha, como vão todos?!
Estou criando uma versão mobile seguindo um tutorial onde você mesmo criar um plugin que escolhe um segundo tema quando é acessado por smartphone.
Funciona perfeitamente tirando um probleminha…ele só não está exibindo os textos das paginas e dos posts. A parte que seria do the_content();Do resto funciona perfeitamente…ele exibe os títulos das páginas, menu, author, data, hora, thumbs e etc…só o conteúdo que deveria ser do the_content(); mesmo que não aprece.
Já tentei usar os arquivos do próprio tutorial e continua com o mesmo problema..rs
Alguém ai sabe o que pode ser??Fico aguardando um help!
Vlw galerinha.Ps. Criei o tópico porque não encontrei problema semelhante em lugar algum..rs
-
Uma outra coisa que é muito estranha é que se eu escolher o theme mobile como padrão ele exibe os textos normalmente no pc…só no mobile mesmo que da esse probleminha…rs
Guilherme,
posta aqui a parte do código que está dando problema, senão não tem jeito de a gente ajudar.
OPa…demoro, posto sim Ricardo…vlw
Header.php
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> <!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN' 'http://www.wapforum.org/DTD/xhtml-mobile10.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title><?php bloginfo('name'); wp_title('|'); ?></title> <link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" media="screen" type="text/css" /> <?php wp_head(); ?> </head> <body> <div id='header'> <h1> <a href="<?php print home_url('/'); ?>" rel="home"> <?php bloginfo('name'); ?> </a> </h1> <?php bloginfo('description'); ?> </div> <?php $menu = wp_nav_menu('depth=1&echo=0'); $menu = preg_replace('/<\/?ul>/', '', $menu); $menu = preg_replace('/(<\/?)li/', '$1span', $menu); print $menu; ?> <div id='main'>
Page.php
<?php get_header(); ?> <?php the_post(); ?> <div class='post'> <div class='header'> <?php the_post_thumbnail(array(32, 32), 'class=thumbnail'); ?> <h3><?php the_title(); ?></h3> </div> <div class='content'> <?php the_content(); ?> </div> </div> <?php get_footer(); ?>
Não sei se só isso da pra saber mas se precisar de mais algum código é só me gritar.
E ai galera, ninguém pra dar um help?
Posso estar errado mas pra mim não faz muito sentido esse erro…rs
Como não manjo tanto de programação não sei mais o que fazer, já procurei em todo lugar mas não encontro ninguém com problema similar..rsFico no aguardo.
AbraçoCara, desculpa a demora…
essa parte tá rolando normal? Exibindo o thumnail e tudo?
<div class='header'> <?php the_post_thumbnail(array(32, 32), 'class=thumbnail'); ?> <h3><?php the_title(); ?></h3> </div>
não sei bem o que pode estar acontecendo não, mas você pode tentar algo tipo
<div class='content'> <?php echo get_the_content(); ?> </div>
pra saber se o problema tá na função ou em outro lugar. the_content() aplica alguns filtros no conteúdo, e um deles pode estar dando piti no celular. Usando get_the_content() vc pega o conteúdo sem filtro nenhum, e aí pode filtrar na mão, se for o caso.
Opa…fala ai Ricardo!
É isso mesmo…ele exibe o primeiro código com a thumb e o title do h3, mas quando chega no content não exibe nada..rsTentei o echo e nada…tentei o get_the_content() e nada tbm..rs
Ai resolvi fazer um teste, chamar para a versão mobile o tema padrão do wordpress para ver se o problema poderia ser com o tipo de tema, mas o mesmo problema aconteceu…exibiu tudo menos o content.Então imaginei que o problema poderia ser no plugin…resolvi ir tirando algumas funções e de cara ele começou a funcionar..rs
Só que como no tutorial o cara diz ser importante o trecho, imagino que deve ter como arrumar sem ter que deletar tudo…se poder me ajudar eu serei muito grato!..heheheSegue o código do plugin que eu deletei para funcionar o content:
add_filter('the_content', 'mmp_the_content'); function mmp_the_content($content) { return ( resize_images( paginate( remove_tags( $content ) ) ) ); }
Obrigado por responder!
AbraçoAh..talvez seja bom postar as outras funções que essa de cima chama né..rs
function resize_images($string) { $tinysrc = "http://i.tinysrc.mobi/x90/"; if (request_is_mobile()) { $images = '/\<img(.* src=\")([^"]*)(\".*) width=\"\d+\" height=\"\d+\" \/>/Usi'; $string = preg_replace($images, "<img$1$tinysrc$2$3/>", $string); } return $string; }
function paginate($string) { if (request_is_mobile()) { $pages = array(); $page = ''; foreach(split('<p>', $string) as $paragraph) { $page_length = strlen($page); if($page_length > 0 && $page_length + strlen($paragraph) > 2000) { $pages[] = $page; $page = ''; } $page .= "<p>$paragraph"; } $current_page = 0; if(isset($_GET['mmp_page']) && is_numeric($current_page = $_GET['mmp_page'])) { if ($current_page < 0) { $current_page = 0; } if ($current_page > sizeof($pages)) { $current_page = sizeof($pages); } } $string = $pages[$current_page]; if ($current_page < sizeof($pages) - 1) { $next = add_query_arg('mmp_page', ($current_page+1)); $string .= "<a href='$next'>Next</a>"; } } return $string; }
function remove_tags($string) { if (request_is_mobile()) { $remove_tags = "/\<\/?(marquee|frame|iframe|object|embed)[^>]*\>/Usi"; $string = preg_replace($remove_tags, "", $string); $remove_scripts = "/\<script.*\<\/script\>/Usi"; $string = preg_replace($remove_scripts, "", $string); } return $string; }
Haha… sabia que era um filtro do the_content. (dancinha da vitória)…
Na verdade é seguinte. O que esse código do plugin faz é inserir ainda mais filtros na chamada do the_content(), e justamente esses filtros, ou seja, uma dessas 3 funções, é que criou o problema.
To pra apostar com vc, que o problema está na primeira função, resize_images.
Tente usar só assim e ver se resolve:
add_filter('the_content', 'mmp_the_content'); function mmp_the_content($content) { return ( paginate( remove_tags( $content ) ) ); }
Se não resolver, teste uma função de cada vez, até encontrar o erro.
opa…vlw por responder Ricardo!
Fiz o que vc falou, tirei um a um e descobri que era o paginate que estava impedindo o conteudo de aparecer..rs
Mas será que não tem nenhuma importância tirar ele?Vlw mais uma vez por ajudar Ricardo!
Opa, excelente! 🙂
O que vai acontecer sem a função paginate é que ele não vai dividir seu conteúdo em páginas (nem sei pq ele faria isso, mas é outro problema). Provavelmente não vai alterar em mais nada o funcionamento.
Se isso resolveu, marque o tópico como resolvido, por favor!
Perfect Ricardo!
Vc é um gênio…muito obrigado!
VlwwwwwPs..assim que o site estiver pronto eu mando o link pra vc dar uma olhada…hehe
Putz Ricardo…estava vendo e as imagens do the_content não estão aparecendo…rs
Tem alguma ideia do porque?Vlw
Provavelmente tem a ver com a função resize_images ali em cima. Veja que ela substitui a URL das suas imagens por uma outra, processada no servidor externo.
Então…eu desconfiei, consegui fazer a imagem aparecer mas ela não se adapta ao tamanho da tela..rs
Estou tentando descobrir como arrumar, entrei nesse site do link e tals mas ainda não encontrei a solução do resize.Uma solução, talvez, seja deixar essa função de lado e escrever um filtro no seu functions.php pra que quando o usuário estiver vendo o tema mobile, o WP substitua as inserções de imagens comuns por inserções dos thumbnails, ou de um outro formato reduzido.
Assim você não vai depender do serviço externo e reduz igualmente a carga de dados pro usuário.
Mais tarde posso arrumar um snippet pra te ajudar nisso. Que é possível, é, tenho certeza. Mas tenho que ver exatamente como fazer.
- O tópico ‘Mobile WP Não exibe conteúdo’ está fechado para novas respostas.