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
-
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; }
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.
Oi, Myst1010!
Entendi, eu acho. Vou tentar modificar, se eu conseguir, ou não, volto para comunicar 🙂
Obrigada!
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.
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 colocah1.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-clientesSe 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]
- Esta resposta foi modificada 7 anos, 3 meses atrás por Claudio Sanches.
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.- Esta resposta foi modificada 7 anos, 3 meses atrás por Claudio Sanches.
Após muitas conversas, deu certo!
o código fica assim:
h1.title-page-contato{
background: url(“http://link-direto-da-imagem.png”) 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]
- O tópico ‘Alterar o titulo do post para uma imagem’ está fechado para novas respostas.