May 2010

WordPress

Thumbnail sem custom fields no WordPress

Finalmente um código que funciona e não precisa ficar digitando nada no custom field do seu post no wordpress, inclusive estou usando no blog.
Pra quem não sabe, esse código é pra mostrar uma miniatura da imagem no seu post. Se clicar em uma das tags ou categorias aqui no blog, verá um exemplo do que estou dizendo.

Obs: esse tutorial só funciona se você hospeda as imagens do seu post no seu próprio servidor, fazendo upload delas no painel do wordpress enquanto faz o post.

Salve o código abaixo no functions.php do seu tema:

/* thumbnails posts */
function the_thumb($size = "medium", $add = ""){
global $wpdb, $post;
$thumb = $wpdb->get_row("SELECT ID, post_title FROM {$wpdb->posts} WHERE post_parent = {$post->ID} AND post_mime_type LIKE 'image%' ORDER BY menu_order");
if(!empty($thumb)){
$image = image_downsize($thumb->ID, $size);
print "{$image[0]}";
}
else {
/*
altere o "images" para o nome da pasta de imagens do seu tema 
altere o "thumbnail.png" para o nome da imagem default caso o post não tenha imagens
*/
print get_bloginfo('template_directory')."/images/thumbnail.png";
}
}/* END thumbnails posts */

E no index.php do seu tema (ou no arquivo desejado, desde que seja onde tem o código que gera o post), adicione um dos código abaixo:

Pra usar o thumbnail que é gerado pelo próprio wordpress:

<img src="<?php the_thumb('thumbnail'); ?>" alt="" border="0" width="100" 
height="100"/>

E ainda no código acima você pode alterar a largura (100) e altura (100) para o que desejar. E se você quiser, pode usar a imagem “medium” ou “fullsize” gerada pelo wordpress. Só trocar o nome thumbnail no código acima por medium ou fullsize.

Esse código pega a primeira imagem do post, mas não necessariamente a imagem usada no post. É que quando você faz upload de imagens na hora que está postando, ele pega pela ordem de upload. E isso também significa que você não é obrigado a usar imagens pra que ela apareça ali. Só faz o upload dela enquanto estiver postando, mas não insere no post. E caso não tenha uma imagem, ele pega a default (altere a url no código que vai no functions.php).

Eu vi esse código no blog do Marcelo Mesquita e só adicionei no final do código o else pra mostrar uma imagem caso o post não tenha nenhuma.

WordPress

Arquivo functions.php no WordPress

Muitos não sabem, mas esse arquivo pode ser muito útil no seu tema wordpress.
Geralmente as pessoas usam quando quer colocar alguma função como: função de widgets, thumbnails nos posts, painel de opções do tema… e existem vários códigos que podem ser usado nele, que muitos acabam usando plugins por não saber disso, mas também talvez não saibam que plugins às vezes deixam o blog mais lento.

Se seu tema não tem o functions.php é só você criar ele.
Abra o bloco de notas, coloque o código abaixo e salve com o nome functions.php e coloque ele na pasta do seu tema:

<?php /* inicia */
/* finaliza */ ?>

Agora é só adicionar ali dentro o código com a função desejada.
Pode adicionar quantas funções quiser, só precisa ter cuidado com os if, elseif… alguns códigos podem estar mal feitos, o que acabam gerando erros. Então é sempre bom não sair adicionando tudo quanto é código que ver na internet (que é pra ser colocado no functions.php) sem testar eles. Geralmente eu adiciono um, vejo se está funcionando direito e depois eu adiciono outro… e por aí vai. Porque se algum tive erro, você saberá qual e pode deletar ele ou tentar encontrar o problema e resolver. Se você sair colocando tudo e algum tiver erro, pode dar problema no seu blog inteiro.

Abaixo segue um functions.php com a função de widgets adicionada e com a função que gera um limite de palavras quando é usado o código excerpts:

<?php /* inicia */

/* inicia sidebar */
function blog_widgets_init() {
//widget "Sidebar 1"
register_sidebar( array(
'name' => 'Sidebar 1',
'id' => 'sidebar-1',
'description' => 'Sidebar 1',
'before_widget' => ' <!--widget--><div id="%1$s" class="widget %2$s">',
'after_widget'  => '<div style="clear:both;"></div> </div><!--//widget--> ',
'before_title'  => '<h2 class="title">',
'after_title'   => '</h2> ',
) );
} //finaliza widget "Sidebar 1"
add_action( 'widgets_init', 'blog_widgets_init' );
/* finaliza sidebar */

/* inicia excerpt */
function new_excerpt_length($length) {
return 30;
}
add_filter('excerpt_length', 'new_excerpt_length');
/* fim excerpt */

/* finaliza */ ?>

