Como criar um plugin WordPress

Pessoal, o post de hoje é cópia a uma resposta que enviei para uma lista de discussão por e-mail para um parceiro que queria saber como criar um plugin wordpress. Fiquei com preguiça de corrigir os erros de português e testar as funções e por conta disto não iria publicar aqui no blog, mas o Fernando Caldas insistiu por lá e achei bacana colar aqui a resposta, então desculpem os possíveis erros e espero que curtam o post.

Desenvolvendo um plugin wordpress

Você sabe programar em PHP? Tem noções de programação orientada a objetos?

Se responder não para qualquer uma das perguntas acima talvez não seja a hora de começar a desenvolver um plugin para Wordpress, primeiro aprenda PHP e estude um pouco sobre orientação a objetos, acredite, sem isso você pode até fazer um plugin seguindo tutoriais na net, mas vai ser muito complicado.

Já trabalhou com algum framework para desenvolvimento PHP ou API?

No desenvolvimento de plugins para WP você trabalha um pouco igual ao desenvolvimento de uma aplicação com framework ou API, existem métodos, classes, filtros e ações pré definidas que você vai precisar para trabalhar.

Vamos lá…

Para desenvolver um plugin para WP você vai seguir os procedimentos normais de desenvolvimento de qualquer aplicação web com a linguagem PHP a unica diferença é que vai precisar estudar o CODEX do WordPress para conhecer as funções pré definidas que vão facilitar sua vida.

Eu basicamente utilizo actions e filtros para decidir quando as funções do meu plugin devem ser chamadas, se eu quero incluir algo quando um post for exibido então uso o filtro the_content que chama uma função do plugin passando como parametro o conteúdo do post e recebe de volta o conteúdo que deverá ser exibido.

A sintaxe é:

