• Isaac Borges

    (@isaac-borges)


    Olá pessoal estou com um problema que tá me enchendo o saco, na page eu preciso que seja exibido um banner, que será puxado por uma categoria, mas acontece que ao colocar o código o site exibi o conteudo da categoria no lugar certo mas omite o conteúdo da página. o código está abaixo:

    <!-- aqui dá o include para o header--->
    <?php include (TEMPLATEPATH . '/header_page.php'); ?>
    
                		<div id="page_content">
                          <div id="banner_central">
    
    <ul>
    <li>
    <?php if (have_posts()): while (have_posts()) : the_post();?>
    <?php query_posts('showposts=1&category_name=banner1&offset=0');?>
    <?php the_content();?>
                            <?php endwhile; else:?>
                            <?php endif;?>
    
    </li>
    </ul>
                </div><!-- fim da banner central-->
    
                        <div id="page_conteudo">
                        <?php if (have_posts()): while (have_posts()) : the_post();?>
                        <?php query_posts('showposts=1&category_name=banner1&offset=0');?>
    
    						<h1 class="titulo"><?php the_title();?></h1>
    
                              <?php the_content();?>
                            <?php endwhile; else:?>
                        <?php endif;?>
    
                            </div><!-- fim da the contente-->
    
    <div id="sidebar_page">
    sidebar_page
    </div><!-- fim da sidebar_page --->
    
                        </div><!--fim da page conteudo--->
    
                        </div>
    
                        </div><!-- fim da content_page--->
    
                       <?php get_footer();?>
Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • 1. Não use include ou require em arquivos, use get_template_part().

    2. Não se deve usar 2 query_post na mesma página, use get_posts(). Para evitar erros de paginação etc toda ve que for obter posts use o get_posts().
    http://www.guiawp.com.br/codex/get_posts/

    Seja Bem-vindo ao fórumLeia as Regras e aproveite

    Criador do tópico Isaac Borges

    (@isaac-borges)

    Diana, eu tentei seguir sua dica, mas ou não deu certo eu não sei como usar ela, eu acho que a segunda, kkk, mas se tiver uma outra dica manda ai pq to precisando muiiiitoooo.

    Em vez de

    <?php include (TEMPLATEPATH . '/header_page.php'); ?>

    Use:

    <?php get_template_part('header_page','header') ?>

    Para mostrar o banner, use get_posts(), não use duas query_posts:

    <div id="banner_central"><!-- inicio da banner central-->
    
    <ul>
      <?php
         global $post;
    
         $args = array( 'showposts' => 1, 'offset'=> 1, 'category_name' => 'banner1', 'offset' => '0');
         $posts = get_posts( $args );
    
      foreach( $posts as $post ) :	setup_postdata($post); ?>
      	<li><?php the_content(); ?></li>
      <?php endforeach; ?>
    </ul>
    
    </div><!-- fim da banner central-->
    Criador do tópico Isaac Borges

    (@isaac-borges)

    Nada copie o código sugerido mas nada, o conteudo da categoria banner ainda continua aparecendo no lugar do conteudo da page: Olha como ficou o código:

    <!-- aqui dá o include para o header--->
    <?php get_template_part('header_page','header') ?>
    
                <div id="banner_central"><!-- inicio da banner central-->
    
    <ul>
      <?php
         global $post;
    
         $args = array( 'showposts' => 1, 'offset'=> 1, 'category_name' => 'banner1', 'offset' => '0');
         $posts = get_posts( $args );
    
      foreach( $posts as $post ) :	setup_postdata($post); ?>
    
    <li><?php the_content(); ?></li>
      <?php endforeach; ?>
    </ul>
    </div><!-- fim da banner central-->
    
                		<div id="page_content">
    
                        <div id="page_conteudo">
    
                        <?php if (have_posts()): while (have_posts()) : the_post();?>
    
    						<h1 class="titulo"><?php the_title();?></h1>
    
                              <?php the_content();?>
                            <?php endwhile; else:?>
                        <?php endif;?>
    
                            </div><!-- fim da the contente-->
    
                        </div><!--fim da page conteudo--->
    
                        </div>
    
                        </div><!-- fim da content_page--->
    
                       <?php get_footer();?>

    Preciso resolver isso só tá faltando isso pra resolver meus problemas…

    Vamos por partes:

    • Qual o nome do arquivo que está este codigo?
    • Para que serve header_page.php?
    • O banner deve aparecer em posts e listagens da categoria?
    • Use o plugin Theme Check para encontrar problemas no tema como a falta de funções obrigatórias.
    Criador do tópico Isaac Borges

    (@isaac-borges)

    Oi Diana, obrigado em tentar me ajudar, olha só o arquivo é a page.php, o include header_page.php é que pensei em uma saída, tipo importar outro header para page, mas também não deu certo.
    ————————————————————//————
    Olha só o que preciso, eu tenho uma categoria chamada Banner1 que fica abaixo do menu e preciso que este banner apareça em todas as páginas do site. Só que na page.php quando coloco o código para puxar o banner da categoria, ele tira o conteúdo da page, ou ela aparece em branco (só o banner aparece).

    E já tentei de tudo o que vc pensar… por favor continue me ajudando pois preciso achar a solução rápido.

    Criador do tópico Isaac Borges

    (@isaac-borges)

    Diana descobri uma coisa, eu percebi que se eu pegar o código e colocar abaixo de tudo ele funciona perfeitamente, o problema é que o banner tem que ficar em cima e não em baixo.

    Acho que o tema está com problemas do tipo não ter as funções que definem as partes do conteúdo, não use o include/require porque causa este tipo de coisa também.

    Ex.:

    Após </header> (no header.php )tem que existir:

    <?php wp_head(); ?>

    No footer.php antes de </body>:

    <?php wp_footer(); ?>

    Veja o que o plugin Theme Check encontra de erros no tema.

    O arquivo header_page.php contém os códigos dos banners?

    Criador do tópico Isaac Borges

    (@isaac-borges)

    não o código está na page.php

    Olha como está;

    <!-- aqui dá o include para o header--->
    <?php get_template_part('header_page','header') ?>
    
                <div id="banner_central">
    
    <ul>
    <li><!--primeiro da banner 2--->
                                    <?php query_posts('showposts=1&category_name=banner1&offset=0');?>
                                    <?php if (have_posts()): while (have_posts()) : the_post();?>
    
                                    <?php the_content();?>
    
                                    <?php endwhile; else:?>
    						        <?php endif;?>
                                        </li>
    </ul>
                </div><!-- fim da banner central-->
    
                		<div id="page_content">
    
                        <div id="page_conteudo">
    
                        <?php if (have_posts()): while (have_posts()) : the_post();?>
    
    						<h1 class="titulo"><?php the_title();?></h1>
    
                              <?php the_content();?>
                            <?php endwhile; else:?>
                        <?php endif;?>
    
                            </div><!-- fim da the contente-->
    
    <div id="sidebar_page">
    <?php get_sidebar();?>
    </div><!-- fim da sidebar_page --->
    
                        </div><!--fim da page conteudo--->
    
                        </div>
    
                        </div><!-- fim da content_page--->
    
                       <?php get_footer();?>

    por favor ajuda ai

    Criador do tópico Isaac Borges

    (@isaac-borges)

    chequei os códigos

    Após </header> (no header.php )tem que existir:
    <?php wp_head(); ?>
    No footer.php antes de </body>:
    <?php wp_footer(); ?>

    tá tudo certo nesta parte.

    Não sei se é isso, mas tinhas duas DIVs sem fechamento, veja agora:

    <?php get_template_part('header_page','header') ?>
    
       <div id="banner_central"><!-- inicio da banner central-->
    
           <?php
           global $post;
           $args = array( 'showposts' => 1, 'offset'=> 1, 'category_name' => 'banner1', 'offset' => '0');
           $posts = get_posts( $args );
    
           foreach( $posts as $post ) :	setup_postdata($post); ?>
    
           <?php the_content(); ?>
           <?php endforeach; ?>
    
       </div><!-- fim da banner central-->
    
    <div id="page_content">
    <div id="page_conteudo">
    
    <?php if (have_posts()): while (have_posts()) : the_post();?>
    
    <h1 class="titulo"><?php the_title();?></h1>
    
    <?php the_content();?>
    <?php endwhile; else:?>
    <?php endif;?>
    
    </div><!-- page_content-->
    
    </div><!--page_conteudo--->
    
    <?php get_footer();?>
Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘Mostrar banner a partir de arquivo omite conteúdo da página’ está fechado para novas respostas.