Problema com single.php e page.php
-
Olá, eu estou construindo um portal em wordpress e estou com o seguinte problema.
A minha sidebar fica do lado direito da página, e nela existem alguns boxes com conteúdo do wordpress… alguns boxes chamam posts de categorias específicas no wordpress.
E então quando construo a page.php e a single.php da erro por conta desses boxs com posts php. Só tirando eles do código pra funcionar, no single.php ainda da pra colocar uma ganbiarra mas no page.php nem isso.
O erro é que em vez dele rodar o post/página que estou tentando abrir, ele aparece é o conteúdo do ultimo box da sidebar.
sidebar.php
<div id="left"> <div id="login"> <h1 class="box">Área de Membros</h1> <?php include "login.php";?> </div><!-- end login --> <div id="proximos-jogos"> <h1 class="box">Próximos Jogos</h1> <?php query_posts('showposts=1&cat=3');?> <?php if (have_posts()): while (have_posts()) : the_post();?> <div id="mandante"> <img src="<?php echo get_option('home');?>/<?php $key="escudo-mandante";echo get_post_meta($post->ID,$key,true);?>"> </div><!-- end mandante --> <div id="visitante"> <img src="<?php echo get_option('home');?>/<?php $key="escudo-visitante";echo get_post_meta($post->ID,$key,true);?>"> </div><!-- end visitante --> <div id="mandante-nome"> <p class="jogo"><?php $key="nome-mandante";echo get_post_meta($post->ID,$key,true);?></p> </div><!-- end mandante-nome --> <div id="visitante-nome"> <p class="jogo"><?php $key="nome-visitante";echo get_post_meta($post->ID,$key,true);?></p> </div><!-- end visitante-nome --> <div class="clearfix"></div> <div id="jogo-descricao"> <p><?php the_content();?></p> </div><!-- end jogo-descricao --> <?php endwhile; else: ?> <?php endif;?> </div><!-- end proximos-jogos --> <div id="videos"> <h1 class="box">Vídeo da Semana</h1> <?php query_posts('showposts=1&cat=4');?> <?php if (have_posts()): while (have_posts()) : the_post();?> <div id="video-semana"> <a href="<?php $key="link-youtube-video";echo get_post_meta($post->ID,$key,true);?>" rel="prettyPhoto" title=""><img src="<?php echo get_option('home');?>/<?php $key="imagem-video";echo get_post_meta($post->ID,$key,true);?>" alt="YouTube"/></a> </div> <?php endwhile; else: ?> <?php endif;?> </div><!-- end videos --> </div><!-- end left -->
single.php
<?php /** * @package WordPress * @subpackage NossoSport_Theme */ get_header(); ?> <?php get_sidebar(); ?> <div id="conteudo-post"> <?php query_posts('showposts=1&cat=-3,-4');?> <?php if (have_posts()): while (have_posts()) : the_post();?> <h1 class="box"><?php the_title();?></h1> <p class="small">Publicado por <span class="autor">Fausto Neto</span> em <?php the_time('j M Y');?> às <?php the_time('G:i');?></p> <div class="content"><?php the_content(); ?></div> <?php endwhile; else: ?> <?php endif;?> <p class="tags"> <?php the_tags(__('Tags: ', 'kubrick') . ' ', ', ', '<br />'); ?> <?php printf(__('Categorias: %s', 'kubrick'), get_the_category_list(', ')); ?><br /> <?php edit_post_link(__('Editar', 'kubrick')); ?> </p> <div id="publicidade"> <div id="publicidade-img"><?php if(function_exists('mba_display_zone')) mba_display_zone(7);?></div> </div><!-- end publicidade --> </div><!-- end conteudo-post --> <?php get_footer(); ?>
notem a gambiarra “<?php query_posts(‘showposts=1&cat=-3,-4’);?>”. Faz funcionar no single.php, mas no page.php ele não funciona.
page.php
<?php /** * @package WordPress * @subpackage NossoSport_Theme */ get_header(); ?> <?php get_sidebar(); ?> <div id="conteudo-post"> <?php if (have_posts()): while (have_posts()) : the_post();?> <h1 class="box"><?php the_title();?></h1> <p class="small">Publicado por <span class="autor">Fausto Neto</span> em <?php the_time('j M Y');?> às <?php the_time('G:i');?></p> <div class="content"><?php the_content(); ?></div> <?php endwhile; else: ?> <?php endif;?> <p class="tags"> <?php the_tags(__('Tags: ', 'kubrick') . ' ', ', ', '<br />'); ?><br /> <?php edit_post_link(__('Editar', 'kubrick')); ?> </p> <div id="publicidade"> <div id="publicidade-img"><?php if(function_exists('mba_display_zone')) mba_display_zone(7);?></div> </div><!-- end publicidade --> </div><!-- end conteudo-post --> <?php get_footer(); ?>
-
Putz, esse fórum me dá sorte.
Consegui resolver.Para quem tiver o mesmo problema, basta colocar o código da sidebar depois do conteúdo. Para continuar no mesmo lugar voce aplica um float:right no conteudo e um float:left na sidebar.
- O tópico ‘Problema com single.php e page.php’ está fechado para novas respostas.