← Desenvolvimento

wordpress custom field

Lida 2220 vezes

Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Pessoal, estou com dificuldade aqui com um custom field.

www.iphoneportugal.com

De lado, em jogos, queria que o texto ficasse lado-a-lado com a imagem, tal como acontece nos posts. Já tentei o float:left apenas na imagem e funciona mas apenas com uma imagem.

o código é este:

Código: [Seleccione]
<br>
<?php
$rand_posts 
get_posts('numberposts=3&category=23');
foreach( 
$rand_posts as $post ):?>

<div id="esquerdino">
<?php $thumb get_post_meta($post->ID'jogos' $single true); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="crop/crop.php?h=80&w=80&f=<?php echo $thumb?>" /></a>
<?php $titulo get_the_title($post->ID'jogos' $single true); 
echo 
$titulo;?>


</div>
<?php endforeach; ?>


Além do título, alguém me sabe dizer como inserir um excerto da notícia?

Tentei mas o mesmo excerto aparece igual nas 3 notícias.
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Mas a imagem está ao lado do texto, pelo menos aqui...



Quanto à segunda parte da questão, é específico do Wordpress, talvez alguém mais habituado a mexer em Wordpress te saiba responder.
Offline

Diogo Pinto 
Administrador
Mensagens 4400 Gostos 371
Feedback +4

Troféus totais: 37
Trófeus: (Ver todos)
Avatar Search Level 6 Linux User Mobile User Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes

Para a segunda parte, basta utilizares o the_excerpt();. Vê no codex ;)
Offline

Souza 
Elite
Mensagens 1816 Gostos 1
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Mas isso não fez com que os excertos fossem relativos a cada notícia, utilizei esse mesmo código DiguiVirus, o excerto era igual em todas as notícias.

iceburn, nao é relativo a esse custom, estava de lado mas como estava desfigurado, tive de retirar...

Tipo, o que eu queria é o mesmo que acontece no post, mas com menos texto (Excerto) e com posts da categoria jogos.
Offline

Diogo Pinto 
Administrador
Mensagens 4400 Gostos 371
Feedback +4

Troféus totais: 37
Trófeus: (Ver todos)
Avatar Search Level 6 Linux User Mobile User Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes

souza, esse código está uma confusão... Depois pede-me um que eu faço-te, agora não tenho mt tempo ;)
Offline

Ricardo75 
Membro
Mensagens 1660 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Vou-te deixar o código que estou a usar num tema que estou a construir:

Tenho isto no functions.php para limitar o "title" e o "excerpt"
Código: [Seleccione]
// http://bavotasan.com/tutorials/limiting-the-number-of-words-in-your-excerpt-or-content-in-wordpress/
// INÍCIO: Limite ao title por caracteres
  function short_title($num) { 
    $limit = $num+1; 
    $title = str_split(get_the_title());
    $length = count($title);
    if ($length>=$num) {
      $title = array_slice( $title, 0, $num); 
      $title = implode("",$title)."..."; 
      echo $title; 
    } else {
      the_title();
    }
  }
  //
// FIM: Limite ao title por caracteres

//
// INÍCIO: Limite ao excerpt por caracteres
    function short_excerpt($num) { 
    $limit = $num+1; 
    $shortexcerpt = str_split(get_the_excerpt());
    $length = count($shortexcerpt);
    if ($length>=$num) {
      $shortexcerpt = array_slice( $shortexcerpt, 0, $num); 
      $shortexcerpt = implode("",$shortexcerpt)."..."; 
      echo $shortexcerpt; 
    } else {
      the_excerpt();
    }
  }
//
// FIM: Limite ao excerpt por caracteres

E tenho isto para criar o thumbnail: http://www.maistrafego.pt/wordpress-thumbnails-automaticos-custom-fields-plugins


No tema uso isto:
Código: [Seleccione]
<div class="headlines">
    <?php query_posts('caller_get_posts=1&orderby=rand&posts_per_page=10&cat=5'); 
      if ( 
have_posts() ) : while ( have_posts() ) : the_post();
    
?>

    <div class="headline-entry clr">
      <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
        <img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php getImage('1'); ?>&amp;w=50&amp;h=40&amp;zc=1" alt="<?php the_title(); ?>" class="alignleft" />
      </a>
      <h1><a href="<?php the_permalink() ?>"><?php echo short_title(15); ?></a></h1>
      <?php echo short_excerpt(30); ?>
    </div>
    <?php endwhile; else: ?>
    <p>Não foi encontrado nada</p>
    <?php endif; wp_reset_query(); //Reset Query ?>
</div>
Acho que é relativamente simples de perceber:
<?php short_title(15); ?> mostra o título, entre parênteses limitas o tamanho do titulo por caracter
<?php echo short_excerpt(30); ?> mostra o excerto, entre parênteses limitas o tamanho do excerto por caracter

No teu caso também podes substituir o <h1> do título por <li> por exemplo (não esqueças de abrir o <ul> também), no meu caso convém que seja h1.

O único senão é que caso o post não tenha imagem vai aparecer, no IE, o símbolo da falta de imagem, nos outros não aparece e dá para contornar com css, ainda que vá criar um erro 404 para a imagem. Ainda não procurei solução para isso, mas se usas sempre imagem este problema não se coloca.

Vê lá se serve para o que queres, eu ainda não experimentei isto em produção, mas pelos testes tem funcionado a 100%. Já agora, se alguém encontrar alguma coisa que não esteja bem dê uma apitadela :D