Suporte » Plugins » Página específica sem sidebar

  • Resolvido Gabi Ramalho

    (@gabi-ramalho)


    Gostaria de criar uma página específica no meu blog que não mostrasse a sidebar.
    Procurando por tutoriais na internet, vi que teria que criar um page template usando como molde o page.php, retirando o <?php get_sidebar(); ?> do código, mas acontece que o meu arquivo page.php já não possui esse código e mesmo assim mostra a sidebar.
    O que eu posso fazer?

Visualizando 15 respostas - 1 até 15 (de um total de 22)
  • Veja se o tema não tem um modelo sem lateral.

    Vá até o painel e clique para editar a página, do lado direito em Atributos, veja se não tem uma opção do tipo “Full width” etc, a maioria dos temas tem um modelo sem lateral.

    Se não tiver, tente criar o arquivo de modelo: http://codex.wordpress.org/pt-br:Modelos_de_P%C3%A1ginas

    Não, o tema não possui um modelo sem a lateral.
    Tentei fazer um page template sem o <?php get_sidebar(); ?> que achei em um blog mas ele continua mostrando a sidebar.

    O jeito é tentar criar um modelo do zero, tentando adicionar as estruturas do tema e loop. Tenta criar um com quase nada para ver se pelo menos está funcionando.

    Se mesmo assim a barra aparecer, talvez a área que aparece como lateral está em header.php ou footer.php, ou seja, sendo adicionado por outra função de tema que não get_sidebar.

    O header.php é o único arquivo que tem o get_sidebar.

    Gabi, você pode criar um condicional no header.php usando a função is_page() e então definir que a sidebar não seja mostrada para uma determinada página. Algo como:

    <?php
    
    // A função is_page() funciona com ID, título ou o slug da página
    if ( ! is_page( 'contato' )
        get_sidebar();
    
    ?>

    Jesus, nada dá certo D: estou quase desistindo haha

    Oi!

    Então, por isso que não está funcionando criar outro modelo, o autor colocou chamada de sidebar no header.

    Você tem que fazer outro header.php para usar no modelo (sobre get_header).

    Copia o arquivo header.php renomeando para header-full.php
    No header-full.php remove get_sidebar();
    Cria um modelo de pagina como você tinha feito mesmo, só que onde está get_header(); você muda para get_header('full')

    Agora tenta usar o modelo na página.

    Fiz tudo certinho e continua dando erro.
    Eu criei um arquivo chamado midiakit.php com os mesmos códigos do page.php só que com template name, pra diferenciar.
    No arquivo midiakit.php troquei o get_header(); por get_header('full'); e salvei.
    Criei uma página chamada Mídia Kit e nos atributos marquei o template Midia Kit.

    MAS CONTINUA DANDO ERRO u.ú

    Nessa página não aparece a sidebar, porém não está mostrando o conteúdo. Ela mostra o topo e o menu do blog e depois, em vez de aparecer a área dos posts/páginas, o topo começa a repetir.

    Gabi, não sei que erro deu no meu código, mas agora que percebi que faltava fechar os parênteses no condicional. Testa agora:

    <?php
    
    // A função is_page() funciona com ID, título ou o slug da página
    if ( ! is_page( 'contato' ) )
        get_sidebar();
    
    ?>

    Eduardo… nada certo huia
    A página não aparece, apenas o topo com o menu e o footer logo abaixo.

    Manda o código pra gente?

    Do header? Aqui está:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head profile="http://gmpg.org/xfn/11">
    
    <meta http-equiv="imagetoolbar" content="no"/>
    <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> » Blog Archive <?php } ?> <?php wp_title(); ?></title>
    
    <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats -->
    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
    <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
    <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
    <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
    <?php wp_get_archives('type=monthly&format=link'); ?>
    
    <script type="text/javascript" src="http://lissaamorim.com/deeply/midiakit/scripts/jquery.js"></script>
    <script type="text/javascript" src="http://lissaamorim.com/deeply/midiakit/scripts/jcarousel.js"></script>
    <script type="text/javascript">
    $(function(){
       $(".carosel").jCarouselLite({
         btnNext: ".next",
         btnPrev: ".prev",
         visible: 1,
         speed: 2000
       })
    })
    </script>
    
    <!--[if lte IE 6]>
    <style type="text/css">.posts {width: 414px;margin-right: -17px;}</style>
    <![endif]-->
    
    <link rel="shortcut icon" href="http://www.drikoti.net/Goodies/Favicons/Ico/09.ico" />
    
    <link href='http://fonts.googleapis.com/css?family=Monda:400,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    
    <?php wp_head(); ?>
    
    </head>
    <body>
    
    <div id="page">
    <div id="header">
    
    <div id="navigation">
    <ul id="nav"><li><a href="http://lissaamorim.com/deeply/">Início</a></li>
    <li><a href="http://lissaamorim.com/deeply/sobre/">Sobre</a></li>
    <li><a href="http://lissaamorim.com/deeply/extras">Extras</a></li>
    <li><a href="http://lissaamorim.com/deeply/blog/perguntas">Dúvidas</a></li>
    <li><a href="http://lissaamorim.com/deeply/blog/creditos">Créditos</a></li>
    <li><a href="http://feeds.feedburner.com/lissaamorim/HgKm">Feeds</a></li></ul>
    </div>
    
    </div>
    
    <div id="sidebar">
    <?php get_sidebar(); ?>
    </div>
    
    <div id="content">

    Ah o sidebar esta mesmo no header.php 🙁 Péssimo isso porque os mecanismos de busca podem indexar o sidebar antes do conteúdo…

    O que poso sugerir por enquanto é editar este header.php assim:

    onde está

    <div id="sidebar">
    <?php get_sidebar(); ?>
    </div>

    Substituir por

    <?php if ( !is_page( 'contato' ) ) : ?>
      <div id="sidebar">
      <?php get_sidebar(); ?>
      </div>
    <?php endif; ?>

    Onde contato é o nome/slug da página.

    É bom tentar padronizar o tema porque alguns plugins podem não funcionar. Instale o plugin Theme check para tentar adicionar pelo menos as funções e classes que os temas precisam.

    Não deu certo. Eu acho que ele carrega o conteúdo da página que eu quero mas fica atrás do topo e menu, pois quando está carregando a página aparece rapidamente o conteúdo mas depois some…

    Tenta remover essa sidebar do header.php e colocar dentro do seu page.php, logo após o conteúdo.

Visualizando 15 respostas - 1 até 15 (de um total de 22)
  • O tópico ‘Página específica sem sidebar’ está fechado para novas respostas.