<?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; css</title>
	<atom:link href="http://wp-brasil.org/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://wp-brasil.org</link>
	<description>Site da Comunidade Brasileira de WordPress</description>
	<lastBuildDate>Sat, 18 May 2013 07:10:19 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Classes geradas pelo WordPress</title>
		<link>http://wp-brasil.org/blog/2009/08/23/classes-geradas-pelo-wordpress/</link>
		<comments>http://wp-brasil.org/blog/2009/08/23/classes-geradas-pelo-wordpress/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 22:59:50 +0000</pubDate>
		<dc:creator>Cátia Kitahara</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[estilos]]></category>

		<guid isPermaLink="false">http://wp-brasil.org/?p=1446</guid>
		<description><![CDATA[Para auxiliar os designers, o WordPress gera automaticamente várias classes de CSS (cascade styling sheet) e algumas id&#8217;s facilitando o controle da aparência do blog ou site. Procuro utilizá-las sempre que possível, evitando assim criar classes redundantes. Porém não conheço todas, pois são muitas. Busquei no Codex uma documentação a respeito para me servir de [...]]]></description>
				<content:encoded><![CDATA[<p>Para auxiliar os designers, o WordPress gera automaticamente várias classes de CSS (cascade styling sheet) e algumas id&#8217;s facilitando o controle da aparência do blog ou site. Procuro utilizá-las sempre que possível, evitando assim criar classes redundantes. Porém não conheço todas, pois são muitas. Busquei no <a href="http://codex.wordpress.org/">Codex</a> uma documentação a respeito para me servir de referência. Encontrei apenas esta página <a href="http://codex.wordpress.org/CSS">CSS</a>, mas que relaciona apenas algumas delas. Algumas classes aparecem na documentação da função que as origina, mas infelizmente, nem todas as classes são documentadas e algumas surgem em novas versões e acho que muita gente nem fica sabendo.</p>
<p>Por esse motivo tive a idéia de escrever este post e relacionar algumas das classes que eu conheço e que não estão no Codex ou estão espalhadas nas documentações das funções. Também gostaria de pedir a vocês que me auxiliem na construção dessa lista citando aqui nos comentários quais são as classes que vocês conhecem e qual a função que gera estas classes.  Depois de um período, gostaria de acrescentá-las ao codex, fazendo uma contribuição para toda a comunidade.</p>
<h4>Função post_class()</h4>
<p>Veja este post  <a href="http://wp-brasil.org/dicas-e-tutoriais/aplicando-estilos-aos-posts-com-a-funcao-post_class">Aplicando estilos aos posts com a função post_class()</a>.</p>
<h4>Template tag body_class()</h4>
<p>A função <code>body_class()</code> introduzida no 2.8 gera as seguintes classes dependendo do tipo de página em que se está:</p>
<ul>
<li>rtl</li>
<li>home</li>
<li>blog</li>
<li>archive</li>
<li>date</li>
<li>search</li>
<li>paged</li>
<li>attachment</li>
<li>error404</li>
<li>single postid-(id)</li>
<li>attachmentid-(id)</li>
<li>attachment-(mime-type)</li>
<li>author</li>
<li>author-(user_nicename)</li>
<li>category</li>
<li>category-(slug)</li>
<li>tag</li>
<li>tag-(slug)</li>
<li>page-parent</li>
<li>page-child parent-pageid-(id)</li>
<li>page-template page-template-(nome do arquivo template)</li>
<li>search-results</li>
<li>search-no-results</li>
<li>logged-in</li>
<li>paged-(número da página)</li>
<li>single-paged-(número da página)</li>
<li>page-paged-(número da página)</li>
<li>category-paged-(número da página)</li>
<li>tag-paged-(número da página)</li>
<li>date-paged-(número da página)</li>
<li>author-paged-(número da página)</li>
<li>search-paged-(número da página)</li>
</ul>
<h5>Uso</h5>
<p><code>[sourcecode language='php']<body <?php body_class();?>>[/sourcecode]<br />
</code></p>
<h5>Código gerado (output)</h5>
<p>Exemplo, caso a página atual seja a home:</p>
<p><code>[sourcecode language='html']<body class="home">[/sourcecode]</code></p>
<p>(fonte: wpengineer.com, post: <a title="Permanent Link to WordPress 2.8 body_class, automatic_feed_links" href="http://wpengineer.com/wordpress-28-body_class-automatic_feed_links/">WordPress 2.8 body_class, automatic_feed_links</a>)</p>
<h4>Função get_avatar()</h4>
<p>Esta função utilizada para exibir o avatar ou gravatar gera as seguintes classes na tag &lt;img&gt;:</p>
<ul>
<li>avatar</li>
<li>avatar-(tamanho)</li>
<li>avatar-default (caso o usuário não tenha avatar/gravatar)</li>
<li>photo</li>
</ul>
<h5>Código gerado (output)</h5>
<p>Exemplo, caso seu avatar tenha medidas de 50x50px:</p>
<p><code>[sourcecode language='html']<img class="avatar avatar-50 photo" src="caminho" alt="" />[/sourcecode]</code></p>
<h4>Função wp_list_comments</h4>
<p>O WordPress gera as seguintes classes:</p>
<ul>
<li>commentlist</li>
<li>comment</li>
<li>even/odd (para criar estilos cor-sim/cor-não <img src='http://wp-brasil.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</li>
<li>alt</li>
<li>thread-alt</li>
<li>thread-even/thread-odd</li>
<li>depth-(número)</li>
<li>byuser</li>
<li>bypostauthor</li>
<li>parent</li>
<li>comment-author</li>
<li>vcard</li>
<li>url</li>
<li>says</li>
<li>comment-meta</li>
<li>commentmetadata</li>
<li>reply</li>
<li>cancel-comment-reply</li>
<li>cancel-comment-reply-link</li>
<li>commentform</li>
<li>children</li>
</ul>
<p>Ele também gera as classes do avatar acima mencionadas.</p>
<h5>Código gerado (output)</h5>
<p><span><span>Veja <a href="http://www.wp-fun.co.uk/2008/12/10/27-comment-classes/">esse post de Andrew Rickmann</a> onde ele montou um gráfico com a estrutura do html gerado.</span></span></p>
<h4><span><span>Galeria</span></span></h4>
<p><span><span>Quando inserimos uma galeria em um post via shortcode ou diretamente no código com a função do_shortcode() o WordPress gera as seguintes classes:</span></span></p>
<ul>
<li><span><span>gallery</span></span></li>
<li><span><span>gallery-item</span></span></li>
<li><span><span>gallery-icon</span></span></li>
<li><span><span>attachment-thumbnail</span></span></li>
</ul>
<h5>Código gerado (output)</h5>
<p>[sourcecode language='html']
<div class="gallery">
<dl class="gallery-item">
<dt class="gallery-icon">
<p><a title="titulo" href="caminho"></p>
<p><img class="attachment-thumbnail" src="caminho" alt="" /></p>
<p></a></p>
</dt>
</dl>
<p><!--assim por diante--></p>
</div>
<p>[/sourcecode]</p>
<p><span><span>Por enquanto são essas classes. Vocês se lembram de mais algumas? Comentem por favor!<br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://wp-brasil.org/blog/2009/08/23/classes-geradas-pelo-wordpress/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Aplicando estilos aos posts com a função post_class()</title>
		<link>http://wp-brasil.org/blog/2009/03/26/aplicando-estilos-aos-posts-com-a-funcao-post_class/</link>
		<comments>http://wp-brasil.org/blog/2009/03/26/aplicando-estilos-aos-posts-com-a-funcao-post_class/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 17:20:52 +0000</pubDate>
		<dc:creator>Cátia Kitahara</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[estilos]]></category>

		<guid isPermaLink="false">http://wp-brasil.org/novo/?p=34</guid>
		<description><![CDATA[É bastante comum querer diferenciar os seus posts dos demais, dependendo da categoria ou mesmo da tag à qual eles pertencem. Agora que os posts fixos, ou sticky posts em inglês, são nativos no WordPress, também é comum querer diferenciá-los dos demais. Na versão 2.7, essa tarefa tornou-se mais fácil com a introdução de uma [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_570" class="wp-caption alignnone" style="width: 214px"><img class="size-full wp-image-570" title="post_class - Posts com classe" src="http://wp-brasil.org/wp-content/uploads/2009/03/post_class.png" alt="Ilustração por Cátia Kitahara" width="204" height="460" /><p class="wp-caption-text">Ilustração por Cátia Kitahara</p></div>
<p>É bastante comum querer diferenciar os seus posts dos demais, dependendo da categoria ou mesmo da tag à qual eles pertencem. Agora que os posts fixos, ou <em>sticky posts</em> em inglês, são nativos no WordPress, também é comum querer diferenciá-los dos demais.</p>
<p>Na versão 2.7, essa tarefa tornou-se mais fácil com a introdução de uma nova função chamada <code>post_class()</code> que simplesmente adiciona classes ao post, facilitando a aplicação de estilos.</p>
<p>Para usá-la no seu tema, basta colocá-la no loop onde normalmente você colocaria suas classes. Por exemplo:</p>
<p>[sourcecode language='php']
<div id="post-<?php the_ID(); ?>&#8221; <?php post_class(); ?>>[/sourcecode]</p>
<p>Essa função adiciona as classes: <strong>post</strong>, <strong>hentry </strong>(para páginas hAtom), <strong>category-x</strong> (onde x é o nome da categoria à qual o post pertence), <strong>tag-x</strong> (idem, mas para tags) e <strong>sticky </strong>(para posts marcados como fixos). A função também aceita acrescentar classes criadas por você mesmo:</p>
<p>[sourcecode language='php']<?php post_class('suaclasse'); ?>[/sourcecode]</p>
<p>Você ainda pode acrescentar uma ou mais classes separadas por espaço:</p>
<p>[sourcecode language='php']<?php post_class('suaclasse outraclasse'); ?>[/sourcecode]</p>
<p>No caso de posts fora do loop ou em um loop adicional, a função aceita o parâmetro post_id:</p>
<p>[sourcecode language='php']<?php post_class('',$post_id); ?>[/sourcecode]</p>
<p>Depois, é só criar os estilos para suas classes. Simples assim!</p>
]]></content:encoded>
			<wfw:commentRss>http://wp-brasil.org/blog/2009/03/26/aplicando-estilos-aos-posts-com-a-funcao-post_class/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Como chamar arquivos css ou js no seu tema ou plugin</title>
		<link>http://wp-brasil.org/blog/2009/02/19/como-chamar-arquivos-css-ou-js-no-seu-tema-ou-plugin/</link>
		<comments>http://wp-brasil.org/blog/2009/02/19/como-chamar-arquivos-css-ou-js-no-seu-tema-ou-plugin/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 18:43:51 +0000</pubDate>
		<dc:creator>Leo Germani</dc:creator>
				<category><![CDATA[Dicas e Tutoriais]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[avançado]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://wp-brasil.org/novo/?p=58</guid>
		<description><![CDATA[Muitas vezes, quando fazemos um tema ou um plugin, precisamos carregar folhas de estilo ou arquivos javascript adicionais. Neste post, vou mostrar a maneira mais legal, charmosa e elegante de se fazer isso. Estrutura básica Antes de mais nada, vamos criar a função que vai carregar nosso javascript e adicioná-la ao hook correto do WordPress: [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_572" class="wp-caption alignnone" style="width: 264px"><a href="http://wp-brasil.org/wp-content/uploads/2009/02/chamando_javascript.png"><img class="size-full wp-image-572" title="chamando_javascript" src="http://wp-brasil.org/wp-content/uploads/2009/02/chamando_javascript.png" alt="Ilustração por Cátia Kitahara" width="254" height="380" /></a><p class="wp-caption-text">Ilustração por Cátia Kitahara</p></div>
<p>Muitas vezes, quando fazemos um tema ou um plugin, precisamos carregar folhas de estilo ou arquivos javascript adicionais. Neste post, vou mostrar a maneira mais legal, charmosa e elegante de se fazer isso.</p>
<h4 class="no-clear">Estrutura básica</h4>
<p>Antes de mais nada, vamos criar a função que vai carregar nosso javascript e adicioná-la ao hook correto do WordPress:</p>
<p>[sourcecode language='php']<br />
function meuPlugin_addJS() {<br />
// aqui vou carregar meu javascript<br />
}</p>
<p>add_action(&#8216;wp_print_scripts&#8217;, &#8216;meuPlugin_addJS&#8217;);<br />
[/sourcecode]</p>
<p>Agora, sempre que o WordPress imprimir as chamadas a arquivos javascript, vai rodar a sua função. Vamos ver como isso vai funcionar.</p>
<h4>Usando a função wp_enqueue_script</h4>
<p>A função &#8220;wp_enqueue_script()&#8221; serve para colocar o script em uma fila de carregamento. Ela é extremamente útil para evitar que um script seja carregado mais de uma vez e também para carregar todas as dependências na ordem certa. Vamos ver um exemplo que usa todos os parâmetros desta função:</p>
<p>[sourcecode language='php']<br />
wp_enqueue_script(&#8216;meu_script&#8217;, &#8216;http://meusite.com/wp-content/plugins/meuplugin/script.js&#8217;, array(&#8216;jquery&#8217;), &#8217;1.0&#8242;);<br />
[/sourcecode]</p>
<p>Esta função está colocando o seu script na fila para ser carregado, dizendo o seguinte</p>
<ul>
<li>ele se chama &#8216;meu_script&#8217;</li>
<li>ele está em http://meusite.com/wp-content/plugins/meuplugin/script.js</li>
<li>ele depende do jquery</li>
<li>esta é a versão 1.0 do &#8216;meu_script&#8217;</li>
</ul>
<p>Você só precisa passar tantos parâmetros quando se trata de um script que o WordPress não conhece. Para carregar o jQuery, por exemplo, você pode simplesmente especificar:</p>
<p>[sourcecode language='php']<br />
wp_enqueue_script(&#8216;jquery&#8217;);<br />
[/sourcecode]</p>
<p>Note que &#8216;jquery&#8217; é apenas um &#8220;nome fantasia&#8221; para o script. Para saber quais são todos os scripts disponíveis por padrão no WordPress, dê uma olhada na <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">documentação completa da função wp_enqueue_script()</a>.</p>
<h4>Deixando seu caminho flexível</h4>
<p>Para encerrar este post, só falta esclarecer um ponto: não é bonito colocar o caminho para seu arquivo assim na mão, como fizemos no exemplo acima. Isso pode trazer vários problemas, porque, a partir do WordPress 2.6, é possível trocar o diretório &#8216;wp-content&#8217; de lugar. Seu plugin ou tema não vai funcionar corretamente em uma instalação em que alguém tenha movido este diretório. Além disso, não é raro as pessoas trocarem o nome da pasta do plugin, o que também quebraria o seu esquema.</p>
<p>Para contornar esse problema e deixar o seu código universal, vamos usar a constante WP_CONTENT_URL, que guarda o caminho da pasta wp-content, onde quer que ela esteja.</p>
<p>Vamos ver como ficaria nosso script completo:</p>
<p>[sourcecode language='php']<br />
function meuPlugin_addJS() {<br />
$meuPluginURL = WP_CONTENT_URL.&#8217;/plugins/&#8217;.plugin_basename( dirname(__FILE__)).&#8217;/';<br />
wp_enqueue_script(&#8216;meuJs&#8217;, $meuPluginURL . &#8216;meuJS.js&#8217;);<br />
}</p>
<p>add_action(&#8216;wp_print_scripts&#8217;, &#8216;meuPlugin_addJS&#8217;);<br />
[/sourcecode]<br />
Note que, se meu plugin não depende de ninguém, não preciso passar os dois últimos parâmetros.</p>
<p><strong>Importante:</strong> A constante WP_CONTENT_URL só foi introduzida no WordPress 2.6, portanto, se você quiser que seu plugin ou tema funcione em versões anteriores a esta, adicione uma linha para criar a constante, caso ainda não exista:<br />
[sourcecode language='php']<br />
if ( !defined(&#8216;WP_CONTENT_URL&#8217;) )<br />
define( &#8216;WP_CONTENT_URL&#8217;, get_option(&#8216;siteurl&#8217;) . &#8216;/wp-content&#8217;);<br />
[/sourcecode]</p>
<h4>Mas e nos temas?</h4>
<p>Nos temas, você pode fazer assim:<br />
[sourcecode language='php']<br />
// para garantir compatibilidade com versões anteriores ao WordPress 2.6<br />
if ( !defined(&#8216;WP_CONTENT_URL&#8217;) )<br />
define( &#8216;WP_CONTENT_URL&#8217;, get_option(&#8216;siteurl&#8217;) . &#8216;/wp-content&#8217;);</p>
<p>function meuTema_addJS() {<br />
wp_enqueue_script(&#8216;meuJs&#8217;, WP_CONTENT_URL.&#8217;/themes/meuTema/&#8217; . &#8216;meuJS.js&#8217;);<br />
}</p>
<p>function meuTema_addCSS() {<br />
echo &#8216;
<link rel="stylesheet" href="' . WP_CONTENT_URL . '/themes/meuTema/meuCSS.css" type="text/css" media="screen" />&#8216;;<br />
}</p>
<p>add_action(&#8216;wp_print_scripts&#8217;, &#8216;meuPlugin_addJS&#8217;);<br />
add_action(&#8216;wp_head&#8217;, &#8216;meuTema_addCSS&#8217;);<br />
[/sourcecode]</p>
<h4>Próximos passos</h4>
<p>Seu próximo passo é garantir que esses arquivos externos sejam carregados apenas quando realmente forem usados, para não sobrecarregar o site à toa. Existem várias maneiras de fazer isso, usando hooks específicos ou condições, mas é tema para outro post.</p>
<p>Abraços,</p>
<p>Leo</p>
]]></content:encoded>
			<wfw:commentRss>http://wp-brasil.org/blog/2009/02/19/como-chamar-arquivos-css-ou-js-no-seu-tema-ou-plugin/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
