Suporte » Desenvolvendo com WordPress » Problema com single.php e page.php

  • Resolvido LastK

    (@lastk)


    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(); ?>

Visualizando 1 resposta (de um total de 1)
  • 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.

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Problema com single.php e page.php’ está fechado para novas respostas.