Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leo Prado

background adaptável

Recommended Posts

Galera, estou com uma dificuldade e ficaria muito grato se alguém pudesse me dar uma luz.

Gostaria que um o título de um widget da barra lateral tivesse um background adaptável, mas não sei como implementar isso.
Esse título em questão é sempre alterado pois ele é um título do tipo "veja mais sobre o autor x". Ou seja, o nome que aparece aí, no lugar do "x", é o nome do autor do post.
Ou seja, eu preciso colocar um fundo que se adapte ao tamanho do nome pois, se o nome do autor for só "zé pedro" o tamanho será diferente de um "joaquim augusto pereira silva".
O código PHP em questão é esse aqui:
$orig_post = $post;
$authorID = get_the_author_meta( 'ID' );
$args=array('author' => $authorID , 'post__not_in' => array($post->ID), 'posts_per_page'=> $no_of_posts, 'no_found_rows' => 1 );
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) :
echo $before_widget;
echo $before_title;
printf( __( 'By %s', 'tie' ), get_the_author() );
echo $after_title; ?>
<ul>
Dá pra criar uma DIV (com o CSS do BG) e fazer ele aparecer aí, de forma adaptável.
Imagino que a linha principal desse código é:
printf( __( 'By %s', 'tie' ), get_the_author() );
Agradeço a ajuda desde já!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há duas questões relacionadas

 

1. COMO CHEGAR NA IMAGEM

Dependerá do sistema, pelo visto você tem um WP certo? Dá pra usar alguma solução de imagem ou pré-definir na estrutura de forma mais "gambiarra".

<?php

if($authorID==1){

$imagem = 'endereco_da_imagem/nome.jpg';

}

if($authorID==1){

$imagem = 'endereco_da_imagem/nome.jpg';

}

if($authorID==2){

$imagem = 'endereco_da_imagem/nome2.jpg';

}

if($authorID==3){

$imagem = 'endereco_da_imagem/nome3.jpg';

}

?>

 

 

 

2. COMO IMPRIMIR A IMAGEM

<div class="fundotitulo" style=" background: url('<?php echo $imagem; ?>.jpg') top center no-repeat; background-size: 100% auto;">

<h3>Titulo</h3>

<h4>sub</h4>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leo,

Você precisa fornecer um background: url(); para uma <div> e vai precisar definir isso via style dentro do HTML - Isso é necessário, pois você está chamando uma imagem via PHP e não será muito possível joga-la para o arquivo .css.

Veja um exemplo...
HTML:

<div class="name" style="background: url(<?= $imagem ?>) no-repeat center center">
   <p>Nome do Indivíduo</p>
</div> 

CSS:

.name {
   width: 300px; /* Você decide */
   height: auto; /* Necessário */
   background-size: cover; /* Pra alinhar a imagem */
   padding: 5px; /* Só por estilo mesmo */
} 

Se você quiser ver esse código funcionando, veja aqui a DEMO.

Obs.: Espero que entenda o porque utilizei <?= ?> ao invés de <?php echo ?>.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.