No código acima, tem a função que ativa os widgets no seu tema, então se você for no painel de controle do seu wordpress em “appearance/widgets” verá que pode alterar seu sidebar por ali. Claro que no seu tema, onde é o sidebar, você precisa usar o seguinte código para que funcione mesmo quando seu blog for visualizado:

<?php /* sidebar 1 */ if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?>
<?php endif; /* fim sidebar 1 */ ?>

O outro código, de excerpts, é o que limita o tamanho do post pra ser mostrado, por exemplo, na sua página inicial.
Sabe quando entra em alguns blogs e tem só uma parte do post e você tem que clicar no título ou no leia mais pra ler ele todo? Então, esse código faz com que aquele pedaço de post que aparece tenha um limite e seja igual para todos. E claro, na sua página inicial você deleta essa parte:

<?php the_content("Read more &raquo;"); ?>

E coloca essa outra no lugar para que funcione o excerpt e com a função de limite:

<?php the_excerpt(); ?>

Pra você alterar o tamanho do post no excerpt, lá no functions.php, você altera o número 30 (do código excerpts) pra quantidade que desejar.

Isso é só um básico de pra que serve e como usar o functions.php que tem que está dentro da pasta do seu tema. Logo irei compartilhar com vocês alguns códigos que já usei ou testei, e que talvez gostem de alguns pra colocar no blog.

WordPress

Página de arquivos no WordPress

Muitos tem dificuldade de criar uma página arquivos no wordpress, mas não é um bicho de sete cabeças.

Abra o bloco de notas ou seu editor preferido e adicione o código abaixo:

<?php /* Template Name: Archives */ ?>
<?php get_header(); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="title"><?php the_title(); ?></div>
<div class="entry">
<h2>Últimos 20 posts</h2>
<ul><?php wp_get_archives('type=postbypost&limit=20&format=html'); ?></ul>
<div style="clear:both;"></div><br /><br />
<h2>Categorias</h2>
<?php wp_list_categories('show_count=1&title_li='); ?>
<div style="clear:both;"></div><br /><br />
<h2>Meses</h2>
<ul><?php wp_get_archives('type=monthly&show_post_count=1'); ?></ul>
<div style="clear:both;"></div><br /><br />
<h2>Anos</h2>
<ul><?php wp_get_archives('type=yearly&show_post_count=1'); ?></ul>
<div style="clear:both;"></div><br /><br />
<h2>Tags</h2>
<?php wp_tag_cloud('smallest=8&largest=16&orderby=name&number=10000'); ?>
<div style="clear:both;"></div><br />
</div>
<?php endwhile; ?>
<?php endif; ?>
<?php get_footer(); ?>

Configure o código acima de acordo com o seu css, salve ele com o nome page-archives.php e envie pra pasta do seu tema.
Depois entre no painel do wordpress, vá em “Pages / Add New“, crie uma nova página com o nome Arquivos, por exemplo, e em “Attributes” na opção “Template” selecione “Archives” e depois dê um Publish.

Pronto! Nem precisa escrever nada ali no campo de posts. Visualize a página e veja como ficou.

WordPress

O que é WordPress?

WordPress é uma plataforma de gerenciamento de conteúdo para web, bastante utilizado por blogs, mas que também pode ser usado para sites e portais.

O WordPress é escrito em PHP com banco de dados MySQL, por isso é recomendado um servidor que dê suporte a estes para melhor desempenho da plataforma.

Muitos não sabem mas existe o wordpress.com e o wordpress.org que apesar de usar a mesma plataforma não são exatamente a mesma coisa.

WordPress.com

  • O site foi criado por algumas pessoas que também trabalham no desenvolvimento da plataforma WordPress
  • A ideia do site é facilitar a criação de um blog e deixá-lo fácil de usar
  • Não há necessidade de um domínio
  • Não precisa pagar uma hospedagem
  • Para criar seu blog é só fazer um cadastro no site e começar a blogar
  • Você escolhe um dos temas disponíveis no painel do wordpress.com para usar no seu blog
  • Você não pode colocar plugins
  • Você não pode personalizar o tema como quiser

WordPress.org

  • É o site da plataforma WordPress
  • O WordPress é free, você não precisa pagar por ele
  • Você faz download do software e instala no seu site ou blog
  • Para instalar o software é necessário ter uma hospedagem e domínio
  • É recomendado uma hospedagem em servidor linux
  • Pode instalar os plugins que quiser, e quantos desejar
  • Pode instalar o tema que quiser, e quantos desejar
  • Pode personalizar a vontade os temas
  • Você atualiza o software quando tiver novas versões
  • Você atualiza os plugins e temas quando tiver novas versões

Aqui no Difluir trabalhamos apenas com o WordPress.org, simplesmente porque não tem o que ser feito no WordPress.com, já que não é possível personalizar.

Todos os temas do Difluir funcionam apenas com WordPress.org. Infelizmente não tem como instalar nenhum de nossos temas no WordPress.com.