<?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>Comunidade WordPress-BR &#187; intermediário</title>
	<atom:link href="http://wp-brasil.org/tag/intermediario/feed" rel="self" type="application/rss+xml" />
	<link>http://wp-brasil.org</link>
	<description>Site da Comunidade Brasileira de WordPress</description>
	<lastBuildDate>Sat, 28 Jan 2012 21:05:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Como remover os widgets nativos do WordPress 2.8</title>
		<link>http://wp-brasil.org/dicas-e-tutoriais/como-remover-os-widgets-nativos-do-wordpress-2-8</link>
		<comments>http://wp-brasil.org/dicas-e-tutoriais/como-remover-os-widgets-nativos-do-wordpress-2-8#comments</comments>
		<pubDate>Wed, 08 Jul 2009 03:16:46 +0000</pubDate>
		<dc:creator>Eduardo Zulian</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[actions]]></category>
		<category><![CDATA[intermediário]]></category>
		<category><![CDATA[sidebar]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://wp-brasil.org/?p=1317</guid>
		<description><![CDATA[Uma simples forma de retirar os widgets que já acompanham a sua instalação do WordPress]]></description>
			<content:encoded><![CDATA[<p>Os widgets funcionam como plugins, adicionando ou removendo funcionalidades em um site. A diferença é que, através deles, você pode mudar elementos dentro do seu tema sem precisar mexer diretamente no código. Essa é uma boa estratégia quando você quer trocar rapidamente áreas (falar em <em>sidebars</em> neste caso não é mais correto, já que os widgets podem ser usados em qualquer parte do tema) do seu site, alterando-o sem muito esforço.</p>
<p>Ainda que alguns plugins como o <a href="http://justintadlock.com/archives/2008/12/09/widgets-reloaded-wordpress-plugin">Widgets Reloaded</a> transformem os widgets nativos consideravelmente, alguns são tão limitados que talvez você não precise deles. Nem você nem o seu cliente. E a solução pra isso é simples: remover do painel de administração os widgets que você não vai usar e manter apenas os importantes para o seu tema.</p>
<div id="attachment_1357" class="wp-caption alignnone" style="width: 472px"><a href="http://wp-brasil.org/wp-content/uploads/2009/07/como-remover-widgets-nativos.png"><img class="size-large wp-image-1357" src="http://wp-brasil.org/wp-content/uploads/2009/07/como-remover-widgets-nativos-462x122.png" alt="No painel de administração, com os widgets nativos já removidos" width="462" height="122" /></a><p class="wp-caption-text">No painel de administração, com os widgets nativos já removidos</p></div>
<p>Para isso, abra o seu arquivo <code>functions.php</code> e insira as seguintes linhas:</p>
<pre class="brush: php">

function remover_widgets() {

    // Caso queira manter algum widget, apenas comente a linha desejada

    unregister_widget( &#039;WP_Widget_Archives&#039; );
    unregister_widget( &#039;WP_Widget_Calendar&#039; );
    unregister_widget( &#039;WP_Widget_Categories&#039; );
    unregister_widget( &#039;WP_Widget_Links&#039; );
    unregister_widget( &#039;WP_Widget_Meta&#039; );
    unregister_widget( &#039;WP_Widget_Pages&#039; );
    unregister_widget( &#039;WP_Widget_Recent_Comments&#039; );
    unregister_widget( &#039;WP_Widget_Recent_Posts&#039; );
    unregister_widget( &#039;WP_Widget_RSS&#039; );
    unregister_widget( &#039;WP_Widget_Search&#039; );
    unregister_widget( &#039;WP_Widget_Tag_Cloud&#039; );
    unregister_widget( &#039;WP_Widget_Text&#039; );

}

// Adiciona a nossa função ao hook widgets_init

add_action( &#039;widgets_init&#039;, &#039;remover_widgets&#039; );
</pre>
<p>Criamos uma função, <code>remover_widgets()</code>, que vai agregar todos os <code>unregister_widget()</code> e, através deles, remover as funcionalidades que não desejamos. Após isso, o código executa a <a href="http://codex.wordpress.org/Function_Reference/add_action"><code>add_action()</code></a>, que registra a nossa função para ser executada quando a área de widgets for iniciada. E é isso. Agora é só entrar no painel de administração do WordPress e ver que os widgets já não estão mais lá.</p>
<p>Veja também:</p>
<ul>
<li><a href="http://codex.wordpress.org/Version_2.8#New_Widgets_API">A nova API de widgets do WordPress 2.8</a></li>
<li><a href="http://core.trac.wordpress.org/browser/trunk/wp-includes/default-widgets.php">Exemplo do código dos widgets nativos na versão 2.8</a> (você pode encontrar este arquivo na sua instalação do WordPress, em <em>wp-includes/default-widgets.php</em>)</li>
<li><a href="http://codex.wordpress.org/Function_Reference/add_action">A função add_action</a></li>
<li><a href="http://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters">Hooks do WordPress</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://wp-brasil.org/dicas-e-tutoriais/como-remover-os-widgets-nativos-do-wordpress-2-8/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Fazendo melhor uso dos sticky posts</title>
		<link>http://wp-brasil.org/dicas-e-tutoriais/fazendo-melhor-uso-dos-sticky-posts</link>
		<comments>http://wp-brasil.org/dicas-e-tutoriais/fazendo-melhor-uso-dos-sticky-posts#comments</comments>
		<pubDate>Thu, 26 Mar 2009 17:15:08 +0000</pubDate>
		<dc:creator>Eduardo Zulian</dc:creator>
				<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[intermediário]]></category>
		<category><![CDATA[sticky posts]]></category>

		<guid isPermaLink="false">http://wp-brasil.org/?p=456</guid>
		<description><![CDATA[Com os sticky posts, é possível fixar posts antigos acima da cadeia cronológica natural do blog. Veja algumas dicas para tirar melhor proveito dessa nova funcionalidade.]]></description>
			<content:encoded><![CDATA[<p>Com a chegada do WordPress 2.7, a plataforma mostrou algumas boas novidades. Como todo mundo já deve saber disso, dispensarei grandes apresentações. Bem, dentre tais novidades, a que chamou bastante atenção foi a chamada sticky posts/posts fixos, que nada mais são do que posts que você pode manter fixos na página inicial e, principalmente, no topo do seu blog/site, se assim quiser. Ainda acho que a funcionalidade é muito básica, mas tais considerações eu deixo para um próximo texto.  Por enquanto, a idéia é tentar detalhar um pouco as vantagens que a interessante novidade (não mais tão novidade, mas tudo bem) pode trazer para o seu site.</p>
<h4>Fixando o post</h4>
<p>Basta você criar um novo post ou editar um antigo e marcar a opção <em>Fixar este post na página inicial</em> no painel Publicar e pronto, seu post será o primeiro da lista. Caso deseje usar a funcionalidade para mais de um post, sem problemas. O WordPress jogará todos os posts marcados como sticky/fixo pro topo do seu site. Só atenção: a ordem dos posts respeitará a ordem que foi usada para marcá-los. O último post fixado vai ser sempre o primeiro da fila, independente da data dos outros. E que fique claro, os posts continuam na ordem cronológica. Se você desmarcar a opção de fixar o post, ele simplesmente não aparecerá mais no topo das postagens.</p>
<h4>Estilizando o post</h4>
<p>Como a <a href="http://wp-brasil.org/dicas-e-tutoriais/aplicando-estilos-aos-posts-com-a-funcao-post_class">Cátia já escreveu em seu texto sobre o post_class()</a>, o WordPress agora cria, através dessa função, várias classes para o post. E claro, era de se esperar que uma classe sticky fosse atribuída caso o post estivesse marcado assim. A minha estrutura ficou assim:</p>
<pre class="brush: html">&lt;div id=&quot;destaques&quot; class=&quot;post sticky hentry category-i&quot;&gt;</pre>
<p>Agora, é só declarar a classe sticky no seu arquivo CSS e estilizá-la como bem entender.</p>
<h4>A tag condicional is_sticky()</h4>
<p>Sendo redundante, a função <code>is_sticky()</code>, se usada dentro do <a href="http://codex.wordpress.org/The_Loop">The Loop</a>, vai retornar verdadeiro caso o post tenha sido marcado como sticky. É, simples assim.</p>
<pre class="brush: php">&lt;?php if (is_sticky()) echo &#039;Este é um sticky post&#039;; ?&gt;</pre>
<p>Caso você precise saber se tal post é um sticky, basta colocar a ID do post desejado como parâmetro da função:</p>
<pre class="brush: php">&lt;?php if (is_sticky(&#039;33&#039;)) echo &#039;Esse é um sticky post também&#039;; ?&gt;</pre>
<h4>Ignorando sticky posts</h4>
<p>Provavelmente você não vai querer que os posts fiquem fixos em todas as áreas do seu site, principalmente se você executa várias queries dentro do mesmo arquivo. Para ignorar os sticky posts e mantê-los na ordem cronológica, faça uso do parâmetro <code>caller_get_posts=1</code> dentro da query:</p>
<pre class="brush: php">&lt;?php query_posts(&#039;caller_get_posts=1&#039;); ?&gt;</pre>
<h4>Retirando ou mostrando apenas os sticky posts na query</h4>
<p>Não há muito o que explicar. Caso você não queira que a sua query mostre os posts marcados como sticky, faça:</p>
<pre class="brush: php">&lt;?php $sticky = get_option(&#039;sticky_posts&#039;) ; ?&gt;
&lt;?php query_posts(array(&#039;post__not_in&#039; =&gt; $sticky)); ?&gt;</pre>
<p>Agora, se a idéia e mostrar apenas aqueles posts marcados, use o parâmetro <code>post__in</code>:</p>
<pre class="brush: php">&lt;?php $sticky = get_option(&#039;sticky_posts&#039;) ; ?&gt;
&lt;?php query_posts(array(&#039;post__in&#039; =&gt; $sticky)); ?&gt;</pre>
<h4>Mostrando apenas um sticky post no topo da página</h4>
<p>Por padrão, o <code>query_posts()</code> traz todos os posts fixados para o topo. Se você quiser apenas um desses posts no topo, isso pode ser feito da seguinte maneira:</p>
<pre class="brush: php"> &lt;?php $sticky = get_option(&#039;sticky_posts&#039;); ?&gt;
&lt;?php query_posts(&#039;p=&#039; . $sticky[0]); ?&gt;</pre>
<p>Essa query é perfeita para blogs que possuam espaço para um post destaque. Porém, ela traz o primeiro post marcado como sticky (é, o primeiro de todos), o que não me parece uma solução muito interessante. Para que a query retorne o último post fixado, apenas adicione a função <code>array_reverse()</code> para que assim a primeira ocorrência seja, na verdade, o último sticky post.</p>
<pre class="brush: php">&lt;?php $sticky = get_option(&#039;sticky_posts&#039;); ?&gt;
&lt;?php $sticky = array_reverse($sticky); ?&gt;
&lt;?php query_posts(&#039;p=&#039; . $sticky[0]); ?&gt;</pre>
<p>E é isso. Resumidamente, estão aí todos (ou quase todos) os principais detalhes sobre sticky posts. É bem possível que este artigo não tenha mostrado nenhuma novidade perto de <a href="http://www.google.com/search?btnG=1&amp;q=sticky+posts+wordpress">outros já escritos</a>, mas ei, é mais uma referência. E sugestões, claro, são mais do que apreciadas.</p>
]]></content:encoded>
			<wfw:commentRss>http://wp-brasil.org/dicas-e-tutoriais/fazendo-melhor-uso-dos-sticky-posts/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

