Que nós adoramos o WordPress, você provavelmente já sabia. No entanto, nem todos os usuários do WordPress se sentem confortáveis em editar seus blogs e/ou construírem códigos interessantes que melhorem as funcionalidades de seus blogs. No entanto, e conforme já mostramos em outros Tutoriais WordPress, existem pequenos truques e dicas para podem ajudá-lo a aumentar o nível de funcionalidade do seu blog facilmente através do ficheiro functions.php, o ficheiro que rege as funcionalidades do seu WordPress. Alguns Temas WordPress já incluem algumas destas funcionalidades, enquanto que muitos outros não incluem nenhuma delas.

Se está interessado em tornar suas páginas e artigos mais funcionais e principalmente únicos e diferentes dos seus concorrentes, estes novos truques podem dar-lhe uma ajuda incrível nesse sentido. Os truques de hoje têm como objetivo melhorar sua área de artigos em seu blog WordPress, com o intuito de melhorar a experiência de seus usuários e a usabilidade de seu blog.

wordpress

1. AUMENTAR DIMENSÃO DO EXCERTO DE ARTIGOS

Este truque permite-lhe modificar a dimensão do excertos de seus artigos na homepage do seu blog, o qual você poderá modificar a seu belo prazer. Copie e cole o código para dentro do ficheiro functions.php do seu template, e modifique o valor 75 para um outro que mais lhe agrade. Esse valor representa o número de carateres.

add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($len) { return 75; }

2. DATAS EM ESTILO TWITTER

A grande maioria das pessoas não faz ideia de que o WordPress tem uma função nativa para mostrar as datas das postagens num formato idêntico ao do Twitter, do tipo “Há 2 minutos atrás”. Este truque permite-lhe implementar esse estilo de datas em seus artigos, devendo ser substituido pelo sistema de datas que tem atualmente em seus artigos, no ficheiro single.php.

Publicado <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' atrás';

3. MOSTRAR THUMBNAILS DOS ARTIGOS NOS RSS FEEDS

A funcionalidade the_post_thumbnail() introduzida no WordPress 2.9, é extremamente útil para mostrar os thumbnails (miniaturas) de imagens anexadas aos seus artigos. Infelizmente não existe nenhuma função nativa para mostrar os thumbnails nos RSS feed de um blog WordPress, pelo que teremos de usar um pequeno truque para conseguir fazê-lo. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template, guarde-o, e os thumbnails dos seus artigos irão começar a aparecer no seu RSS feed.

// show post thumbnails in feeds
function diw_post_thumbnail_feeds($content) {	global $post;	if(has_post_thumbnail($post->ID)) {		$content = '<div>' . get_the_post_thumbnail($post->ID) . '</div>' . $content;	}	return $content;}add_filter('the_excerpt_rss', 'diw_post_thumbnail_feeds');add_filter('the_content_feed', 'diw_post_thumbnail_feeds');

4. LIMITAR A PESQUISA APENAS A TÍTULOS DE ARTIGOS

Você pode adicionar este código ao seu ficheiro functions.php para limitar a pesquisa interna do seu blog apenas a títulos de artigos.

function __search_by_title_only( $search, &$wp_query )
  {
      if ( empty($search) )
      return $search; // skip processing - no search term in query
      $q =& $wp_query->query_vars;

      // wp-includes/query.php line 2128 (version 3.1)
      $n = !empty($q['exact']) ? '' : '%';
      $searchand = '';
      foreach( (array) $q['search_terms'] as $term ) {
      $term = esc_sql( like_escape( $term ) );
      $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
      $searchand = ' AND ';
  }
  $term = esc_sql( like_escape( $q['s'] ) );
  if ( empty($q['sentence']) && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] )
  $search .= " OR ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
  if ( !empty($search) ) {
      $search = " AND ({$search}) ";
      if ( !is_user_logged_in() )
          $search .= " AND ($wpdb->posts.post_password = '') ";
      }
      return $search;
  }
add_filter( 'posts_search', '__search_by_title_only', 10, 2 );

5. MOSTRAR UM NÚMERO INCREMENTADO EM CADA ARTIGO

Este truque permite-lhe mostrar um número incrementado em cada um dos seus artigos, e a sua implementação é muito simples. Caso não saiba para que isto serve, imagine que você gostaria de colocar em seu blog o número correspondente de cada artigo, sendo que esse número fosse incrementando automaticamente sempre que você fazia um novo artigo? Primeiro, copie e cole o seguinte código para o ficheiro functions.php do seu template:

