Suporte » Desenvolvendo com WordPress » Topo(header) diferente somente no index como fazer?

  • Resolvido Luana Beatriz

    (@luana-beatriz)


    Olá a todos, uso wordpress há mais de 5 anos e nunca precisei postar aqui pois já encontrava meu problema na busca e em outros sites/blogs. Porém a minha duvida é a seguinte. Estou criando um site no wordpress e utilizo uma imagem grande de topo na header da index e quando eu vou para os posts e paginas eu queria que tivesse uma imagem topo diferente e mais pequena…

    Portanto sei que existe o query_post e query_pages… mas não quero ter que digitar os ids de todas as paginas e posts… será que tem um codegozinho pra determinar todos os posts e paginas? pra mim jogar como if no header e mudar no css?

    Aguardo reposta!

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • para esta verificação você pode usar o is_singular() para saber mais veja
    http://codex.wordpress.org/is_singular

    Criador do tópico Luana Beatriz

    (@luana-beatriz)

    eu tentei colocar assim:

    <?php
    if ( is_singular() ) :
    get_header(‘headar’);
    else :
    get_header();
    endif;
    ?>

    Headar é o arquivo do header que quero nas paginas single e page … porem nao funcionou…. alguma solução?

    Seu código está correto, mas para que ele funcione seu header personalizado precisa ter o nome de header-headar.php

    Talvés o nome do arquivo esteja errado, pois se colocar somente headar.php não irá funcionar

    OBS: Usei headar por que você usou, mas pode ser qualquer nome tendo sempre o header- na frente como nos exemplos a seguir

    header-primary.php
    header-single.php
    header-singular.php

    para saber mais sobre get_header veja
    http://codex.wordpress.org/get_header

    Criador do tópico Luana Beatriz

    (@luana-beatriz)

    vou tentar aqui edito quando der sucesso!

    Respondendo o que me veio pelo e-mail e não o que ficou aqui no tópico.

    Tem sim, é só fazer isso usando o código abaixo em seu header.php

    <?php $header_class = ( is_singular() ) ? "headar" : "header"; ?>
    <div class="all-header <?php echo $header_class; ?>">

    Talvez possa ser preciso mudar a ordem do “headar” e “header” dependendo da verificação que está querendo, mas é isso ai.

    Obs: caso tenha uma personalização igual para as duas class você pode usar a class extra all-header para não ficar repetindo código, mas esta class não é necessária de fato no código.

    Criador do tópico Luana Beatriz

    (@luana-beatriz)

    ainda nao tive sucesso 100%

    vou tentar mudar o esquema… tem jeito de colocar uma variavel do css para que no css mesmo le em tal pagina?

    por exemplo:

    body {
    backgroun:url(image);
    {

    .singular body {
    background:url(image1);
    }

    ???? tem como fazer assim? se tiver tem que mudar alguma coisa no php?

    Criador do tópico Luana Beatriz

    (@luana-beatriz)

    Resolvi =)

    Todos os codigos ai funcionou… portanto o que mais funcionou pra mim foi que eu mudei no css mesmo ficando assim:

    `#container {
    background: transparent url(‘../images/bg-container.jpg’) 50% 10px no-repeat;

    }

    .single #container {
    background: transparent url(‘../images/bg-container1.jpg’) 50% 10px no-repeat;

    }

    .page #container {
    background:transparent url(‘../images/bg-container2.jpg’) 50% 10px no-repeat;
    }

    Que bom que conseguiu.
    Se eu soubesse que estava usando o body_class() eu teria lhe explicado este método.

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Topo(header) diferente somente no index como fazer?’ está fechado para novas respostas.