add_filter(‘the_content’,'funcao’);

Exemplo simples de uso deste filtro, vamos imaginar que você deseja incluir um rodapé em todos os posts do seu blog, para não precisar editar tudo novamente você pode criar um plugin com o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
/*
Plugin Name: NOME DO SEU PLUGIN
Plugin URI: http://leobaiano.com/
Description: DESCRIÇÃO DO PLUGIN
Version: 1.0
Author: Leo Baiano
Author URI: http://leobaiano.com/
*/
 
// Acima você passa as informações necessárias do seu plugin
 
/**
 * Rodapé
 *
 * @param string $conteudo - Variavel com o conteúdo original do post
 * @return string $new_conteudo - Variavel retornada com o novo conteúdo do post
*/
function rodape($conteudo){
	// Abaixo defino o rodapé que vai aparecer no meu post
	$rodape = "<br /><br />---<br />A cópia deste texto é autorizada desde que mantenha os créditos ao autor.";
 
	// Abaixo gravo o novo conteúdo do post que será o conteúdo original mais o rodapé definido na variavel acima.
	$new_conteudo = $conteudo.$rodape;
 
	// Retorno o novo conteúdo do post
	return $new_conteudo;
}
 
// Filtro que chama a função rodape e passa o conteudo do post
// Essa rotina vai acontecer toda vez que o post for chamado
add_filter('the_content','rodape');
?>

Vamos supor que você precisa incluir alguma informação no cabeçalho do blog, a chamada para um arquivo JS ou CSS por exemplo, então pode utilizar a action wp_head. Essa action chama uma função que deverá imprimir o conteúdo que você deseja incluir no cabeçalho da página. É importante lembrar que para que a action funcione corretamente o tema precisa ter o gancho wp_head() no cabeçalho da página.

A sintaxe básica é:

add_action(‘wp_head’, ‘funcao’);

Seguindo o mesmo padrão você pode utilizar a action wp_footer para incluir conteúdo no rodapé do blog, para que funcione o tema precisa do gancho wp_footer();

Sintaxe: add_action(‘wp_footer’, ‘funcao’);

Muitos desenvolvedores de plugin utilizavam a action wp_footer para incluir os créditos, o plugin wp-hotwords do BernaBauer, por exemplo, exibe a mensagem de que o blog utiliza tal plugin e inclui um script muito importante no footer do blog.

Uma action que eu acho muito interessante e com milhares de possibilidades é a publish_post que é acinada toda vez que um post é publicado, ela chama uma função e envia como parametro o ID do post que foi publicado.

Sintaxe: add_action(‘publish_post’, ‘funcao’);

Agora vamos a um exemplo um pouco mais complexo de plugin, vamos imaginar que você deseha twittar o link do seu post sempre que publicar um post novo no blog.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
/*
Plugin Name: NOME DO SEU PLUGIN
Plugin URI: http://leobaiano.com/
Description: DESCRIÇÃO DO PLUGIN
Version: 1.0
Author: Leo Baiano
Author URI: http://leobaiano.com/
*/
 
// Acima você passa as informações necessárias do seu plugin
 
/**
 * twittar
 *
 * @param int $id_post - Variavel com o ID do post
 * @return boolean - Retorna falso ou verdadeiro a depender do sucesso ou não da operação
*/
function twittar($id_post) {
 
	// Recupera os dados do post com base na sua ID	
	$post = get_post($id_post);
 
	// Recupero a URL do post
	$url = get_permalink($id_post);
 
	// Chama a função que vai enviar a mensagem
	$envio = enviarMensagem($url);
 
	// If enviado com sucesso returna verdadeiro
	if($envio){	
		return true;
	}
 
	// Se não enviar retorna falso
	else {
		return false;
	}
}
 
/**
 * Envio a URL para o twitter
 *
 * @param string $url - Variavel com o a URL do post
 * @return boolean - Retorna falso ou verdadeiro a depender do sucesso ou não da operação
*/
function enviarMensagem($url) {
 
	// Define o usuario do twitter
	$usuario = "seu_usuario";
 
	// Define a senha do twitter
	$senha = "sua_senha";
 
	// Abaixo preparo o envio da URL para o twitter
	$saida = "POST http://twitter.com/statuses/update.json HTTP/1.1\r\n";
	$saida .= "Host: twitter.com\r\n";
	$saida .= "Authorization: Basic ".base64_encode ("$usuario:$senha")."\r\n";
	$saida .= "Content-type: application/x-www-form-urlencoded\r\n";
	$saida .= "Content-length: ".strlen("status=$url")."\r\n";
	$saida .= "Connection: Close\r\n\r\n";
	$saida .= "status=$url";
	$fp = fsockopen ("twitter.com", 80);
 
	// Se enviado com sucesso retorno verdadeiro
	if (fwrite($fp, $saida)) {
		return true;
		fclose($fp);
	}
 
	// Caso contrario retorno falso
	else {
		return false;
	}
}
 
// Incluimos a action que vai chamar a função twittar sempre que um post for publicado
add_action('publish_post', 'twittar');
?>

A resposta ficou tão grande que cheguei a pensar publicar um post, mas deu preguiça de corrigir os erros de português e testar os exemplos, mas enfim, da pra ter uma idéia.

Exibindo os últimos posts do blog a partir de determinado registro

Essa dica é para blogueiros que utilizam wordpress em dominio e servidor próprio.

Muitos temas exibem na sidebar a lista dos últimos artigos publicados, isso fica bem interessante quando um visitante acessa a página de um determinado post, pois ele pode ver, na lateral, os últimos x posts publicados e se interessar por um dos textos. O problema é que a sidebar, normalmente, é a mesma tanto na home quanto nas páginas internas, sendo assim se você exibe 10 textos na sua página inicial e na lateral os últimos 10 textos publicados acaba com links para os mesmos textos que estão sendo exibidos na home.

Para exibir os ultimos posts publicados na sidebar os desenvolvedores de temas para wordpress utilizam o método get_posts(); do wordpress, este método possuí um atributo pouco explorado, chamado offset, que serve para informar de qual registro o wordpress deve começar a chamar os posts, então se seu blog mostra 10 posts na home basta utilizar o get_posts(); conforme demonstrado abaixo:

1
get_posts('offset=9&numberposts=10');

O código acima vai buscar os últimos 10 posts publicados após o décimo registro, assim você não vai exibir, na lista de últimos posts, os mesmos que já aparecem na home.

O código completo fica assim:

1
2
3
4
5
<?php 
$pp_posts = get_posts('offset=7&numberposts=8'); foreach($pp_posts as $post) : setup_postdata($post);
?> 
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<?php endforeach; ?>

Espero que a dica seja útil.

Instalando o wordpress um um diretorio e o blog na raiz do site

Você quer instalar o wordpress em um diretório e depois migrar para a raiz do site, mas esta com medo de ter problemas com a migração, então não tema garotinho, seguindo 4 passos simples você pode instalar o WP em qualquer diretório, desenvolver o tema, configurar, inserir o conteúdo inicial do site ou blog e depois quando tudo estiver pronto e aprovado pelo cliente você move ele para a raiz.

Porque não instalar logo na raiz?

As vezes pegamos um projeto de reestruturação onde só poderemos mexer na raiz quando o site novo estiver pronto, pode, também, acontecer do cliente exibir a exibição de uma imagem, um aviso ou até mesmo aqueles contadores que indicam quando o site vai ao ar.

Os passos para mover o Wordprees de um diretório qualquer para a raiz do site são bem simples, peguei a dica com a Drika (que não se chama Adriana) quando precisei e agora só trabalho desta forma.

Migrando WP para a raiz do site

A primeira coisa que devemos saber é tomar cuidado para que os bots não acabem indexando o site em desenvolvimento. Logo após instalar o WordPress no diretório acesse o menu Configurações/ Privacidade e marque a opção “Quero bloquear mecanismos de busca, mas permitir visitantes normais”.

Agora o ambiente esta pronto para desenvolvimento, quando você terminar o trabalho e o projeto for homologado é só seguir os 4 passos abaixo e transferir para a raiz:

  1. Na administração do wordpress acesse o menu Configurações/ Geral e onde tem URL do blog deixe o endereço que apontava para o diretório de desenvolvimento, já no campo URL do site você vai colocar a URL que aponta para a raiz do site. Ex.: www.seusite.com/wordpress e www.seusite.com respectivamente.
  2. Baixe e apague os arquivos index.php e .htaccess do diretório onde o wordpress esta instalado.
  3. Abra o arquivo index.php e altere a linha que chama o arquivo wp-blog-header.php, onde tem require(“./wp-blog-header.php”); você vai mudar para require(“./wordpress/wp-blog-header.php”); onde wordpress é o diretório onde o WP foi instalado. Feito isso suba os arquivos index.php e .htaccess para a raiz do site.
  4. No WordPress acesse o menu Configurações/ Links permanentes e clique no botão salvar. Essa etapa é necessária para que o WP reescreva o código de redirecionamento no arquivo .htaccess e evite erro 500 nos links para páginas, categorias e posts. Acredito que só é necessário se você não utilizar o formato padrão de permalinks enquanto desenvolve o site.

Se você seguiu direitinho os passos acima seu blog provavelmente já esta funcionando na raiz, mas talvez seja necessário alguns ajustes. Os links que você criou nos posts apontando para páginas internas do site podem quebrar porque provavelmente estarão apontando para o diretório, para resolver sugiro a instalação do plugin Search and Replace, após fazer o download e instalar acesse as configurações e no campo replace digite o endereço do seu site com o diretorio onde o WP foi instalado, no campo wiht você vai colocar o endereço da raiz do seu site e marcar para ele alterar em todas as tabelas.

Pronto, agora já tudo está perfeito e você só precisa ir em Configurações/ Privacidade e marcar para que os bots possam indexar o conteúdo do site.

Dar foco a determinada imagem da lista com jQuery

Sabe aquelas listas que exibem algumas imagens um pouco apagadas e quando você coloca o mouse em cima de uma delas ela acende e se destacando das outras? Sempre achei esse efeito muito bacana, mas nunca havia participado de um projeto que pudesse utilizar, eu ficava imaginando milhares de formas muito complicadas para fazer o efeito, sabia que eram complicadas e que deveria existir uma forma mais simples de fazer acontecer, porém nunca parei para pesquisar.

Estudando a documentação do jQuery descobri que é muito mais simples do que eu imaginava e então veio a idéia de escrever esse tutorial.

Em primeiro lugar você vai chamar o framework jQuery no head da sua página web;

1
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

Agora no corpo do documento vamos criar uma lista de imagens;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<ul class="listaImagens">
        <li>
            <a href="#" title="Imagem 1">
                <img src="img/1.jpg" alt="Imagem 1" title="Imagem 1" />
            </a>
        </li>
        <li>
            <a href="#" title="Imagem 2">
                <img src="img/2.jpg" alt="Imagem 2" title="Imagem 2" />
            </a>
        </li>
        <li>
            <a href="#" title="Imagem 3">
                <img src="img/3.jpg" alt="Imagem 3" title="Imagem 3" />
            </a>
        </li>
        <li>
            <a href="#" title="Imagem 4">
                <img src="img/4.jpg" alt="Imagem 4" title="Imagem 4" />
            </a>
        </li>
    </ul>

Agora pra finalizar vamos inserir o script que, através do jQuery, produz o efeito;

1
2
3
4
5
6
7
8
9
10
11
12
<script>
    (function($) {
        $(document).ready(function() {
            $('ul.listaImagens li').stop().fadeTo('fast', 0.3);
            $('ul.listaImagens li').hover(function() {
                $(this).stop().fadeTo('fast', 1.0);
            }, function() {
                $('ul.listaImagens li').stop().fadeTo('fast', 0.3);
            });
        });
    })(jQuery);
</script>

A linha 2 é utilizada para resolver problemas de incompatibilidade com outros frameworks javascript que utilizam o $ como seletor;

Na linha 3 indicamos que o evento deve ser criado assim que o site terminar de carregar;

A linha 4 coloca todas as imagens da lista com opacidade 0.3;

A linha 5 chama diz que ao passar o mouse em uma das imagens a opacidade desta será alterada para 1.0 (100%) e ao retirar o mouse volta a 0.3.

VOcê pode conferir o efeito aqui: Imagem Foco

Seus pais até podem escolher seu nome, mas seus amigos é que decidem como você vai ser conhecido

Seus pais até podem escolher seu nome, mas seus amigos é que decidem a forma como você vai ser conhecido, isso é um fato. Meu pai teve a infeliz brilhante idéia de me registrar com o mesmo nome que ele, até hoje não sei se foi uma forma de se vingar ou ele realmente não sabia que um dia eu poderia ser zuado, mas felizmente meus amigos resolveram me chamar de Leo.

Normalmente os apelidos dão uma idéia do nome, eu mesmo constantemente sou chamado de Leonardo :-) , mas as vezes existem casos onde o apelido tem um motivo aparentemente lógico, mas nada haver com o nome e acaba causando confusões, como o Lu que na verdade se chama Antonio. Porra, Lu é apelido de Luciano, Lucival, Luana, mas de Antonio eu nunca vi, Antonio se quiser apelido é Toinho e pronto.