function updateNumbers() {
    global $wpdb;
    $querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ";
    $pageposts = $wpdb->get_results($querystr, OBJECT);
    $counts = 0 ;
    if ($pageposts):
    foreach ($pageposts as $post):
    setup_postdata($post);
    $counts++;
    add_post_meta($post->ID, 'incr_number', $counts, true);
    update_post_meta($post->ID, 'incr_number', $counts);
    endforeach;
    endif;
}

add_action ( 'publish_post', 'updateNumbers' );
add_action ( 'deleted_post', 'updateNumbers' );
add_action ( 'edit_post', 'updateNumbers' );

Depois de gravar seu ficheiro, poderá mostrar seu número incrementado usando o seguinte código. Não esqueça que este código tem de estar em seu ciclo (loop) de artigos.

<?php echo get_post_meta($post->ID,'incr_number',true); ?>

6. EXCLUIR ARTIGOS DO SEU RSS FEED

Gostava de excluir alguns dos seus artigos do seu RSS Feed? Esta função tem dois parâmetros interessantes a ter em consideração. No primeiro parâmetro $where você dá uma extensão da string SQL, que será tida em consideração a partir do ID. Entre as aspas, você tem de definir os IDs dos posts, que gostaria de ver removidos dos seus RSS Feeds.

function fb_post_exclude($where, $wp_query = NULL) {
	global $wpdb;
	if ( !$wp_query )
		global $wp_query;
	if ($wp_query->is_feed) {
		// exclude post with id 40 and 9
		$where .= " AND $wpdb->posts.ID NOT IN (40, 9)";
	}
	return $where;
	}
add_filter( 'posts_where','fb_post_exclude', 1, 2 );

7. REDIRECCIONAR USUÁRIO PARA UM ARTIGO QUANDO UMA PESQUISA RETORNA APENAS UM RESULTADO

Não seria interessante, quando um leitor do seu blog realiza uma pesquisa e você tem apenas um resultado possível, redireccionar automaticamente esse usuário para esse resultado/artigo? Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template WordPress.

add_action('template_redirect', 'single_result');
function single_result() {
	if (is_search()) {
		global $wp_query;
		if ($wp_query->post_count == 1) {
			wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
		}
	}
}

8. CRIAR META DESCRIÇÃO DE ARTIGOS AUTOMATICAMENTE

Ao adicionar o seguinte código ao ficheiro functions.php do seu blog, ele irá criar automaticamente a meta descrição dos seus artigos, a partir da função the_content. Tenha a certeza de que cola este código no ficheiro header.php do seu template WordPress ou o truque não irá funcionar corretamente.

function create_meta_desc() {
	global $post;
	if (!is_single()) { return; }
	$meta = strip_tags($post->post_content);
	$meta = strip_shortcodes($post->post_content);
	$meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);
	$meta = substr($meta, 0, 125);
	echo "<meta name='description' content='$meta' />";
}
add_action('wp_head', 'create_meta_desc');

9. SUBSTITUIR PALAVRAS AUTOMATICAMENTE POR LINKS DE AFILIADO

Se você utiliza o seu blog para ganhar dinheiro com programas de afiliados, por exemplo, você poderá usar este truque para substituir automaticamente determinadas palavras dos seus textos por links de afiliado. Copie e cole o seguinte código no ficheiro functions.php do seu template. Não esqueça de colocar as palavras e links respectivos no código.

function replace_text_wps($text){
	$replace = array(
	// 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS'
	'dinheiro' => '<a href="http://www.escoladinheiro.com">dinheiro</a>',
	'wordpress' => '<a href="http://www.escolawp.com">wordpress</a>'
	);
	$text = str_replace(array_keys($replace), $replace, $text);
	return $text;
}

add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');

10. ADICIONAR LINK “LER MAIS” NO FINAL DOS EXCERTOS

Adicione este código ao ficheiro functions.php do seu template e ele irá adicionar um permalink “Ler Mais” no final da função the_excerpt, ou seja, depois dos excertos que você tem na homepage.

function excerpt_readmore($more) {
	return '... <a href="'. get_permalink($post->ID) . '" class="readmore">' . 'Ler Mais' . '</a>';
}
add_filter('excerpt_more', 'excerpt_readmore');

