<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>hacklab.com.br &#187; wordpress</title>
	<atom:link href="http://hacklab.com.br/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://hacklab.com.br</link>
	<description></description>
	<lastBuildDate>Wed, 07 Dec 2011 19:15:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Tradução pt-BR PollDaddy</title>
		<link>http://hacklab.com.br/2010/12/17/traducao-pt-br-polldaddy/</link>
		<comments>http://hacklab.com.br/2010/12/17/traducao-pt-br-polldaddy/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 19:12:27 +0000</pubDate>
		<dc:creator>Pedro Germani Ghiorzi</dc:creator>
				<category><![CDATA[Comunidade]]></category>
		<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[tradução]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hacklab.com.br/?p=999</guid>
		<description><![CDATA[Hoje traduzimos o plugin WordPress PollDaddy (v1.8.8), baseado em uma primeira tradução feita pelo Gabriel Reguly. você pode baixar o arquivo polldaddy-pt_BR aqui (http://hacklab.com.br/files/2010/12/polldaddy-pt_BR.po) Tradutores: Gabriel Reguly, Cátia Kitahara e Pedro Germani (se alguém está de fora, avise por favor)]]></description>
			<content:encoded><![CDATA[<p>Hoje traduzimos o plugin WordPress PollDaddy (v1.8.8), baseado em uma primeira tradução feita pelo Gabriel Reguly.</p>
<p><a href="http://hacklab.com.br/files/2010/12/polldaddy-pt_BR.po">você pode baixar o arquivo polldaddy-pt_BR aqui</a> (http://hacklab.com.br/files/2010/12/polldaddy-pt_BR.po)</p>
<p>Tradutores: Gabriel Reguly, Cátia Kitahara e Pedro Germani (se alguém está de fora, avise por favor)</p>
]]></content:encoded>
			<wfw:commentRss>http://hacklab.com.br/2010/12/17/traducao-pt-br-polldaddy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fix publicado no Plugin Geo-Mashup</title>
		<link>http://hacklab.com.br/2010/11/24/fix-publicado-no-plugin-geo-mashup/</link>
		<comments>http://hacklab.com.br/2010/11/24/fix-publicado-no-plugin-geo-mashup/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 12:06:01 +0000</pubDate>
		<dc:creator>Pedro Germani Ghiorzi</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[bug fix]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hacklab.com.br/?p=954</guid>
		<description><![CDATA[Há algum tempo atrás utilizamos o plugin Geo-Mashup para controle de georreferenciamento de posts do wordpress e exibição de coleções de posts em mapas do google. Quando começamos a implementar o sistema que usa este plugin, percebemos um bug que fazia a página de configuração do plugin ficasse na &#8220;aba errada&#8221; quando as configurações eram [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo atrás utilizamos o plugin Geo-Mashup para controle de georreferenciamento de posts do wordpress e exibição de coleções de posts em mapas do google.</p>
<p>Quando começamos a implementar o sistema que usa este plugin, percebemos um bug que fazia a página de configuração do plugin ficasse na &#8220;aba errada&#8221; quando as configurações eram atualizadas (POST).</p>
<p>Fizemos um pequeno fix, mandamos para os autores e entrou na versão nova!</p>
<p>Aproveitem, considero este um dos melhores plugins de georreferenciamento de post: ﻿﻿﻿﻿<a href="http://code.google.com/p/wordpress-geo-mashup">http://code.google.com/p/wordpress-geo-mashup</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hacklab.com.br/2010/11/24/fix-publicado-no-plugin-geo-mashup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress rewrite rules</title>
		<link>http://hacklab.com.br/2010/09/08/wordpress-rewrite-rules/</link>
		<comments>http://hacklab.com.br/2010/09/08/wordpress-rewrite-rules/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 18:49:14 +0000</pubDate>
		<dc:creator>leogermani</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wpbrasil]]></category>

		<guid isPermaLink="false">http://hacklab.com.br/?p=938</guid>
		<description><![CDATA[Algumas vezes, na construção de um site em WordPress, você pode precisar criar algum tipo de estrutura fora da hierarquia padrão do WordPress e seus arquivos de template. No WP 3.0 com os post types personalizados, isso se tornou uma necessidade ainda mais frequente. Você pode precisar, por exemplo, criar uma página com a listagens [...]]]></description>
			<content:encoded><![CDATA[<p>Algumas vezes, na construção de um site em WordPress, você pode precisar criar algum tipo de estrutura fora da hierarquia padrão do WordPress e seus arquivos de template. No WP 3.0 com os <a href="http://codex.wordpress.org/Custom_Post_Types">post types personalizados</a>, isso se tornou uma necessidade ainda mais frequente.</p>
<p>Você pode precisar, por exemplo, criar uma página com a listagens dos posts do tipo &#8216;livros&#8217; que você criou no seu código. </p>
<p>Este tutorial vai mostrar o funcionamento básico da classe <a href="http://codex.wordpress.org/Function_Reference/WP_Rewrite">WP_Rewrite()</a> do WordPress que te ajuda a criar URLs customizadas e usá-las para extrair informações (sem precisar usar ?variavel=valor) ou para redirecionar para um arquivo de template criado por você.<span id="more-938"></span></p>
<p>Existem outras maneiras de interagir com essa classe, e aqui vou mostrar apenas uma. Por isso é sempre bom dar uma olhada na <a href="http://codex.wordpress.org/Function_Reference/WP_Rewrite">documentção completa</a> depois.</p>
<p>Primeiro crie uma função que irá criar as suas regras e associe ela a um hook. Neste primeiro exemplo, vamos criar uma página de listagem para um custom post type.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> cria_minhas_regras<span style="color: #009900;">&#40;</span><span style="color: #000088;">$wp_rewrite</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000088;">$new_rules</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">&quot;livros$&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index.php?meu_template=livros'</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$wp_rewrite</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">rules</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$new_rules</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$wp_rewrite</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">rules</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'generate_rewrite_rules'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cria_minhas_regras'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No código acima estou criando uma regra que diz que sempre que minha URL for &#8220;meusite/livros&#8221;, ele será direcionado para o index.php com uma variável meu_template setada com o valor &#8216;livros&#8217;. Note que este é o index.php da raíz do WordPress, e não do tema ativo.</p>
<p>As regras são definidas usando uma expressão regular. Se você não conhece expressões regulares, <a href="pt.wikipedia.org/wiki/Expressão_regular">vá atrás</a> pois são muito úteis. Vamos montar algumas regras mais complexas aqui só para termos de exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> cria_minhas_regras<span style="color: #009900;">&#40;</span><span style="color: #000088;">$wp_rewrite</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$new_rules</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">&quot;livros$&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index.php?meu_template=livros'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;livros/autor/([^/]+)$&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index.php?meu_template=livros&amp;autor='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$wp_rewrite</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">preg_index</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$wp_rewrite</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">rules</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$new_rules</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$wp_rewrite</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">rules</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Agora adicionamos uma regra nova. Se a URL vier meusite/livros/autor/qualquercoisa, o WordPress vai criar uma variável chamada autor e colocar essa &#8220;qualquercoisa&#8221; como seu valor.</p>
<p>Note que é preciso saber alguma coisa de expressões regulares, pois elas são a base da construção das regras. Explicar expressões regulares nesse artigo o deixaria muito extenso. Por isso, apenas para constar, vale dizer que essa expressão regular entre parênteses quer dizer: um grupo de um ou mais caracteres que não tenha o caractere &#8220;/&#8221;. Os parênteses servem para capturar e depois serem acessados pelo método preg_index() ali na frente. Se houver mais de uma captura na mesma expressão, basta ir passando os valores 2, 3, etc para este método.</p>
<p>Seguindo adiante, precisamos registrar essas variáveis que criamos nas variáveis públicas da classe WP_Query, para que possamos acessá-las através da função get_query_var().</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> registrar_query_vars<span style="color: #009900;">&#40;</span><span style="color: #000088;">$public_query_vars</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$public_query_vars</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;meu_template&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$public_query_vars</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;autor&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$public_query_vars</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'query_vars'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'registrar_query_vars'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Pronto. Agora você pode acessar esses valores no seu código, usando, por exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$meu_template</span> <span style="color: #339933;">=</span> get_query_var<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu_template'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Em alguns casos, isso já vai ser suficiente, pois tudo o que você precisa é pegar algumas variáveis e aí no próprio arquivo functions do seu tema você se resolve. Mas você pode fazer também um redirecionamento para forçar o WordPress a usar um arquivo de template diferente do seu tema, que esteja fora da hierarquia do WordPress. Para isso, faça o seguinte:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> template_redirect_intercept<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// verifica a variável</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu_template'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'livros'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// se tiver o valor que queremos, usa o nosso template</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span> TEMPLATEPATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/tpl_livros.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span> TEMPLATEPATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/tpl_livros.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'template_redirect'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'template_redirect_intercept'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>E é isso. Agora crie o arquivo tpl_livros.php no seu tema e seja feliz.</p>
<p><strong>Nota importantíssima:</strong> o hook &#8220;generate_rewrite_rules&#8221; onde colocamos nossa função para criar as novas regras é chamado quando você salva as configurações de Links Permanentes. É preciso que seus links permanentes estejam configurados para alguma coisa diferente da padrão e o módulo rewrite do apache esteja funcionando corretamente, com o arquivo .htaccess criado.</p>
<p><strong>Nota importantíssima 2:</strong> Cada vez que você mudar alguma coisa no código das suas regras, é preciso salvar novamente a configuração de Links Permanentes para atualizar as regras. Isso acontece porque o WordPress guarda essas regras no banco, e não adianta simplesmente gerá-las dinamicamente no código. Você pode contornar isso, chamando na mão a função &#8220;$wp_rewrite-&gt;flush_rules()&#8221;, mas não é uma boa idéia chamar essa função toda vez que o site é carregado, pois ela é meio pesada.</p>
<p><strong>Rewrite Rules rules!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://hacklab.com.br/2010/09/08/wordpress-rewrite-rules/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plugins WordPress feitos pelo Hacklab</title>
		<link>http://hacklab.com.br/2010/05/21/plugins-wordpress-feitos-pelo-hacklab/</link>
		<comments>http://hacklab.com.br/2010/05/21/plugins-wordpress-feitos-pelo-hacklab/#comments</comments>
		<pubDate>Fri, 21 May 2010 15:13:11 +0000</pubDate>
		<dc:creator>Pedro Germani Ghiorzi</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hacklab.com.br/?p=753</guid>
		<description><![CDATA[O Hacklab está lançando oficialmente a série de sites para nossos plugins para WordPress. Alguns plugins estavam hospedados em outros lugares e agora todos têm um site específico, onde você pode fazer consultas à documentação, visualizar demonstrações de funcionamento e tirar dúvidas na seção de suporte. EletroWidgets Este plugin permite a customização de páginas utilizando [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify">O <span style="color: #be1e2d">Hacklab </span>está lançando oficialmente a série de sites para nossos plugins para WordPress. Alguns plugins estavam hospedados em outros lugares e agora todos têm um site específico, onde você pode fazer consultas à documentação, visualizar demonstrações de funcionamento e tirar dúvidas na seção de suporte.</p>
<p style="text-align: justify"><span id="more-753"></span></p>
<h2 style="text-align: center"><span style="color: #be1e2d">EletroWidgets</span></h2>
<p style="text-align: justify">Este plugin permite a customização de páginas utilizando a flexibilidade e poder dos widgets em uma área dinâmica, na qual você gerencia seus widgets utilizando técnicas de arrastar e soltar. Temos um grande orgulho de lançar este plugin pois acreditamos que ele oferece uma das melhores interfaces para customização de páginas modulares.</p>
<p style="text-align: center">
<div id="attachment_818" class="wp-caption aligncenter" style="width: 288px"><a href="http://hacklab.com.br/files/2010/04/eletrowidgets.jpg" rel="lightbox[753]"><img class="size-medium wp-image-818" title="eletrowidgets" src="http://hacklab.com.br/files/2010/04/eletrowidgets-278x190.jpg" alt="EletroWidgets Screenshot" width="278" height="190" /></a><p class="wp-caption-text">EletroWidgets</p></div>
<p>Página do plugin: <a title="EletroWidgets" href="http://eletrowidgets.hacklab.com.br/" target="_blank">http://eletrowidgets.hacklab.com.br</a><br />
WordPress.org: <a title="EletroWidgets no WordPress.org" href="http://post-highlights.hacklab.com.br WordPress.org: http://wordpress.org/extend/plugins/eletro-widgets" target="_blank">http://wordpress.org/extend/plugins/eletro-widgets</a></p>
<h2 style="text-align: center"><span style="color: #be1e2d">Post Tabs.</span></h2>
<p style="text-align: justify">Este plugin proporciona a separação de conteúdo dos posts e páginas em abas, para organização da informação. O legal é que você pode colocar abas em qualquer ponto do post e pode inserir qualquer conteúdo nelas.</p>
<p style="text-align: center">
<div id="attachment_766" class="wp-caption aligncenter" style="width: 265px"><a href="http://hacklab.com.br/files/2010/04/posttabs1.jpg" rel="lightbox[753]"><img class="size-full wp-image-766" title="posttabs" src="http://hacklab.com.br/files/2010/04/posttabs1.jpg" alt="Post Tabs screenshot" width="255" height="260" /></a><p class="wp-caption-text">Post Tabs</p></div>
<p style="text-align: center">Página do plugin: <a title="Post Tabs" href="http://post-tabs.hacklab.com.br" target="_blank">http://post-tabs.hacklab.com.br</a><br />
WordPress.org:<a title="Post Tabs no WordPress.org" href="http://wordpress.org/extend/plugins/posttabs/" target="_blank"> http://wordpress.org/extend/plugins/posttabs/</a></p>
<h2 style="text-align: center"><span style="color: #be1e2d">Post Highlights</span></h2>
<p style="text-align: justify">Plugin criado originalmente para o site <a title="Catraca Livre" href="http://catracalivre.com.br" target="_blank">catracalivre.com.br</a> que exibe posts selecionados em uma caixa de destaques com slideshow. A interface de seleção é integrada à listagem de posts do WordPress, facilitando a administração. Este foi o primeiro plugin que fizemos com esta integração, o que se mostrou muito eficiente e intuitivo. Primeiramente a interface que é inserida no tema foi construída utilizando o Adobe Flash, mas por motivos de maximização da compatibilidade, agora ele é baseado em jQuery, o que fez com que o número de downloads crescesse bastante na <a title="Stats do PostHighlights" href="http://wordpress.org/extend/plugins/post-highlights/stats/" target="_blank">página do plugin no WordPress.org</a>.</p>
<p style="text-align: justify">Ele também conta com uma estrutura para que qualquer pessoa possa criar diferentes temas para ele. Veja, por exemplo, uma aplicação de um tema bem diferente em <a href="http://pagina22.com.br" target="_blank">http://pagina22.com.br</a>.</p>
<p style="text-align: center">
<div id="attachment_817" class="wp-caption aligncenter" style="width: 288px"><a href="http://hacklab.com.br/files/2010/04/posthighlights.jpg" rel="lightbox[753]"><img class="size-medium wp-image-817" title="posthighlights" src="http://hacklab.com.br/files/2010/04/posthighlights-278x190.jpg" alt="Post Highlights screenshot" width="278" height="190" /></a><p class="wp-caption-text">Post Highlights</p></div>
<p style="text-align: center">Página do plugin: <a title="Post Highlights" href="http://post-highlights.hacklab.com.br" target="_blank">http://post-highlights.hacklab.com.br</a><br />
WordPress.org: <a title="Post Highlights no WordPress.org" href="http://wordpress.org/extend/plugins/post-highlights/" target="_blank">http://wordpress.org/extend/plugins/post-highlights/</a></p>
<h2 style="text-align: center"><span style="color: #be1e2d">Vote2Publish</span></h2>
<p style="text-align: justify">Desenvolvido especialmente para o WPMU, este plugin permite aos usuários registrados votarem (dar um ponto positivo) em posts nos vários blogs do site.  Os posts mais votados são promovidos para o blog principal de acordo com regras customizadas. A maneira como o voto é exibido em cada post também é facilmente customizável via CSS.</p>
<p style="text-align: center">
<div id="attachment_826" class="wp-caption aligncenter" style="width: 288px"><a href="http://hacklab.com.br/files/2010/04/vote2publish.jpg" rel="lightbox[753]"><img class="size-medium wp-image-826" title="vote2publish" src="http://hacklab.com.br/files/2010/04/vote2publish-278x190.jpg" alt="Vote2Publish screenshot" width="278" height="190" /></a><p class="wp-caption-text">Vote2Publish</p></div>
<p style="text-align: center">Página do plugin: <a title="Vote2Publish" href="http://vote2publish.hacklab.com.br/" target="_blank">http://vote2publish.hacklab.com.br/</a><br />
WordPress.org: <a title="Vote2Publish no WordPress.org" href="http://wordpress.org/extend/plugins/vote2publish/" target="_blank">http://wordpress.org/extend/plugins/vote2publish/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hacklab.com.br/2010/05/21/plugins-wordpress-feitos-pelo-hacklab/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Blog do CCJ Ruth Cardoso</title>
		<link>http://hacklab.com.br/2010/05/17/blog-do-ccj-ruth-cardoso/</link>
		<comments>http://hacklab.com.br/2010/05/17/blog-do-ccj-ruth-cardoso/#comments</comments>
		<pubDate>Mon, 17 May 2010 15:32:43 +0000</pubDate>
		<dc:creator>andersonorui</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hacklab.com.br/?p=877</guid>
		<description><![CDATA[Site do Centro Cultural da Juventude Ruth Cardoso com blog, agenda de eventos e galeria de fotos. Design por Eduardo Agni.]]></description>
			<content:encoded><![CDATA[<p>Site do <a href="http://escuta.estudiolivre.org/" target="_blank">Centro  Cultural da Juventude Ruth Cardoso</a> com blog, agenda de eventos e  galeria de fotos.</p>
<p>Design por <a href="http://www.agni.art.br/" target="_blank">Eduardo Agni</a>.</p>
<p style="text-align: center"><a href="http://hacklab.com.br/files/2010/05/ccjblog_001.jpg" rel="lightbox[877]"><img class="aligncenter size-large wp-image-869" title="ccjblog_001" src="http://hacklab.com.br/files/2010/05/ccjblog_001-380x260.jpg" alt="" width="380" height="260" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://hacklab.com.br/2010/05/17/blog-do-ccj-ruth-cardoso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Como impedir que o editor do WordPress (TinyMCE) remova quebras de linha</title>
		<link>http://rodrigo.utopia.org.br/2009/05/04/como-impedir-que-o-editor-do-wordpress-tinymce-remova-quebras-de-linha/</link>
		<comments>http://rodrigo.utopia.org.br/2009/05/04/como-impedir-que-o-editor-do-wordpress-tinymce-remova-quebras-de-linha/#comments</comments>
		<pubDate>Mon, 04 May 2009 18:29:44 +0000</pubDate>
		<dc:creator>rodrigo</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[tinymce]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://rodrigo.hacklab.com.br/?p=10</guid>
		<description><![CDATA[Atualização (15/10/2009): o Rafael Biriba deixou um comentário falando do PS Disable Auto Formatting, um outro plugin do Wordpress que também server para impedir a remoção automática das tags &#8220;br&#8221; e &#8220;p&#8221;.

Mais de uma vez quis formatar o texto de um post do Wordpress usando algumas quebras de linha (enter) para separar dois blocos de [...]]]></description>
			<content:encoded><![CDATA[<p><em>Atualização (15/10/2009)</em>: o <a href="http://www.rafaelbiriba.com/">Rafael Biriba</a> deixou um comentário falando do <a href="http://wordpress.org/extend/plugins/ps-disable-auto-formatting/">PS Disable Auto Formatting</a>, um outro plugin do Wordpress que também server para impedir a remoção automática das tags &#8220;br&#8221; e &#8220;p&#8221;.</p>
<p><br class="spacer_" /></p>
<p>Mais de uma vez quis formatar o texto de um post do Wordpress usando algumas quebras de linha (enter) para separar dois blocos de texto ou então um bloco de texto de uma imagem. Porém, por padrão o editor do Wordpress, o TinyMCE, remove qualquer tag &#8220;br&#8221; ou &#8220;p&#8221; que ele considere que esteja &#8220;sobrando&#8221;.</p>
<p>Talvez exista uma forma mais inteligente de se fazer isso sem usar quebra de linha, porém eu desconheço e já perdi um bom tempo tentando enganar o editor.</p>
<p>Ontem, encontrei o <a href="http://www.laptoptips.ca/projects/tinymce-advanced/">TinyMCE Advanced</a> um plugin que tem uma opção para que as tags &#8220;br &#8220;<br />
 e &#8220;p&#8221; não sejam removidas e além disso permite customizar os itens que aparecem na barra de edição. Abaixo um screenshot de parte da tela de administração:</p>
<p style="text-align: center"><a href="http://rodrigo.utopia.org.br/files/tadv2.jpg" rel="lightbox[10]"><img class="size-thumbnail wp-image-13 aligncenter" src="http://rodrigo.utopia.org.br/files/tadv2-150x150.jpg" alt="Parte da tela de administração do TinyMCE Advanced" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://rodrigo.utopia.org.br/2009/05/04/como-impedir-que-o-editor-do-wordpress-tinymce-remova-quebras-de-linha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moderação de usuários no WordPress</title>
		<link>http://rodrigo.utopia.org.br/2009/04/17/moderacao-de-usuarios-no-wordpress/</link>
		<comments>http://rodrigo.utopia.org.br/2009/04/17/moderacao-de-usuarios-no-wordpress/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 20:12:59 +0000</pubDate>
		<dc:creator>rodrigo</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://rodrigo.hacklab.com.br/?p=3</guid>
		<description><![CDATA[Uma das demandas do portal eletrocooperativa.org.br (um dos projetos desenvolvidos pelo Hacklab neste semestre) é a moderação dos usuários que se registram no site. Como esse recurso não existe no core do Wordpress, saímos em busca de um plugin.
O Leo encontrou no diretório de plugins do Wordpress (http://wordpress.org/extend/plugins/) o New User Approve, uma extensão simples [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das demandas do portal eletrocooperativa.org.br (um dos projetos desenvolvidos pelo Hacklab neste semestre) é a moderação dos usuários que se registram no site. Como esse recurso não existe no core do Wordpress, saímos em busca de um plugin.</p>
<p>O <a href="http://pirex.com.br/category/leo/">Leo</a> encontrou no diretório de plugins do Wordpress (http://wordpress.org/extend/plugins/) o <a href="http://www.picklewagon.com/wordpress/new-user-approve">New User Approve</a>, uma extensão simples que faz exatamente o que precisávamos. Durante o desenvolvimento encontramos dois problemas na versão atual (1.0):</p>
<ol>
<li>Se um usuário é criado pelo administrador e não pelo formulário de registro, ele aparece na listagem de usuários para moderação e se o administrador aprová-lo sua senha será alterada.</li>
<li>Com o plugin habilitado, o formulário de registro sempre mostra uma mensagem de usuário criado com sucesso mesmo quando ocorreram erros (como por exemplo nome de usuário já existente ou senhas não conferem).</li>
</ol>
<p>Fizemos dois patches para corrigir esses erros e enviamos para o desenvolvedor do plugin. Essa é a melhor parte do software livre <img src='http://rodrigo.utopia.org.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ele agradeceu mas infelizmente ainda não teve tempo para incorporar as mudanças no código e lançar uma nova versão. Acredito que o fará em breve.</p>
<p><span style="text-decoration: line-through">Se alguém precisar da mesma funcionalidade e quiser utilizar o plugin com as correções, o patch está disponível <a href="http://rodrigo.utopia.org.br/files/new-user-approvepatch.zip">neste link</a> (mais detalhes podem ser vistos nos comentários que fiz na página do próprio plugin).</span></p>
<p><strong>Atualização (em 22/04/2009):</strong> foi lançada uma nova versão (1.1) do plugin que incorpora os patches que enviei, basta baixá-la <a href="http://wordpress.org/extend/plugins/new-user-approve/">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rodrigo.utopia.org.br/2009/04/17/moderacao-de-usuarios-no-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moderação de usuários no WordPress</title>
		<link>http://rodrigo.utopia.org.br/2009/04/17/moderacao-de-usuarios-no-wordpress/</link>
		<comments>http://rodrigo.utopia.org.br/2009/04/17/moderacao-de-usuarios-no-wordpress/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 20:12:59 +0000</pubDate>
		<dc:creator>rodrigo</dc:creator>
				<category><![CDATA[hacklab]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://rodrigo.hacklab.com.br/?p=3</guid>
		<description><![CDATA[Uma das demandas do portal eletrocooperativa.org.br (um dos projetos desenvolvidos pelo Hacklab neste semestre) é a moderação dos usuários que se registram no site. Como esse recurso não existe no core do Wordpress, saímos em busca de um plugin.
O Leo encontrou no diretório de plugins do Wordpress (http://wordpress.org/extend/plugins/) o New User Approve, uma extensão simples [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das demandas do portal eletrocooperativa.org.br (um dos projetos desenvolvidos pelo Hacklab neste semestre) é a moderação dos usuários que se registram no site. Como esse recurso não existe no core do Wordpress, saímos em busca de um plugin.</p>
<p>O <a href="http://pirex.com.br/category/leo/" >Leo</a> encontrou no diretório de plugins do Wordpress (http://wordpress.org/extend/plugins/) o <a href="http://www.picklewagon.com/wordpress/new-user-approve" >New User Approve</a>, uma extensão simples que faz exatamente o que precisávamos. Durante o desenvolvimento encontramos dois problemas na versão atual (1.0):</p>
<ol>
<li>Se um usuário é criado pelo administrador e não pelo formulário de registro, ele aparece na listagem de usuários para moderação e se o administrador aprová-lo sua senha será alterada.</li>
<li>Com o plugin habilitado, o formulário de registro sempre mostra uma mensagem de usuário criado com sucesso mesmo quando ocorreram erros (como por exemplo nome de usuário já existente ou senhas não conferem).</li>
</ol>
<p>Fizemos dois patches para corrigir esses erros e enviamos para o desenvolvedor do plugin. Essa é a melhor parte do software livre <img src='http://rodrigo.utopia.org.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ele agradeceu mas infelizmente ainda não teve tempo para incorporar as mudanças no código e lançar uma nova versão. Acredito que o fará em breve.</p>
<p><span style="text-decoration: line-through">Se alguém precisar da mesma funcionalidade e quiser utilizar o plugin com as correções, o patch está disponível <a href="http://rodrigo.utopia.org.br/files/new-user-approvepatch.zip">neste link</a> (mais detalhes podem ser vistos nos comentários que fiz na página do próprio plugin).</span></p>
<p><strong>Atualização (em 22/04/2009):</strong> foi lançada uma nova versão (1.1) do plugin que incorpora os patches que enviei, basta baixá-la <a href="http://wordpress.org/extend/plugins/new-user-approve/">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rodrigo.utopia.org.br/2009/04/17/moderacao-de-usuarios-no-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