Porra, esse cara não parece com o Luciano???

O tempo foi passando e #fuuu, hoje o Antonio é chamado de Lu simplesmente porque alguém, um dia, achou que ele era parecido com um tal de Luciano.

Algumas pessoas chamam o Thiago Freire de Marcelinho… Porque? Sei lá!

Fiquei sabendo pelo Twitter que Jorge chama o @leocdlj de “Leo Grandão”. Puts cara, deixa as minas chamarem o cara assim, chama ele só de Leo, de brother, bacana, sangue bom ou até mesmo jovem, mas porra, eu passo e te vejo chamando ele de “Leo Grandão” (vou até pensar que é comigo) fica estranho “pacas”.

Tem um parceiro que costumo trabalhar em alguns projetos cujo sobrenome é Paixão, alguns caras só chamam ele pelo sobrenome, eu me recuso a chamar outro homem de paixão. Não sou homofobico, mas vamos combinar né, fica estranho pra caralho eu, um cara comprovadamente macho, chamando um negão de paixão, desculpe meu amigo, mas no seu caso fico com o nome que teu pai escolheu.

O chefe dos papagaios

Um sujeito entra em uma loja de animais e diz ao funcionário que deseja comprar um papagaio, o funcionário pede para ele acompanha-lo e diante de 3 papagaios diz:

