Suporte » Temas » Alterar o titulo do post para uma imagem

  • Olá!

    Gostaria de saber se é possivel alterar o titulo de um post ou pagina para uma imagem.

    Por exemplo, na pagina Contato, quando se clicar nela, aparece o título “Contato” novamente, gostaria de alterar esse títuto para uma imagem personalizada, é possível?

    Att, Joles

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • Sim, basta editar o css com sua imagem para a tag do título que provavelmente é h2 e para que o texto não fique visível e sim a imagem use text-ident: -999em;

    Seria + ou menos assim

    HTML

    <h2 class="title">Título do post</h2>

    CSS

    h2.title{
       background-image: url(../images/title.png) no-repeat 0px 0px;
       text-indent:-999em;
    }

    Criador do tópico Jolessays

    (@jolessays)

    Olá Myst1010!

    Esse código entra no titulo do post/pagina ou no html geral do tema?

    Outra duvida, ali onde quotou o HTML, como insiro uma img nesse código? <h2 class=”title”>Título do post</h2>
    Do mesmo jeito que o CSS?

    Olá Jolessays.
    Os códigos acima foram só para exemplo, vou tentar explicar, mas vc terá que pegar a minha explicação para alterar para o seu tema, pois cada tema tem seu próprio código, então certamente estará diferente da minha explicação ok.

    ======================
    No código de suas páginas deve ter uma tag do WP assim <?php the_title();?>

    Essa tag é que gera o título dos posts, então o que vc tem que fazer é verificar qual tag está em volta dela para poder personalizar em seu style.css.

    Suponhamos que esteja assim.

    <h2 class="titulo-contato"><?php the_title();?></h2>

    Então para adicionar uma imagem no lugar do texto que é o título vá até o seu css no final dele e adicione isso.

    h2.titulo-contato{
    background: url(../images/imagem-do-titulo.png) no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Talves precise alterar o código para que a imagem fique certinha em seu tema, então vc pode alterar os valores 0px 0xp da linha que tem a imagem ou o padding: 5px 0px;

    No caso do padding não coloque valores assim -6px, mas na imagem para ajustar ela vc pode colocar -5px 5px ou -10px -20px ok.

    Se no seu código estiver somente

    <h2><?php the_title();?></h2>

    Adicione a class e personalize como descrito em seu css, caso já tenha uma class adicione uma outra com o nome para personalizar em seu css.

    Exemplo

    <h2 class="title sua-class-css"><?php the_title();?></h2>

    Espero que eu tenha me expressado corretamente, mas caso tenha dúvida posta ai que respondo conforme eu puder.

    Criador do tópico Jolessays

    (@jolessays)

    Oi, Myst1010!

    Entendi, eu acho. Vou tentar modificar, se eu conseguir, ou não, volto para comunicar 🙂

    Obrigada!

    Criador do tópico Jolessays

    (@jolessays)

    Voltei, Myst1010.
    está assim:

    <h1 class=”post-title super-heading”><?php the_title() ?></h1>

    Nesse caso, em que o meu está h1, eu mudo para:

    h1.post-title super-heading{
    background: url(../images/imagem-do-titulo.png) no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Para esclarecer o que eu quero/preciso (não sei se é possível):
    O site é esse: http://artnetdigital.com.br/2012/

    Tenho essas páginas, fora as outras como Clientes / Empresa / ETC, e gostaria que aqui nesse título de página entre uma imagem. Isso é possível.

    Se for esse mesmo caminho que me passou, preciso saber se esses códigos entram para cada página, ou se na edição das mesmas, aparece um campo para colocar a imagem de titulo.

    É isso. 🙂

    Agradeço a ajuda desde já

    Só para explicar mais um pouco, no seu caso o código deveria ser feito assim

    h1.post-title{
    background: url(../images/imagem-do-titulo.png) no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    como no título tem um espaço entre os nomes, então são duas class diferentes e vc só deve usar uma quando fizer seu código css
    post-title + super-heading

    ================================
    Mas como vc quer uma imagem diferente para cada página, sugiro vc adicionar uma nova class para cada título de cada página, assim vc poderá personalizar cada página com sua imagem.

    Então seguindo o que acabei de sugerir, deixei o título desta página assim, adicionando uma class especial para esta página.

    <h1 class="post-title super-heading title-page-contato"><?php the_title() ?></h1>

    e em seu css assim

    h1.title-page-contato{
    background: url(../images/imagem-do-titulo-para-contatos.png) no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Seguindo então esta idéia, sua página de clientes deve ficar assim

    <h1 class="post-title super-heading title-page-clientes"><?php the_title() ?></h1>

    e seu css adicione mais isso

    h1.title-page-clientes {
    background: url(../images/imagem-do-titulo-para-clientes.png) no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Repare agora só nos nomes das imagens dos códigos, vc terá que ter uma imagem distinta para cada título e criar o código com essa diferença para que cada página carregue corretamente a sua imagem ok.

    Criador do tópico Jolessays

    (@jolessays)

    Uma duvida, pode ser besta, ou sei lá: o primeiro código

    <h1 class=”post-title super-heading title-page-clientes”><?php the_title() ?></h1>

    eu coloco no page.php? e o segundo

    h1.title-page-clientes {
    background: url(../images/imagem-do-titulo-para-clientes.png) no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    no php geral? porque quando eu coloquei os dois no page.php não deu certo (ficou com esse segundo código aparecendo), já no php geral (style.css) ele não aparece, some. Pode ser o tamanho da imagem?

    E para cada página diferente, copio o primeiro código mas mudo o nome das páginas, correto?

    Desculpa continuar com dúvidas :T

    Não se preocupe em ficar com dúvidas, é assim mesmo.

    E me desculpe, cometi um erro em minha explicação, pois suas páginas são feitas com o mesmo arquivo page.php, então as classes css em seus títulos devem ser inseridas dinamicamente para que em cada página tenha uma class diferente e eu tinha me esquecido disso.

    Então vamos as correções e explicações.
    Em seu arquivo page.php coloque o seu título assim

    <h1 class="post-title super-heading title-page-<?php echo sanitize_title( get_the_title() ); ?>"><?php the_title() ?></h1>
    Isso criará uma class assim title-page-contato.

    Se seu título for quem somos por exemplo, irá criar uma class assim title-page-quem-somos

    ========================
    Agora em seu arquivo style.css vc coloca

    h1.title-page-contato {
    background: url(../images/imagem-do-titulo-para-contatos.png)no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Um código vai no page.php e o outro no style.css
    Depois para personalizar as demais páginas vc só terá que adicionar o código css em seu arquivo style.css alterando o nome a class para o título que vc está usando e alterando a imagem como nos exemplos abaixo.

    Para a página Quem somos

    h1.title-page-quem-somos {
    background: url(../images/imagem-do-titulo-para-quem-somos.png)no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Para a página clientes

    h1.title-page-clientes {
    background: url(../images/imagem-do-titulo-para-clientes.png)no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Para a página ETC

    h1.title-page-etc {
    background: url(../images/imagem-do-titulo-para-etc.png)no-repeat 0px 0px;
    display:block;
    padding:5px 0px;
    text-indent:-999em;
    }

    Repare que os títulos podem ter espaços e Letras maiúsculas, mas as classes css serão geradas todas com letras minúsculas, com um – no lugar dos espaços e totalmente sem acentos.

    Então veja os nomes que podem ter e como serão convertidos para as classes css.

    Nome = Class
    Portfólio = title-page-portifolio
    Quem Somos = title-page-quem-somos
    ETC = title-page-etc
    Clientes = title-page-clientes

    Se ainda ficar qualquer dúvida ou tiver problemas para acertar as imagens em seu lugar corretamente, entre em contato comigo que em meu tempo não muito livre kkkkkk lhe ajudo como puder.

    [E-mail removido por um moderador]

    Criador do tópico Jolessays

    (@jolessays)

    Olá Myst1010!

    Tudo bem?

    Bem, segui o seu passo a passo, mas bem, ou eu que sou muito bburra, ou eu que sou muito burra, hah

    Vamos lá:

    Na page.php eu substitui o codigo anterior por esse:

    <h1 class=”post-title super-heading title-page-<?php echo sanitize_title( get_the_title() ); ?>”><?php the_title() ?></h1>

    onde está -PAGE- eu substituo pelo nome de cada página? Ficando um atrás do outro no código? ou não?

    já lá no style.css eu inseri no final dos códigos, e em cada um coloquei o link da imagem que iria substituir, mas nada acontece.

    tentei mandar por email, mas o gmail avisou que falhou, disse que não existe :T

    O burrinho aqui não soube escrever o próprio e-mail kkkkkk

    o e-mail correto é [E-mail removido por um moderador] e prosseguimos por e-mail que ai vou formulando os códigos pelo seu código fonte e lhe passo já praticamente correto.

    Para adiantar, só peço que coloque em seu arquivo page o código assim como está aqui abaixo, sem alterar nada mais ok.
    <h1 class="post-title super-heading title-page-<?php echo sanitize_title( get_the_title() ); ?>"><?php the_title() ?></h1>
    E em eu e-mail me passa as urls das imagens de cada título que assim que eu puder já faço as verificações e lhe passo o código.

    Criador do tópico Jolessays

    (@jolessays)

    Após muitas conversas, deu certo!

    o código fica assim:

    h1.title-page-contato{
    background: url(“http://link-direto-da-imagem.png&#8221;) no-repeat scroll 0 0 transparent;
    display: block;
    height: 101px;
    padding: 0;
    text-indent: -999em;
    }

    Muito obrigada Myst, deu tudo certo e vc merece uma estatueta sua numa praça por isso 😉

    {tomei a liberdade de passar aqui o código correto que me passou, caso haja mais alguém com essa duvida, espero que não tenha problema]

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘Alterar o titulo do post para uma imagem’ está fechado para novas respostas.