Adicione publicidade no seu rss feed
16 de janeiro de 2009 por Danival A. Souza
Arquivado em Wordpress
O problema. Ganhar dinheiro através de publicidade nos feed RSS dos blogs tem se tornado uma prática comum, e muitos blogueiros tem feito isto para aumentar os seus ganhos com publicidade. FeedBuder pode inserir publicidade do AdSense dentro dos itens do seu feed, mas você precisa ter pelo menos 500 inscritos para poder usar o recurso, e você só poderá utilizar a publicidade do adsense. Não poderá usar nenhum outro sistema de publicidade, caso utilize este recurso.
A solução. É possível inserir outro tipo de anúncio no seu RSS feed. Você pode, por exemplo, usar um link para um theme grátis do wordpress somente para os leitores do seu RSS.
Siga estes simples passos para fazer esta modificação:
1. Abra para alteração o arquivo functions.php do seu theme. Se o theme que você está utilizando não tem o arquivo functions.php, simplesmente crie um.
2. Cole o seguinte código dentro do arquivo functions.php:
<?php function insertAds($content) { $content = $content.'<hr /><a href="http://www.fazendosites.com.br">Você visitou nosso site hoje?</a><hr />'; return $content; } add_filter('the_excerpt_rss', 'insertAds'); add_filter('the_content_rss', 'insertAds'); ?>
Salve o arquivo. Agora o seu feed rss irá exibir os anúncios publicitários.
Explicação: Eu tenho visto muitas modificações para fazer isto na web, mas todas elas requer que você altere o (core) núcleo do seu wordress para que possa funcionar. Claro, alterar o núcleo do wordpress é uma péssima idéia, pois você terá que reaplicar esta modificação toda vez que atualizar o seu blog. Nos fizemos diferente. Com esta modificação apenas no arquivo do theme, usamos a função do wordpress add_filter() para inserir conteúdo diretamente no RSS feed sem a necessidade de alterar nenhum dos arquivos do core do sistema.
Fonte: http://www.wprecipes.com/how-to-insert-ads-on-your-rss-feed
Wordpress: Evitando posts duplicados na página inicial
14 de janeiro de 2009 por Danival A. Souza
Arquivado em Wordpress
O problema. Com a popularidade recente dos modelos estilo magazine do wordpress, existem muitos usuários que utilizam mais de um loop na página inicial de seus blogs para exibir seus posts. Baseado nisto, surge a necessidade de criar alguma rotina, que evite a duplicação de posts no segundo loop, para eliminar a possibilidade de artigos duplicados na página inicial do site.
A solução. Abaixo uma simples solução para o problema, usando o recurso de arrays do PHP.
1. Vamos começar criando um simples array no php, e gravar todos os IDs dos posts do primeiro loop dentro dele.
<h2>Loop n°1</h2> <?php $ids = array(); while (have_posts()) : the_post(); the_title(); ?> <br /> <?php $ids[]= $post->ID; endwhile; ?>
2. Agora, o segundo loop: vamos usar a função do php in_array() para verificar se o ID de um post está dentro do nosso array. Se o ID NÃO estiver no array, então ele não foi exibido no primeiro loop, e nós podemos então exibir o seu post.
<h2>Loop n°2</h2> <?php query_posts("showposts=50"); while (have_posts()) : the_post(); if (!in_array($post->ID, $ids)) { the_title();?> <br /> <?php } endwhile; ?>
Explicação: Quando o primeiro loop é executado, todos os IDs dos posts exibidos nele irão ficar dentro da variável aray que nós criamos. Quando o segundo loop é executado, nós então verificamos se o ID do registro atual não está no array. Caso o ID não esteja no array, significa que ele não foi exibido no loop anterior, então neste caso, podemos exibir o post.
Wordpress: Exibir adsense somente para visitantes do google
13 de janeiro de 2009 por Danival A. Souza
Arquivado em Seo, Wordpress
O problema. É um fato que os visitantes regulares dos sites não clicam em anúncios publicitários. As pessoas que clicam nos anúncios são, 90% das vezes, visitantes que vieram de sites de busca.
Outro problema é o google “smart pricing” (sistema de preços inteligentes). Este sistema quer dizer que você ganha por clique, proporcional ao seu CTR (click-through rate). Calma, iremos explicar:
O CTR é a taxa que mede a proporção entre a visualização de um anúncio, e quantas vezes ele foi clicado. Com o sistema smart pricing, um anúncio que você poderia ganhar R$1 ,00, você poderá ganhar este valor dividio entre 2 e 10. Ou seja, entre R$0,10 e R$0,50.
Para aumentar o seu CTR e ganhar proporcionalmente mais com o adsense, indicamos exibir os anúncios publicitários do adsense somente para visitantes que vierem através de sites de busca.
A solução:
1. Abra o arquivo functions.php do seu theme.
2. Cole o seguinte código dentro dele:
1 2 3 4 5 6 7 8 | function scratch99_fromasearchengine(){ $ref = $_SERVER['HTTP_REFERER']; $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.'); foreach ($SE as $source) { if (strpos($ref,$source)!==false) return true; } return false; } |
3. Em seguida, cole o código abaixo em qualquer lugar dentro do seu template, onde você deseja que a publicidade do adsense seja exibida. Ela irá então ser exibida somente para visitantes que vierem de sites de busca:
1 2 3 4 5 | if (function_exists('scratch99_fromasearchengine')) { if (scratch99_fromasearchengine()) { INSERT YOUR CODE HERE } } |
Explicação: Esta modificação inicia com a criação de uma função chamada scratch99_fromasearchengine(). Esta função contém uma variável do tipo array, chamada $SE, onde você pode especificar os sistemas de busca. Você pode facilmente incluir novos sistemas de busca, adicionando novos elementos ao array.
Então, a função scratch99_fromasearchengine() irá retornar verdadeiro somente se o visitante vier de um site de busca que está incluído dentro da array $SE.
Com um pouco mais de implementação e criativadade, você pode exibir anúncios do adsense para quem vier dos sites de busca, e então exibir uma publicidade própria ou até mesmo conteúdo, aos usuários que acessam o seu site diretamente.
Substituir por paginação os links avançar e voltar do wordpress
7 de janeiro de 2009 por Danival A. Souza
Arquivado em Wordpress
O problema: Por padrão, o WordPress exibe somente links de página anterior e próxima página, nos arquivos que requer paginação. Isto é melhor do que nada, mas não entendemos por que o wordpress ainda não tem um sistema de paginação por padrão. Sim, existem plugins para isto, mas por que não incluirmos a páginação diretamente no nosso theme (layout)?
A solução: Nós iremos utilizar o plugin WP-PageNavi e vamos inserir o código diretamente no nosso template. Após fazermos, não será mais necessário instalar o plugin toda vez que formos utilizar este template.
1. A primeira coisa a ser feita, obviamente, é fazer o download do plugin WP PageNavi.
2. Descompacte o arquivo do plugin no seu computador, e faça upload do arquivo wp-pagenavi.php e wp-pagenavi.css para a pasta do seu theme.
3. Abra o arquivo que você deseja que a paginação seja exibida (exemplo: index.php, categories.php, search.php, etc.), e econtre o seguinte código:
<div class="navigation"> <div class="alignleft"><?php next_posts_link('Previous entries') ?></div> <div class="alignright"><?php previous_posts_link('Next entries') ?></div> </div>
4. Substitua este código pelo código abaixo:
<?php include('wp-pagenavi.php'); if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
5. Agora precisaremos modificar o arquivo do plugin. Para fazer isto, abra o arquivo wp-pagenavi.php e encontre a seguinte linha (linha #61):
function wp_pagenavi($before = '', $after = '') { global $wpdb, $wp_query;
Precisaremos adicionar a chamada a função pagenavi_init(), e então o código ficará assim:
function wp_pagenavi($before = '', $after = '') { global $wpdb, $wp_query; pagenavi_init(); //chamando a função pagenavi_init()
6. Estamos quase terminando. A última coisa a ser feita é adicionar o wp-pagenavi css ao seu blog. Para fazer isto, abra o arquivo header.php e adicione a seguinte linha:
<link rel="stylesheet" href="<?php echo TEMPLATEPATH.'/pagenavi.css';?>" type="text/css" media="screen" />Explicação geral: Esta modificação consiste em simplesmente incluir o plugin diretamente no seu wordpress theme (layout). Com isto não será necessário instalar o plugin toda vez que for utilizar este theme. O funcionamento desta técnica consiste simplesmente em chamar a função pagenavi_init() diretamente do seu plugin, e deixar que o plugin, e deixar que a própria função faça o resto, e exiba a paginação da maneira que desejamos.
8 SQL Hacks úteis para Wordpress
2 de janeiro de 2009 por Reinaldo Nascimento
Arquivado em Wordpress
Nos 10 últimos anos, a banco de dados MySQL tornou-se incrivelmente popular na web. Cada blog criado no WordPress possui uma base de dados do MySQL contendo todas as configurações, ajustes, comentários e muito mais.
Enquanto, às vezes, os plugins e hacks de codificação conseguem resolver alguns problemas e executar algumas tarefas, outras vezes você não tem outra escolha a não ser executar comandos de SQL no phpMyAdmin ou diretamente à base de dados através de SSH.
Vou lhe mostrar 8 hacks úteis de SQL para WordPress. Cada seção deste artigo apresenta um problema, sugere uma solução e fornece uma explicação para ajudá-lo a compreender a solução.
1. Criando backup do seu banco de dados

O problema. Não execute nenhuma das dicas apresentadas nesse artigo sem antes criar um backup de sua base de dados do Wordpress.
A solução. Para criar um backup manualmente, no phpMyAdmin, siga as seguintes etapas:
- Faça login no phpMyAdmin e selecione sua base de dados do Wordpress.
- Feito isso, clique na aba “Exportação” localizado no menu horizontal superior.
- Selecione um método de compressão (pessoalmente, eu uso gzip), e clique no botão “Executar”.
- O navegador lhe perguntará se você quer fazer download o arquivo de backup. Obviamente, selecione “Sim” e salve o arquivo em uma pasta de sua preferência.
Explicação. É importante saber que usuários do Wordpress podem instalar o plugin WP-DB-Backup e assim criar facilmente backups regulares de seus dados.
2. Exclusão em Lote de Revisões dos Posts

O problema. Revisões de Posts é um recurso do WordPress presente a partir da versão 2.6 e pode ser muito útil, porém aumenta significativamente o tamanho de sua base de dados do MySQL. Claro, você pode excluir manualmente as revisões dos posts, mas pode ser um trabalho longo e chato.
A solução. A solução para esse problema é muito simples: nós excluiremos as revisões dos posts usando uma simples expressão SQL. O resultado será surpreendente se você tiver muitos posts: Sua base de dados será reduzida para a metade do seu tamanho!
- Entre no phpMyAdmin e selecione sua base de dados do WordPress.
- Clique na aba “SQL” e cole o seguinte código na janela de comando de SQL:
DELETE FROM wp_posts WHERE post_type = "revision";
Explicação. A tabela wp_posts tem um campo chamado post_type. Este campo pode ter valores tais como “post”, “page” ou “revision.” Para ficarmos livres das revisões, basta excluirmos todas entradas com post_type igual a “revision”.
Fonte:
3. Apagar milhares de Spams de Comentários em segundos

O problema. História verdadeira: um amigo meu, recentemente, criou seu próprio blog e começou a promovê-lo em toda parte na Internet. Depois de algumas semanas de trabalho intensivo, passou alguns dias em férias, sem acesso à Internet.
Quando retornou, acessou seu blog e viu… mais de 5000 comentários esperando moderação! Naturalmente, a maioria deles eram Spam, mas ele precisava verificar cada um para separar os Spams dos comentários feitos por usuários regulares.
A solução. “Feliz”, meu amigo me contou seu problema. Já tinha gastado mais de 45 minutos para excluir manualmente os Spams quando eu lhe mostrei esta útil e simples rotina:
- Entre no phpMyAdmin e selecione sua base de dados do WordPress.
- Clique na aba “SQL” e cole o seguinte código na janela de comando de SQL:
DELETE FROM wp_comments WHERE comment_approved = '0';
Explicação. A tabela dos wp_comments contem um campo chamado comment_approved, que recebe um valor booleano (1 ou 0). Os comentários aprovados têm um valor 1, e os comentários que esperam a moderação têm um valor 0. Executando o comando acima, nós excluimos simplesmente todos os comentários que não foram aprovados ainda.
Seja cuidadoso. Esta solução pode ser consideravelmente útil se você tem milhões de spams de comentários, igualmente apagará comentários válidos ainda não aprovados. Se você ainda não usa o plugin Akismet, instale-o imediatamente para impedir spamming.
Fonte:
4. Alterando a Atribuição do Post

O problema. Quando você instalou o WordPress, um usuário “admin” foi criado. Alguns blogueiros cometem o erro de usar esse cliente para escrever seus posts, até perceberem que não fica muito pessoal.
A solução. A alteração do autor em cada post toma muito tempo. Felizmente, uma expressão SQL pode ajudá-lo a resolver esse problema:
- Entre no phpMyAdmin e selecione sua base de dados do WordPress.
- Primeiramente, precisamos dos IDs corretos dos usuários. Para fazer isso, abra a janela de comando SQL e execute a seguinte expressão:
SELECT ID, display_name FROM wp_users;
- o phpMyAdmin mostrará uma lista de usuários com seus respectivos IDs. Permita informar que NEW_AUTHOR_ID é a identificação do autor mais recentemente criado, e OLD_AUTHOR_ID é a identificação do usuário admin.
- Depois que você identificar os IDs do NEW_AUTHOR_ID e do OLD_AUTHOR_ID, execute o seguinte comando:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
- Pronto, agora todos os posts anteriormente atribuídos ao usuário admin, serão atribuídos ao usuário válido de sua preferência.
Fonte:
5. Resetar Senha Manualmente

O problema. A fim proteger seus blogs, os usuários costuma utilizar senhas fortes, tais como u7*KoF5i8_. Naturalmente, esta é uma boa prática, mas eu ouvi muitas histórias de senhas esquecidas do usuário admin.
A solução. Quando você perde sua senha, o WordPress pode enviar-lhe por e-mail um link para restaurá-la. Mas se você não tem o acesso ao endereço de e-mail gravado na base de dados de WordPress, ou se você preferir apenas executar um comando simples diretamente no banco de dados, está aqui o hack.
- Entre no phpMyAdmin, selecione sua base de dados do WordPress e abra a janela do SQL.
- Copie e cole o seguinte código na caixa de texto de SQL (supondo que seu username seja “admin “):
UPDATE `wp_users` SET `user_pass` = MD5('SENHA') WHERE `wp_users`.`user_login` =`admin` LIMIT 1;
- Pronto. Sua senha foi substituída com sucesso por o que quer que você tenha introduzido em (’SENHA’).
Explicação. As senhas dos usuários são gravadas na tabela wp_users. Claro, é usada criptografia MD5 para tornar os dados seguros no banco de dados.
Executamos um comando “UPDATE” de codificamos o valor da senha com MD5() para converter o valor passado para MD5. A cláusula “WHERE” garante que só estejamos alterando a senha do usuário chamando “admin”. Caso não coloquemos a cláusula “WHERE” como informado, todos os usuários terão as senhas alterados pelo valor que informarmos em MD5(’SENHA’).
Fonte:
6. Alterando o Domínio do seu Wordpress

O problema. Embora não seja recomendado, você pode querer em algum ponto mudar o domínio do seu Wordpress e manter os dados do seu blog. Como o WordPress grava seu domínio na base de dados, você tem que alterar seu domínio na base de dados para que o Wordpress consiga identifcar seu novo domínio.
A solução.
- A primeira coisa a fazer é entrar no phpMyAdmin e selecionar sua base de dados do WordPress.
- Clique em “SQL” para abrir a janela de comando de SQL. Para alterar seu domínio, execute este primeiro comando:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://www.siteantigo.com.br', 'http://www.sitenovo.com.br') WHERE option_name = 'home' OR option_name = 'siteurl';
- Agora nós temos que substituir as “URLs Relativas (guid)” de cada post. O seguinte comando fará esse trabalho:
UPDATE wp_posts SET guid = REPLACE(guid, 'http://www.siteantigo.com.br','http://www.sitenovo.com.br');
- Estamos quase lá. A última coisa a fazer é uma busca na tabela wp_posts, alterando o conteúdo dos posts, para certificar-se de que nenhum post tenha “URLs Absolutas” para o domínio antigo:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.siteantigo.com.br', 'http://www.sitenovo.com.br');
- Pronto. Você já pode entrar em seu Wordpress usando seu novo domínio.
Explicação. Para mudar facilmente nosso domínio no WordPress, eu utilizei a função super-útil do MySQL “replace” que permite que você substitua um termo por outro.
Fonte:
7. Mostrar o Número de Consultas SQL em seu Blog

O problema. Para otimizar o tempo de carregamento do seu blog, saber o número de consultas feitas à base de dados é muito importante. A fim reduzir consultas, a primeira coisa a saber é quantas consultas são feitas em uma única página.
A solução.
- Desta vez, não é necessário entrar no phpMyAdmin. Apenas abra o arquivo footer.php de seu tema e adicione as seguintes linhas de código:
<?php if(is_user_logged_in()){?> <?php echo get_num_queries(); ?> consultas em <?php timer_stop(1); ?> segundos. <?php }?>
- Salve o arquivo e acesse seu blog. No rodapé da página, você verá o número de consultas feitas à base de dados do WordPress bem como o tempo que levou para as fazer.
Explicação. Parece que muitos usuários do WordPress não estão cientes desta função útil. A função get_num_queries() mostra a quantidade de consultas feitas à base de dados durante o carregamento da página.
Note que o código acima indicará somente o número de consultas de usuários logados, porque os visitantes e os robôs de Sistemas de Busca não precisam saber sobre isso. Mas, se você quizer disponibilizar essa informação ao público, apenas remova a instrução condicional if (is_user_logged_in()).
Fonte:
8. Restaurando seu Banco de Dados do Wordpress

O problema. Imaginemos que, por qualquer motivo, como um problema de invasão ou de melhoramentos no sistema, você tenha perdido os dados do seu blog ou tais dados foram corrompidos. Se você tiver um backup (e eu espero que tenha!), você terá que importá-lo para sua base de dados do WordPress.
A solução.
- Entre no phpMyAdmin e selecione sua base de dados do WordPress.
- Clique na aba “Importação” no menu horizontal superior.
- Clique no botão “Procurar (Browse)” e selecione o arquivo de backup mais recente da base de dados em seu disco rígido.
- Clique no botão “Executar”. Se tudo correr bem, sua base de dados do WordPress será inteiramente funcional outra vez.
Este artigo é uma versão em português do original encontrado no endereço abaixo:
http://www.smashingmagazine.com/2008/12/18/8-useful-wordpress-sql-hacks