Este aqui custa R$ 500,00 reais.

Quinhentos??? O que ele faz pra valer tanta grana?

Esse papagaio fala português, inglês e espanhol.

Hummmm, e aquele outro ali quanto custa?

Haaaa, esse daí custa R$ 1000,00 reais.

Mil??? Caralho, o que ele faz???

Então, esse papagaio fala inglês, português, espanhol, latim e tem noções de informática.

Bom, bom… e esse terceiro papagaio, quanto custa?

Este é uma beleza e custa R$ 5000,00 reais.

Porraaaaaa, 5 mil???? O que esse bendito papagaio faz?

Bom, fazer, fazer mesmo eu nunca vi ele fazer porra nenhuma, mas os outros dois só o chamam de chefe.

Eu tenho uma camisa do Homem de Ferro e você não tem lá lá lá lá

Então, fui no cinema assistir Homem de Ferro 2 e gostei um pouquinho.

Não foi nenhum em busca da felicidade, mas também não foi premonição 4, ele estava mais para homem de ferro 1 :-) ou seja, meeiro. Tony Stark estava achando que ia morrer e por conta disto resolveu bater a maior água de todos os tempos, vestido com a armadura. A água foi tamanha que ele mijou nas calças na armadura e depois começou a brincar de atirar em garrafas que eram jogadas pro ár pelas gostosas que estavam na festa, o amigo dele, das forças armadas, provavelmente gay, chegou e ao invés de fazer o que qualquer outro homem faria, entrar na putaria claro, resolveu estragar a brincadeira.

Vocês lembram que Stark demorou um pouco para conseguir controlar a armadura no 1? Parece que James é mais esperto que ele, pois vestiu a armadura, brigou com Stark e depois saiu voando até a base sem nenhuma dificuldade.

Rolou uma trilha sonora massa no fighting do homem de ferro contra o coronel boiolinha, homem de ferro cinza se achar melhor, que deve ter se sentido o fodão dentro da armadura, até imagino ele pensando: Nossa gente, arrasei!.

Aê DJ, solta o pancadão que eu vou dar uns tapas neste mané

Homem de Ferro 2

Homem de Ferro 2

Achei engraçado quando o caolho descobre que uma das armaduras havia sido levada para as forças armadas, Tony ainda de ressaca e levando o maior sermão me fez lembrar de mim mesmo quando minha mãe começa a falar nos sábados pela manhã.

Como é que é? Quer dizer então que o cara entrou na sua casa, o poderoso homem de ferro, te meteu “laporra” e depois levou a armadura na maior moral? É isso que você esta querendo me dizer?

Quer saber o quanto sou mal com fisionomias? O ator que interpretou o coronel James ‘Rhodey’ Rhodes no homem de ferro 2 não é o mesmo cara que fez o 1 e eu só fiquei sabendo disso porque um colega aqui do trabalho falou (mentira pura, eu li isso em um site ai da net, mas e daí? Vai te lascar chato…). Parece que no 2 quem faz o papel é Don Cheadle e no 1 Terrence Howard, deve ter sido por causa de grana né?

Lógico que deram um grau no Cheadle pra ficar um pouco mais similar, agora se liga na fita, o Cheadle é feio man… não, não, feio é o Terrence, o Cheadle é feioso, ele esta em um grau mais elevado de feiura, só perde para o Janjão, o filho adotivo de Jorge Martins.

Assisti o filme no cinema do Shopping Paralela, é da UCI, e lá ta rolando uma promoção, compre o super combo (dois copos grandes de refrigerante e um sacão de pipoca) e ganhe uma camisa do Homem de Ferro. O que? Quer saber se eu comprei o super combo??? Digamos que ontem vim pro trabalho com uma camisa preta do Iron Man… Cheguei aqui me sentindo o próprio Tony Stark, sem a mesma quantidade de zeros no saldo bancário mas com o mesmo olhar de tigre.