11. ARTIGOS POPULARES NA BARRA LATERAL

Criar um widget para mostrar os artigos populares do seu blog na sua barra lateral sem usar plugins é extremamente fácil. Copie e cole o seguinte código para dentro do seu ficheiro sidebar.php. Se precisar de alterar o número de artigos mostrados, altere o valor 5 que se encontra no final da linha 3 de código.

<h2>Artigos Populares</h2>
<ul>
	<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5");
	foreach ($result as $post) {
		setup_postdata($post);
		$postid = $post->ID;
		$title = $post->post_title;
		$commentcount = $post->comment_count;
		if ($commentcount != 0) { ?>
			<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">
			<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>
	<?php } } ?>
</ul>

12. LISTAR ARTIGOS FUTUROS

Você costuma escrever artigos em antecipação no seu blog e gostava de mostrar os títulos desses próximos artigos aos seus leitores? O WordPress permite listar os artigos futuros, e para o conseguir em seu blog, simplesmente copie e cole o seguinte código para o local onde gostava que essa listagem aparecesse:

<div id="zukunft">
	<div id="zukunft_header"><p>Próximos Artigos</p></div>
	<?php query_posts('showposts=10&post_status=future'); ?>
	<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<div>
		<p><strong><?php the_title(); ?></strong><?php edit_post_link('e',' (',')'); ?><br />
		<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
	</div>

	<?php endwhile; else: ?><p>Nenhum artigo próximo.</p><?php endif; ?>
</div>

Até Já!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


JobRoller - Premium Job Board Theme

Comentários dos Alunos


  1. Vitor Carvalho
    26.10.2011

    Muito bom Paulo.
    Estes snippets dão sempre jeito ;)

    Responder


  2. Paulo
    26.10.2011

    Muito útil, eu tentei o “3. Mostrar thumbs no RSS” mas infelizmente não está a funcionar, aparece um erro em vez de abrir o site.

    Responder


  3. Jairo
    26.10.2011

    Valeu Paulo.. Não conhecia o 9, ja implementei e ta funcionando certinho.. Melhor do que encomenda.. :)

    Parabens e continuem assim..

    Sucesso!!

    Responder


  4. Almy Fróes
    27.10.2011

    Excelente Paulo, bem melhor do que ter de ficar instalando plugins para isso :O)

    Responder


  5. Rick
    27.10.2011

    Ótimas dicas Paulo, a numero 4, no caso ele vai busca a palavra chave apenas no titulo do post?

    Responder


  6. Daniel Gusmão
    31.10.2011

    Tenho uma questão, ainda não consegui resolver.

    Eu não permito o comentário nos meus post´s mas em todas as postagens fica uma frase escrita “Comentários Desativados” gostaria de saber como posso remover esta mensagem em todos os meus post´s.

    Responder


  7. victor
    02.11.2011

    Boa tarde,

    tenho uma duvida, como sou novo entrar no mundo wordpress, quando voce diz que copia e colar o codigo no ficheiro ” functions.php” esse ficheiro é dentro do theme? é que tem outro ” functions.php” fora do tems, em qual é que estamos a falar?, e queria tambem saber como colocar o video no inicio do artigo e que apareça no homepage do mesmo. obrigado.

    Responder


  8. Raphael Dino
    11.11.2011

    Olá amigo Paulo Faustino, gostaria de saber se vc conhece algum plugin pra bloquear hotlinks de imagens que realmente funcione,estou tendo mts problemas com o meu blog devido a blogueiros que fazem hotlinks e estão ocupando uma enomer largura de banda do meu servidor.
    Desde já agradeço a atenção!

    abraço!

    Responder


  9. Milton Ramos
    30.11.2011

    Olá Paulo,

    Excelente dicas, com esse tutorial da para transformar um amador em profissional! Parabéns pelo conteúdo.

    Abraços
    Milton

    Responder


  10. edilene
    08.02.2012

    olá
    Paulo,
    vc sabe como a gente faz para colocar no blog/site
    contador de cliques únicos, como sites agregadores?
    aguardo retorno
    att.
    edilene

    Responder


  11. Carlos Reis
    26.03.2012

    Eu uso o plugin wp e-commerce. Gostaria de utilizar a dica 4 filtrando para só aparecer a coluna “nome” do post_type=wpsc-product do plugin. O que tenho que mudar?

    Responder

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11485

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz