Uma brincadeira de mão na massa com SQL e as tabelas do WordPress.
Você vai precisar de:
- Um blog em WordPress num servidor próprio.
- Uma lugar onde você possa se conectar ao banco de dados (provavelmente o MySQL). Um terminal SSH no seu servidor ou mesmo o PhpMyAdmin servem.
Se você tiver acesso por SSH no servidor onde está seu blog, chame o prompt do mysql assim:
$ mysql -u USUÃRIO -p -h URL_DO_BANCO DATABASE
Trocando USUÃRIO por seu login no mysql, URL_DO_BANCO por a url do seu banco (geralmente 127.0.0.1) e DATABASE por a base de dados (geralmente wordpress). Em seguida será perguntada a sua senha.
Uma vez conectado dentro do seu banco de dados você pode executar algumas queries legais.
Os 10 maiores comentaristas do seu blog: você seleciona da wp_comments (a tabela de comentários do WordPress) selecionando só os nomes e agrupando pelo email do autor e fazendo uma contagem que chamados de quantidade. Também é feito uma ordenação usando o campo contagem. Aqui eu supondo que a pessoa sempre coloque seu próprio email, mas as vezes mude o nome, o que realmente acontece.
SELECT comment_author AS autor, COUNT(*) AS quantidade
FROM wp_comments
GROUP BY `comment_author_email`
ORDER BY quantidade DESC
LIMIT 10
;
Usando isso lá no banco de dados do eupodiatamatando.com que tem uns 3 mil comentários, deu o seguinte:
+---------------------------------------------+------------+ | autor | quantidade | +---------------------------------------------+------------+ | Silveira | 511 | | 2007 Janeiro 21 » Eu Podia Ta Matando | 174 | | Kct | 133 | | Filho | 91 | | Dora | 83 | | Leonardo | 67 | | manero | 58 | | Esdras | 52 | | Marlany | 51 | | Roney Marques | 50 | +---------------------------------------------+------------+ 10 rows in set (0.12 sec)
Ou seja, em primeiro lugar deu eu mesmo, com 511 comentários. Em segundo, o próprio blog com seus pingbacks. O maior comentarista mesmo foi o comentarista que se identifica como Kct.
Os 10 posts mais comentados: É necessário fazer uma junção entre a tabela dos comentários (wp_comments) e a tabela dos posts (wp_posts) usando o ID do post.
SELECT wp_posts.post_title, COUNT(*) AS quantidade
FROM wp_comments JOIN wp_posts
ON wp_comments.comment_post_ID = wp_posts.ID
GROUP BY wp_posts.ID
ORDER BY quantidade DESC
LIMIT 10
;
A saÃda que eu tive:
+-----------------------------------------+------------+ | post_title | quantidade | +-----------------------------------------+------------+ | Sobre o vôo 3054 | 104 | | Chegou o boneco do Capitão Nascimento! | 80 | | Vamos trocar links? | 74 | | O celular Linux já está a venda | 64 | | O Que o Emo disse pra Ema? | 57 | | Bichos grandes. Falsificações? | 46 | | Esse ainda tem muito pra upar | 45 | | Entenda Heroes | 42 | | Aqui pro iPhone! | 40 | | Ganhe créditos de graça no celular | 39 | +-----------------------------------------+------------+ 10 rows in set (0.11 sec)
Qual o post você mais comentou: Basta colocar um WHERE e pegar o autor que você quer, no caso, Silveira (eu). Eu coloquei um limite de 10, para pegar só os 10 posts que eu mais comentei.
SELECT wp_posts.post_title, COUNT(*) AS quantidade
FROM wp_comments JOIN wp_posts
ON wp_comments.comment_post_ID = wp_posts.ID
WHERE wp_comments.comment_author = 'Silveira'
GROUP BY wp_posts.ID
ORDER BY quantidade DESC
LIMIT 10
;
O resultado no meu blog foi:
+---------------------------------------------+------------+ | post_title | quantidade | +---------------------------------------------+------------+ | Vamos trocar links? | 20 | | Regnum, RPG online gratúito | 11 | | Promoção: Estamos Dando 97 dólares! | 7 | | Aqui pro iPhone! | 6 | | Vamos escrever um livro? | 6 | | Democracy TV Player | 5 | | Formatura, novidades | 5 | | Como eu consegui cancelar minha conta na Oi | 5 | | Chico Buarque em Fortaleza | 4 | | Livro Python Guia de Bolso | 4 | +---------------------------------------------+------------+ 10 rows in set (0.02 sec)
Se você quiser ir mais fundo nas consultas eu recomendo dar uma olhada na sintaxe do select do Mysql.
vc tem vida social tambem? nerd nerd nerd !! uhahuahua
brincadeira!!
abracos
legal seu blog pessoal tambem
eu tb tenho 1 mais é mais para divulgacao de curriculo mais n atualizo nem o blog nem o curriculo a mto tempo huauhahua
Tenho facebook, é internet social, serve? 😀
[…] » Quem mais comenta no seu blog? Blog do Silveira: Porque até pra fazer programa você tem que est… (tags: web development php wordpress) […]
Olha eu aqui garantindo meu lugar no Top 10.
Só tem um problema: como meus comentários foram importados de outro sistema que não cobrava e-mail, ele agrupou os todos os comentários que não tinham e-mail como uma pessoa só, que teria deixado mais de 1500 comentários. 🙂
good information you
write it very clean. I am very lucky to get this tips from you.
That´s good!
I like your blog, you know!
But you also have to publish some articles. Thus, you wiil facilitate more visits.
Good work!