Esta sem ter o que fazer esse final de semana? Não vá pro cinema porra, se mate, que tipo de pessoa é você? Se fode a semana inteira no trabalho e não tem nada pra fazer no final de semana? Se mata peste ruim… brincadeirinha, quando for no cinema assista o homem de ferro 2 e volta aqui pra me dizer o que achou, ainda não assisti Alice, provavelmente nem vou assistir, mas é quase certeza que Iron Man Two é bem melhor.

Beijo, queijo e fiquem com os P.S’s que não foi um PS na verdade porque fui escrevendo em paralelo ao texto. Não animal, eu não liguei outro PC e digitei o texto com uma das mãos e os PS’s com a outra, quando lembrava de algo enquanto escrevia o texto eu parava e escrevia o PS no final, mas porque estou falando isso? Já não falei besteira de mais para um post só??? Fui!

—-
P.S. – Se não conhece o Jorge segue ele ai no twitter, o cara é um empresário bem sucedido, fala meio mundo de merda no twitter e escreve bem pra caralho no blog Detesto Gente Inteligente, manda bala ai geral: @jorgecdlj.

P.S2. – Galera vamos sacanear o Jorge? Se ligue, fiz um post falando sobre o filho adotivo do Jorge Martins, a idéia é fazer um google bomb para que ao pesquisar por “filho adotivo de Jorge Martins” ou na busca por “Janjão” apareça este post: Janjão, filho adotivo de Jorge Martins.

Então, se quer me ajudar nessa parada faz um link tipo com os dizeres: Janjão, filho adotivo de Jorge, apontando para esse endereço: http://www.leobaiano.com/janjao-o-filho-adotivo-de-jorge-martins.html

P.S3 – O segundo P.S. ficou parecendo que eu queria fazer aqueles corações que as gurias gostam de fazer nos nicks de orkut e msn.

Janjão, o filho adotivo de Jorge Martins

Ai galera, vocês conhecem Janjão, o filho adotivo de Jorge Martins?

Então, comovido com a situação das crianças haitianas que perderam suas familias na tragédia Jorge Martins resolveu adotar uma criança haitiana, para tanto ele entrou em contato com pessoas que podem providenciar isso sem burocracia (alguns diriam que eles sequestram criancinhas, eu, que não sou maldoso, prefiro pensar que devolvem a familia para alguns) recebeu um álbum com diversas fotos de órfãos haitianos e quando chegou na foto de Janjão o conterrâneo “não guentou ver”:

é esse, é esse que eu quero pra mim, Deus criou essa criança e disse: é teu Jojó… segura que é teu Jojó do Babá, é ele, é ele…

Eu não estava na hora mas fiquei sabendo através de uma fonte segura que a emoção de Jorge quando viu Janjão foi tão grande que lagrimas escorreram pelo teu rosto gordo enquanto um sorriso de encandear estampava sua face (eu poeta brega).

Bom, dinheiro na mão e vai buscar Dalila, vai buscar Dalila ligeiro… no caso do Jorge, vai buscar Janjão.

Janjão, filho adotivo de Jorge Martins

Janjão, filho adotivo de Jorge Martins

Esse é o inicio da história sobre Janjão, o filho adotivo de Jorge Martins, a criança já chegou e você pode conferir mais sobre o assunto acessando o post que fiz logo que fiquei sabendo que Jorge iria adotar uma criança.

Parece que Janjão inclusive já chegou e o nosso amigo Jorge esta pra lá de feliz, parabéns Jorge, grande exemplo de amor ao próximo, você é um grande homem, espero que você possa dar amor, carinho e educação à Janjão, parabéns parceiro.

No final das contas a vida ficou me devendo uns trocos

No domingo a tarde fui no shopping Salvador encontrar uma turminha do blogsBA para comemorar o aniversário do Jojó do babá, ele não merece tal consideração¹ mas fiquei empolgado com a possibilidade dele se emocionar e pagar a conta, então fui sem almoçar nem tomar café.

Quando cheguei o assunto era: “quem já pegou alguém através do orkut” (doentes né???), o Roberto é meio confuso sobre como conheceu a Dani, não sabe se pelo blog ou orkut, mas ta valendo. O Leo Araújo conheceu a esposa pelo orkut e o Jorge, é escroto demais no orkut, nunca comeu ninguém.

