Suporte » Outros assuntos » Como configurar a Página Inicial – Página Inicial personalizada

  • Resolvido evelise

    (@evelise)


    Título original: Página estática ao contrário!

    Olá pessoal!
    Eu estou com um super problema aqui:
    Defini uma página estática pro meu blog, porem ela não funciona nem com banda de música. O que acontece é que as propriedades que eu quero que ela tenha, ficam na página de posts… É como se a página de posts incorporasse as definicoes da página inicial….

    Confiram aqui: http://www.quintetopersch.com
    A página inicial só tem uma msg, e a pagina de posts (Noticias) tem as outras propriedades que eu havia definido para a inicial.

    Alguem sabe o que pode estar acontecendo?

    Beijos!

Visualizando 15 respostas - 1 até 15 (de um total de 21)
  • Myst1010

    (@myst1010)

    Vc poderia explicar como fez para configurar a sua página inicial?
    Talvez assim possamos achar o problema.

    Criador do tópico evelise

    (@evelise)

    HUmmm, bom não sei dizer bem se configurei minha página inicial! hehehe
    Mas eu criei as páginas, defini o menu.

    Aí no Leitura defini que seria uma página estática > uma inicial e uma de posts…
    É que eu tenho um arquivo index.php que tem outras divs, por isso ela é a inicial, mas não sei se é por aí que eu configur ou se é no arquivo home.

    Myst1010

    (@myst1010)

    É nesta página admin mesmo que vc configura sua página inicial.

    Vc pode também fazer um arquivo home.php personalizado, mas ai vc não poderá escolher uma página estática porque ela irá substituir suas personalizações da home.php

    Neste caso tente não escolher um página de posts, escolha só a página estática para ver se fica da forma que vc estava querendo.

    Não é obrigatório vc escolher uma página de posts, mas para uma boa navegação seria interessante então vc fazer uma home que desse links de navegação aos seus usuários, caso contrário, eles podem ficar perdidos para achar o conteúdo do seu site sem usar a busca.

    Criador do tópico evelise

    (@evelise)

    Então, entei utilizar a opção:
    1) Não ter o arquivo home.php e não definir a página de posts.
    Não funcionou.

    2) Criei o arquivo home.php com as divs que eu queria na inicial, defini a página estática e a página de posts.
    Não funciona mas me deixa intrigada: A página de posts fica com a aparência que eu defini para a incial pelo arquivo home.php.

    Dúvida: Qual é o arquivo que eu devo personalizar para ser usado como inicial? Index.php, Home.php ou Page.php? Eu sei que o page.php define as demais páginas do blog, já testei inclusive.

    O mais me intriga é que quando eu defino que vou ter uma página estática, o arquivo “index.php” praticamente perde a funcionalidade, pois ele não se aplica na página definida, ele apenas funciona quando eu não utilizo a opção de página estática, quando ele usa a página inicial do próprio tema Twenty ten.

    (Detalhe: quando eu defino que vou suar página estática, não tenho acesso à essa “sample page” que vem com o tema, então precisei criar outra página para defini-la como inicial).

    Visto isso, com a configuração de página estática e de posts definidos:
    Eu tentei colocar as características que eu queria como página inicial na index.php e na home.php. No arquivo index.php não funcionou em nenhuma página do site, e no arquivo home.php funciona pra página de posts..

    Estou bem confusa quanto à isso…

    Myst1010

    (@myst1010)

    A hierarquia de preferência dos arquivos é a seguinte.

    1) Página estática se definido.
    2) Home.php se existe.
    3) Index.php

    O que eu acho que pode estar acontecendo é que vc está definindo uma página estática que vc acha que está usando um determinado modelo, mas na verdade esta página está sendo gerada por outro modelo de arquivo.

    Aconteceu algo semelhante comigo e ficou complicado descobrir qual era o arquivo que estava sendo usado para que eu pudesse personalizar.

    Para eu descobri qual era o arquivo que o sistema estava usando eu colocava um texto <h2>Esta é a pagina index.php</h2> assim fica fácil descobrir qual é o arquivo que o sistema está usando, visto que na falta de algum arquivo ele usa outro.

    Sugiro vc remover qualquer página de página estática e página de post e depois fazer o truque acima para descobrir se o index.php está realmente sendo usado como página inicial.

    Se o arquivo index estiver sendo usado corretamente é só personalizar ele para ter sua página.

    Para uma página de suas postagens vc pode criar um modelo de página e criar uma página usando este modelo, depois seria só colocar no seu menu ou sidebar como um link para o visitante navegar.

    ===========================
    Extra tópico:

    Se vc estiver usando tags condicionais para carregar determinado arquivo tenha cuidado porque existe também uma hierarquia nas verificações.

    Exemplo
    Em uma verificação como a seguinte

    <?php } if (is_page()) { ?>
    Página normal
    <?php } elseif (is_page_template('template-galeria.php')) { ?>
    Página modelo para gerar uma galeria

    Neste exemplo o sistema nunca vai achar a página modelo galeria porque ele vai parar de procurar logo no is_page() já que ambos os modelos são página.

    Neste caso a busca por páginas personalizadas deve vir antes do is_page()

    Criador do tópico evelise

    (@evelise)

    Obrigada!

    Fiz o teste (sem utilizar a página estática) e descobri que realmente, quando tenho arquivo home.php é com esse arquivo que ele define a minha página inicial. Quando o deleto, ele utiliza o index.php para exibir a página inicial.

    Resultado:
    Sem página estática e com os arquivos home.php e index.php > ele utiliza o home.php para definir a página inicial.

    Com página estática e somente com arquivo index.php > ele utiliza o index.php para definir a página de posts.

    Com página estática e com os arquivos home.php e index.php > ele utiliza o home.php para definir a página de posts.

    ____________________________________________________________________

    Agora fiquei com a seguinte dúvida:
    Se ele está buscando os arquivos certos para definir a página inicial (primeiro home.php, e se não existir, busca o index.php), por que quando eu defino uma página inicial estática ele não aplica esses arquivos de maneira correta? Parece que ele interpreta como se a página de posts fosse a inicial, mas não é isso que está configurado!

    Abraços!

    Myst1010

    (@myst1010)

    pode ser por causa do tipo de loop que a página tem.

    Se a página escolhida tiver um query_posts esperando estar em uma página de categoria por exemplo, pode não funcionar como página home.

    Outra possível causa é o header.php estar passando algum parâmetro para o arquivo que viria logo abaixo esperando ser usado um home.php ou um index.php

    Mas quando se defini a página como estática a verificação precisa mudar ou incorporar a verificação is_front_page() porque ela deixa de ser reconhecida como home.

    Estou pra falar nisso desde do primeiro post que te respondi e sempre esqueço, esse seu tema está com um visual excelente heim, vc é quem está fazendo o design dele?

    Criador do tópico evelise

    (@evelise)

    Ai amigo! Mil perdões quanto à esta parte… eu sou nova no wordpress, inclusive vou comprar aquele livro WordPress 3 básico. Por que não entendo patavinas de php e tags 😐

    Apesar de já ter aprendido algumas coisas desde que comecei a fazer esse site.

    Obrigada, sim eu que desenvolvi o tema, sou designer, fiz faculdade de Design gráfico e me formei a 1 ano e meio mais ou menos… Trabalho bastante com web e vi o wordpress como uma ótima ferramenta para que eu possa trabalhar e desenvolver meus sites!

    Porém ainda sou meio arigó ¬¬

    Eu infelizmente não entendi muito bem o que eu devo fazer quanto à esse query_posts ou o is_front_page… :/ me desculpe!

    Eu posso colar meus códigos aqui, ajuda?

    Brigadão mais uma vez!

    Myst1010

    (@myst1010)

    Códigos devem ser postados em http://pastebin.com/ dai vc posta o link aqui para olharmos.

    Sobre o query_posts e is_front_page foi só uma tentativa de esclarecimento caso seu código tenha isso, possivelmente nem tenha, mas achei melhor comentar porque se tivesse vc poderia olhar para ver se era o causador do problema.

    1) loop é a forma que o Wp busca seus posts.

    2) O query_posts é uma personalização dos posts que virão dentro do loop.

    3) is_home() ou is_front_page() são verificações que podemos fazer para determinar em que página se encontramos.

    Exemplo:

    <?php if( is_home()){ ?>
      <h2>Texto somente visto se o usuário está na home do siste</h2>
    <?php } ?>
    
    <?php if ( is_home() || is_front_page() ) { ?>
      <h2>Outro Texto somente visto se o usuário está na home do siste ou na página estática configurada como home</h2>
    <?php } ?>

    Infelizmente não consigo reproduzir o mesmo erro que acontece ai com vc para entender que tipo de erro é este, já estou sem idéias do que pode ser o erro.

    Criador do tópico evelise

    (@evelise)

    Certo!
    Coloquei meus códigos lá, são eles:

    Arquivo index.php > http://pastebin.com/kA4xMVBz
    Arquivo home.php > http://pastebin.com/8YkL51zF
    Arquivo page.php > http://pastebin.com/vQKZ1E8W
    Arquivo loop.php > http://pastebin.com/pijtvsR7

    Espero que algum deles sirva!
    Precisa de algum outro?

    🙂

    Myst1010

    (@myst1010)

    Não sei se estou certo, mas creio que o erro venha do código

    get_template_part( 'loop', 'home' );

    ou similares a este.

    Não uso essa tag de modelo por não achar qualquer sentido para usá-la, então posso estar equivocado, mas neste caso vc deveria ter um arquivo loop-home.php em seu tema, vc tem este arquivo?

    Se não tiver creio que o sistema está usando o mesmo loop que usa no index

    Recomendo usar o velho e bom require ou include nativos do php no lugar disso, usar uma função para fazer a mesma coisa que uma função nativa do php não entra na minha cabeça.

    (Se alguém souber de uma boa razão para usar essa tag e não a função nativa do php eu agradeceria muito o esclarecimento)

    require(TEMPLATEPATH . '/loop-home.php');
    ou
    include(TEMPLATEPATH . '/loop-home.php');

    Menos confuso e simples de saber qual o arquivo que realmente está sendo inserido no corpo do seu tema.

    Além disso não vejo nenhum código que possa estar atrapalhando o funcionamento da página home.

    Notas sobre tema unificados

    O tema em questão não usa loops individuais em páginas, que é uma prática a ser abandonada.

    Em vez de ter um loop para cada página (e cada contexto), usa-se um arquivo com um loop só. Este arquivo não apenas contém esse loop mas também todas as verificações necessárias para saber o contexto e gerar a informação. Assim, pode ficar um arquivo bem grande e complexo, dependendo de como o autor do tema quer personalizar cada contexto.

    Depois, para acessar este arquivo, usa-se a função
    get_template_part( 'loop', 'home' );

    Onde loop é o nome do arquivo e home o contexto.

    Respondendo ao Myst1010, não sei ao certo, mas não se deve usar chamadas PHP (principalmente include e require) em arquivos do tema, então criaram esta função. Parece ter a ver com segurança, pode ser para simplificar ou tem a ver com que o recurso de se usar temas filhos.

    Respondendo a evelise, você pode criar um arquivo de modelo e usar a chamada:
    get_template_part( 'loop', 'template' );
    Ou abrir o arquivo loop.php e copiar o loop de lá (escolhendo o que mostrar, sem as condicionais.).

    Myst1010

    (@myst1010)

    Dianakc obrigado pelo esclarecimento e em minhas pesquisas não vejo muito a falar sobre a segurança infelizmente, assunto que eu gostaria que tratassem com mais frequência.

    Em questão do loop não acho que seja bom sempre que precisar de um loop carregar um arquivo grande com várias verificações para se usar uma pequena parte dele.

    Sobre os temas filhos eu não posso dizer nada pois não entendo por nunca ter me interessado.

    Bom eu ainda não vejo um motivo muito sustentável para se usar esta tag atualmente, espero que minhas idéias mudem com o tempo e que assuntos relacionados a isso saia daqui para frente.

    De qualquer forma obrigado pela atenção.

    Criador do tópico evelise

    (@evelise)

    Gente obrigada pelas respostas!

    Respondendo ao Myst: Eu não possuo o arquivo loop-home.php apenas o loop.php, loop-page.php, loop-single.php e loop-attachment.php.

    Eu criei o arquivo loop-home.php e coloquei o mesmo conteúdo do loop-page.php porém com as divs que eu queria para a página inicial, mas o problema é que ele interpreta esse arquivo para definir a página de notícias e não a inicial.

    Parece que ele não pega um arquivo específico para definir a página incial, ele está agindo como se a página de posts (notícias) fosse a página inicial…

    Respondendo à Dianakc: Respondendo a evelise, você pode criar um arquivo de modelo e usar a chamada:
    get_template_part( ‘loop’, ‘template’ );
    Ou abrir o arquivo loop.php e copiar o loop de lá (escolhendo o que mostrar, sem as condicionais.).

    Eu não entendi muito bem o que fazer aqui, poderias me explicar melhor? O que seria um arquivo de modelo?

    Obrigada!

    Myst1010

    (@myst1010)

    evelise vc está alterando uma cópia do tema padrão ou está alterando ele sem ter feito uma cópia?

    Pergunto isso porque seu tema pode estar sendo reconhecido como um tema filho que carrega arquivos de outro tema e como já mencionei não sei nada sobre isso.

    eu já estou sem idéias do que pode ser o problema.

    =================================
    Respondendo a pergunta que não foi pra mim (modo intrometido ligado) rsrsrs

    Um arquivo de modelo é um arquivo com código que será usado para apresentar seu conteúdo no site, seu arquivo page.php é um modelo de página, seu loop.home.php é uma modelo de arquivo que é usado para criar o loop e assim vai.

    O que a Diana sugeriu foi exatamente o que vc fez, que sabe-se lá porque não funciona no seu caso.

    No caso do seu arquivo loop.home.php que vc relatou acima a chamada para ele seria

    <?php get_template_part( ‘loop’ , ‘home’ ); ?>

    Caso vc não tenha feito a chamada desta forma faça isso sem configurar nenhuma página estática ou página de post para saber se o problema foi este.

    se vc chamou o arquivo desta forma e mesmo assim ele carregou um loop que não era o do arquivo loop.home.php, a única coisa provável é que seu tema está sendo filho do tema padrão e usando os arquivo dele de alguma forma.

    É a única explicação que eu tenho.

Visualizando 15 respostas - 1 até 15 (de um total de 21)
  • O tópico ‘Como configurar a Página Inicial – Página Inicial personalizada’ está fechado para novas respostas.