Ir para conteúdo

POWERED BY:

Arquivado

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

alessandro.connect

[Resolvido] Mostrar div caso exista imagem ! the_post_image

Recommended Posts

Ae galera ... seguinte!

No meu template coloquei uma mascara para exibir a imagem do post.

 

<div id="mask">
<?php the_post_image; ?>
</div>

 

Ai aparecia uma mascara certinho em volta da imagem do meu post. Até ai tudo bem. Mas quando não existia imagem no post.. ficava a minha mascara la por cima do texto. Então coloquei uma condição .

 

                   
<?php if ( function_exists('the_post_image') ) { ?>
<div id="mascara">
<?php } else { ?>
<div class="noimage">
</div><?php } ?>

 

Só que não aparece a mascara.

 

Resumindo ... quero uma condição que se existir imagem no post, ele mostra a div, caso não exista, ela não aparece.

A condição é para a div e não para o post.

 

Tenho urgência nisso, se puderem me dar uma mão ae. agradeço. Moderadorr????? da uma mão ae!

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

	<?php
						$imagem = get_post_custom_values("imagem"); <!-- puxa imagem de um campo personalizado-->
						if ( is_array($imagem) ) { ?>
							<img class="miniatura" src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo get_post_meta($post->ID, 'imagem',true) ?>&w=390&h=252&zc=1" alt="<?php the_title(); ?>" /> <!-- não precisa necessariamente utilizar timthumb, versão atual do wp da formas de usar miniaturas, é uma implemtanção antiga
-->						<?php }	else { ?>
							<img class="miniatura" src="<?php bloginfo('template_directory'); ?>/images/sem-imagem.jpg" alt="<?php the_title(); ?>" />
						<?php }	?>

Eu utilizo dessa forma, funciona.

Isso é mais voltado a PHP e não puro Wordpress.

Compartilhar este post


Link para o post
Compartilhar em outros sites

	<?php
						$imagem = get_post_custom_values("imagem"); <!-- puxa imagem de um campo personalizado-->
						if ( is_array($imagem) ) { ?>
							<img class="miniatura" src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo get_post_meta($post->ID, 'imagem',true) ?>&w=390&h=252&zc=1" alt="<?php the_title(); ?>" /> <!-- não precisa necessariamente utilizar timthumb, versão atual do wp da formas de usar miniaturas, é uma implemtanção antiga
-->						<?php }	else { ?>
							<img class="miniatura" src="<?php bloginfo('template_directory'); ?>/images/sem-imagem.jpg" alt="<?php the_title(); ?>" />
						<?php }	?>

Eu utilizo dessa forma, funciona.

Isso é mais voltado a PHP e não puro Wordpress.

 

Cara ... não funcionou ...

coloquei assim

 

<?php
						$imagem = get_post_custom_values("imagem");
						if ( is_array($imagem) ) { ?>
							<div id="mask">
-->						<?php }	else { ?>
							<div id="noimage">
						<?php }	?>
</div>

ta correto? No meu ver, "imagem" não puxa exatamente a imagem do post certo? Entenda, que é uma coisa automatica, quero que os posts, ja existentes carreguem dessa forma. Com a mascara em volta da imagem se existir imagem . E sem mascara se não existir imagem.

 

Cara por favor ... não ta claro ainda o que você passou.

 

editei umas 30 vezes jah uheaeuha

seguinte...

ó

 

                
        <?php
                                                $imagem = get_post_custom_values("imagem");
                                                if ( is_array($imagem) ) { ?>
                                                   <?php echo "ok" ;?>
                                           <?php } else { ?>
                                                  <?php echo "no" ;?>      
                                                <?php } ?>

traduzindo pro portugues neh... coloquei pra dizer "ok" quando existir imagem, e "no" pra quando nao existir, mas mesmo tendo a imagem o echo é sempre no.

 

Eai alguma idéia ... meow please.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido.

 

Bom pra galera que estiver com a mesma idéia ou algo semelhante que necessite essa técnica, abaixo segue a solução.

 

<?php
$content = $post->post_content;
$searchimages = '~<img [^>]* />~';

/*Run preg_match_all to grab all the images and save the results in $pics*/

preg_match_all( $searchimages, $content, $pics );

// Check to see if we have at least 1 image
$iNumberOfPics = count($pics[0]);

if ( $iNumberOfPics > 0 ) {
   echo "<div id=mask></div>";
}
else {
	echo "";
}
?>

O site fonte do código é esse: http://www.wprecipes.com/wordpress-tip-detect-if-a-post-has-at-least-one-image

 

 

Abraços ... qlq coisa add msn.

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.