Dudu e Maira chegaram “na putaria” (eles não estavam na putaria, nem fazendo putaria ou algo do tipo, a putaria era onde estavamos… deixa pra lá) pagando de bacana, que iam almoçar no Oliva, pilha pura, ficaram lá mesmo no Chalezinho (que aparentemente nem tem site) “ouvindo” o silencio inquietador do Caio.

Duas coisas interessantes sobre meus amigos do #blogsBA, o Caio, aparentemente, é o unico homem hetero que #rilitros, fala sério, você, macho, já se imaginou utilizando essa tag? Ri litros… Ri litros… qual é Caio, já basta teu nome ser insinuativo agora vai ficar rindo litros? A outra parada que eu não sabia é que o casamento do Dudu é pro forma², pra tirar a familia de tempo ta ligado? O pior é que a Maira Moraes sabe de tudo e aceita porque segundo ela “com pessoas do mesmo sexo não existe traição”… casal moderno, século 21

Sabe, acabei descobrindo que gosto dessa galera e por conta disto vou procurar ajuda profissional para tentar entender como posso gostar desses doentes.

Valeu bastante encontrar com essa galera nota mil, são momentos como estes que fazem a vida valer a pena e dão força para iniciar uma semana de trabalho infernal sem chorar, voltei pra casa com a sensação de que paguei a conta e a vida ainda ficou me devendo uns trocos.

—–
1 – Pilha pura, Jojó é brodi e merece sim consideração… ao contrario do Dudu que no niver recebeu apenas um post, ou será que fizeram festa e não me convidaram??? #ficaduvida, mas mesmo assim huahuahuahua se fu Dudu.

2 – Brincadeira viu caras, Dudu e Maira formam um dos casais mais felizes que já vi e espero que continuem sempre assim.

Follow Finder, novo serviço do Google

Uma das coisas que eu acho muito bacana nos serviços do Google é a capacidade que eles possuem para indicar pessoas que são interessantes para você mantar na sua lista de contatos, isso acontece no orkut, no google buzz e diversos outros serviços.

Um cara esperto disse em uma palestra que “não precisamos saber como funciona e sim para que serve” (ou algo assim…) e quando se trata de serviços na web eu concordo, não me importa como o google faz para sugerir pessoas o fato é que acho bastante útil e quase sempre as indicações realmente são do meu interesse.

Hoje tomei conhecimento de um serviço do Google que da sugestão de pessoas para você seguir no twitter, trata-se do Google Follow Finder.

Google Follow Finder

Google Follow Finder

Google Follow Finder

A ferramenta é simples, você digita seu usuário e ele retorna uma lista de pessoas que talvez você queira seguir e uma com usuários que possuem seguidores similar aos seus. Você pode ver a ultima mensagem enviada por cada usuário listado e abaixo um botão para que você passe a seguir.

Único ponto negativo da ferramenta é exibir o botão de follow mesmo em usuários que você já segue.

Follow Finder analyzes public social graph information (following and follower lists) on Twitter to find people you might want to follow.

Uma explicação básica de como eles fazem para indicar pessoas, mas como já falei tô nem ai para o como o que vale mesmo é que encontrei pessoas que eu já acompanho em outras mídias, tipo e blog, podcast, listas de discussão, e tenho interesse em acompanhar no twitter.

Outro problema, aparentemente o botão de follow que fica abaixo da ultima mensagem de cada usuário não esta funcionando, quando cliquei ele abriu uma janela para fazer autenticação via oauth e após a autenticação exibiu uma mensagem de erro.

Sorry, something went wrong.
The provided callback url http://www.followfinder.googlelabs.com/search?user=leobaiano is not authorized for the client registered to ‘http://followfinder.googlelabs.com/’.

Para seguir as pessoas através do Google Follow Finder eu coloquei o ponteiro do mouse no usuário que queria e no tooltip que abre com mais informações sobre o usuário cliquei no botão follow, assim aparentemente deu certo.

Claro, é um serviço novo do Google, ainda esta no google labs, sabemos que os serviços deles sempre melhoram bastante com o passar do tempo então vamos esperar o futuro nos reserva.