<?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>Blog | Desenvolvedor Front-end - Ruan Mér</title>
	<atom:link href="http://ruanmer.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruanmer.com</link>
	<description>&#124; HTML &#124; CSS &#124; jQuery &#124; WordPress &#124;</description>
	<lastBuildDate>Fri, 14 Jul 2017 22:41:46 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.7</generator>
	<item>
		<title>Como verificar se um elemento existe no HTML com jQuery</title>
		<link>http://ruanmer.com/como-verificar-se-um-elemento-existe-no-html-com-jquery/</link>
					<comments>http://ruanmer.com/como-verificar-se-um-elemento-existe-no-html-com-jquery/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Fri, 09 Sep 2011 19:38:25 +0000</pubDate>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<guid isPermaLink="false">http://ruanmer.com/?p=971</guid>

					<description><![CDATA[<p>As vezes usando jQuery (ou qualquer outra biblioteca javascript) precisamos verificar se um certo elemento existe ou não no HTML. O uso dessa condição é comum quando você tem muitos plugins jQuery que não estão linkados em todas as páginas do seu site, e apenas um arquivo “base.js” com todas as chamadas das funções desses [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>As vezes usando jQuery (ou qualquer outra biblioteca javascript) precisamos verificar se um certo elemento existe ou não no HTML.</p>
<p>O uso dessa condição é comum quando você tem muitos plugins jQuery que não estão linkados em todas as páginas do seu site, e apenas um arquivo “base.js” com todas as chamadas das funções desses plugins. Nesse caso, o arquivo “base.js” vai dar erro, pois não vai encontrar o link dos plugins em todas as páginas que ele é executado.</p>
<p>Talvez você tenha tentado o óbvio que seria:</p>
<pre><code>if ( $("#minhadiv") ){
  // faça algo
}</code></pre>
<p><strong>Mas o código acima não funciona com jQuery. O correto é usar o seguinte código:</strong></p>
<pre><code>if ( $("#minhadiv").length ){
  // faça algo
}</code></pre>
<p>Com esse <em>if</em> você verifica se um elemento existe na página, e se sim (true), execute um código em especial. Caso o if retorne false, o código dentro dele será ignorado.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/como-verificar-se-um-elemento-existe-no-html-com-jquery/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
		<item>
		<title>Adicionando a slug do post como classe no body em WordPress</title>
		<link>http://ruanmer.com/adicionando-a-slug-do-post-como-classe-no-body-em-wordpress/</link>
					<comments>http://ruanmer.com/adicionando-a-slug-do-post-como-classe-no-body-em-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Wed, 03 Aug 2011 03:55:57 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://ruanmer.com/?p=966</guid>

					<description><![CDATA[<p>Usar as classes inseridas da função body_class aumenta muito o seu poder de customização de CSS em seu projeto em WordPress. Por padrão o WordPress insere algumas classes como: ID do post, o tipo de post, o template usado, entre outras coisas. Mas as vezes isso não é o bastante. Em um post anterior eu [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>Usar as classes inseridas da função <em>body_class</em> aumenta muito o seu poder de customização de CSS em seu projeto em WordPress. Por padrão o WordPress insere algumas classes como: ID do post, o tipo de post, o template usado, entre outras coisas. Mas as vezes isso não é o bastante. Em um post anterior eu ensinei como <a href="http://ruanmer.com/adicionando-o-nome-do-navegador-como-classe-na-tag-body-no-wordpress/" title="Adicionando o nome do navegador como classe na tag body no WordPress" target="_blank">adicionar o nome do navegador como classe na função body_class</a>. Neste post vou mostrar uma função simples que vai adicionar o tipo e slug de um post como classe na tag body.<span id="more-966"></span></p>
<p>Abaixo segue a função que você precisa adicionar no seu arquivo <em>functions.php</em>:</p>
<pre lang="php">
add_filter( 'body_class', 'post_name_in_body_class' );
function post_name_in_body_class( $classes ){
	if( is_singular() )
	{
		global $post;
		array_push( $classes, "{$post->post_type}-{$post->post_name}" );
	}
	return $classes;
}
</pre>
<p>O resultado dessa função é o tipo de post + o slug do post. Por exemplo, se for do tipo page (página) com nome de contato ficará &#8220;page-contato&#8221;.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/adicionando-a-slug-do-post-como-classe-no-body-em-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exibindo posts entre duas datas no WordPress</title>
		<link>http://ruanmer.com/exibindo-posts-entre-duas-datas-no-wordpress/</link>
					<comments>http://ruanmer.com/exibindo-posts-entre-duas-datas-no-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Tue, 19 Jul 2011 23:36:20 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[post_date]]></category>
		<category><![CDATA[post_where]]></category>
		<guid isPermaLink="false">http://ruanmer.com/?p=957</guid>

					<description><![CDATA[<p>O WordPress é uma ferramente que permite diversas coisas, uma delas é exibir posts entre duas datas. Com um simples filtro, você pode mudar sua query. Para isso, adicione o seguinte código antes da função query_posts dentro da página do seu tema:</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>O WordPress é uma ferramente que permite diversas coisas, uma delas é exibir posts entre duas datas. Com um simples filtro, você pode mudar sua query. Para isso, adicione o seguinte código antes da função <em>query_posts</em> dentro da página do seu tema:<span id="more-957"></span></p>
<pre lang="php"><?php
  function filter_where($where = '') {
        $where .= " AND post_date >= '1980-05-11' AND post_date <= '2011-05-11'";
    return $where;
  }
  add_filter('posts_where', 'filter_where');
  
  query_posts($query_string);
  while (have_posts()) :
      the_post();
      the_content();
  endwhile;
?></pre>
<p>Altere as datas <em>&#8216;1980-05-11&#8217;</em> e <em>&#8216;2011-05-11&#8217;</em> pelas datas desejadas, lembre-se de que a primeira data tem de ser anterior a segunda, e ambas tem de estar escritas no padrão americano (ano-mês-dia).</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/exibindo-posts-entre-duas-datas-no-wordpress/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Adicionando o nome do navegador como classe na tag body no WordPress</title>
		<link>http://ruanmer.com/adicionando-o-nome-do-navegador-como-classe-na-tag-body-no-wordpress/</link>
					<comments>http://ruanmer.com/adicionando-o-nome-do-navegador-como-classe-na-tag-body-no-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Mon, 18 Jul 2011 22:07:15 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[body_class]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[Cross-browser]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[navegador]]></category>
		<guid isPermaLink="false">http://ruanmer.com/?p=954</guid>

					<description><![CDATA[<p>Um problema comum que todo desenvolvedor encontra quando desenvolve seu código html/css é a falta de compatibilidade entre os navegadores (browsers), principalmente se tratando de Internet Explorer (IE). Somos obrigados a usar de diversos meios para poder fazer com que o código seja renderizado de formas diferentes em cada navegador. Se você está usando o [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>Um problema comum que todo desenvolvedor encontra quando desenvolve seu código html/css é a falta de compatibilidade entre os navegadores (browsers), principalmente se tratando de Internet Explorer (IE). Somos obrigados a usar de diversos meios para poder fazer com que o código seja renderizado de formas diferentes em cada navegador. </p>
<p>Se você está usando o WordPress e precisa criar estilos diferentes para cada navegador, uma boa maneira de fazer isso é adicionar o nome do navegador como classe no elemento <em>body</em> do HTML.<span id="more-954"></span> Você iria escrever seu CSS da seguinte forma:</p>
<pre lang="css">
.minha-div {}
.ie6 .minha-div {} /* se for o Internet Explorer 6 */
.ie7 .minha-div {} /* se for o Internet Explorer 7 */
.firefox .minha-div {} /* se for o Firefox */</pre>
<p>No código HTML do seu tema WordPress, você tem a seguinte função PHP na tag <em>body</em>:</p>
<pre lang="php"><body <?php body_class(); ?>></pre>
<p>Para adicionar classes a função <em>body_class</em>, teremos de criar uma função no arquivo <em>functions.php</em> que usará o filtro <em>body_class</em>. Veja o código a seguir com a função:</p>
<pre lang="php">
<?php 
function browser_body_class($classes) { 
    $browser = $_SERVER[ 'HTTP_USER_AGENT' ];
 
    // Mac, PC ...ou Linux
    if ( preg_match( "/Mac/", $browser ) ){
        $classes[] = 'mac';
 
    } elseif ( preg_match( "/Windows/", $browser ) ){
        $classes[] = 'windows';
 
    } elseif ( preg_match( "/Linux/", $browser ) ) {
        $classes[] = 'linux';
 
    } else {
        $classes[] = 'unknown-os';
    }
 
    // Checa na seguinte ordem: Chrome, Safari, Opera, MSIE, FF
    if ( preg_match( "/Chrome/", $browser ) ) {
        $classes[] = 'chrome';
 
        preg_match( "/Chrome\/(\d.\d)/si", $browser, $matches);
        $classesh_version = 'ch' . str_replace( '.', '-', $matches[1] );
        $classes[] = $classesh_version;
 
        } elseif ( preg_match( "/Safari/", $browser ) ) {
            $classes[] = 'safari';
 
            preg_match( "/Version\/(\d.\d)/si", $browser, $matches);
            $sf_version = 'sf' . str_replace( '.', '-', $matches[1] );
            $classes[] = $sf_version;
 
         } elseif ( preg_match( "/Opera/", $browser ) ) {
            $classes[] = 'opera';
 
            preg_match( "/Opera\/(\d.\d)/si", $browser, $matches);
            $op_version = 'op' . str_replace( '.', '-', $matches[1] );
            $classes[] = $op_version;
 
         } elseif ( preg_match( "/MSIE/", $browser ) ) {
            $classes[] = 'msie';
 
            if( preg_match( "/MSIE 6.0/", $browser ) ) {
                $classes[] = 'ie6';
            } elseif ( preg_match( "/MSIE 7.0/", $browser ) ){
                $classes[] = 'ie7';
            } elseif ( preg_match( "/MSIE 8.0/", $browser ) ){
                $classes[] = 'ie8';
            } elseif ( preg_match( "/MSIE 9.0/", $browser ) ){
                $classes[] = 'ie9';
            }
 
            } elseif ( preg_match( "/Firefox/", $browser ) &#038;&#038; preg_match( "/Gecko/", $browser ) ) {
                $classes[] = 'firefox';
 
                preg_match( "/Firefox\/(\d)/si", $browser, $matches);
                $ff_version = 'ff' . str_replace( '.', '-', $matches[1] );
                $classes[] = $ff_version;
 
            } else {
                $classes[] = 'unknown-browser';
            }
 
    return $classes;
}
 
add_filter('body_class','browser_body_class');
?></pre>
<p>Adicione essa função no arquivo <em>functions.php</em> e está pronto!<br />
Essa função não só checa qual é o navegador do usuário, como também checa a versão e o sistema operacional (MAC, Windows, Linux). </p>
<p>Com um pouco de leitura do código você será capaz de customizar o código e adicionar outras classes para sua necessidade.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/adicionando-o-nome-do-navegador-como-classe-na-tag-body-no-wordpress/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Exibindo o número de posts e páginas(pages) no WordPress</title>
		<link>http://ruanmer.com/exibindo-o-numero-de-posts-e-paginaspages-no-wordpress/</link>
					<comments>http://ruanmer.com/exibindo-o-numero-de-posts-e-paginaspages-no-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Thu, 22 Jul 2010 02:30:21 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Pages]]></category>
		<category><![CDATA[Posts]]></category>
		<guid isPermaLink="false">http://www.ruanmer.com.br/blog/?p=809</guid>

					<description><![CDATA[<p>O código para mostrar o número de posts, pages ou ambos no WordPress é bem simples. A variável que vamos usar para &#8220;imprimir&#8221; na tela o resultado vai ser $numposts. Exibindo o número de posts e páginas(pages) &#60;?php // Quantidade de posts e pages $numposts = $wpdb-&#62;get_var("SELECT COUNT(*) FROM $wpdb-&#62;posts WHERE post_status = 'publish'"); if [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>O código para mostrar o número de posts, pages ou ambos no <a href="http://www.ruanmer.com.br/blog/category/wordpress/" target="_blank">WordPress</a> é bem simples.<span id="more-809"></span></p>
<p>A variável que vamos usar para &#8220;imprimir&#8221; na tela o resultado vai ser <strong>$numposts</strong>.</p>
<h4>Exibindo o número de posts e páginas(pages)</h4>
<pre><code>&lt;?php
// Quantidade de posts e pages
$numposts = $wpdb-&gt;get_var("SELECT COUNT(*) FROM $wpdb-&gt;posts WHERE post_status = 'publish'");
if (0 &lt; $numposts) $numposts = number_format($numposts);
?&gt;

// Mostra o valor
&lt;?php echo $numposts; ?&gt;</code></pre>
<h4>Exibindo o número de posts</h4>
<pre><code>&lt;?php
// Quantidade de posts
$numposts = $wpdb-&gt;get_var("SELECT COUNT(*) FROM $wpdb-&gt;posts WHERE post_status = 'publish' AND post_type = 'post'");
if (0 &lt; $numposts) $numposts = number_format($numposts);
?&gt;

// Mostra o valor
&lt;?php echo $numposts; ?&gt;</code></pre>
<h4>Exibindo o número de páginas(pages)</h4>
<pre><code>&lt;?php
// Quantidade de pages
$numposts = $wpdb-&gt;get_var("SELECT COUNT(*) FROM $wpdb-&gt;posts WHERE post_status = 'publish' AND post_type = 'page'");
if (0 &lt; $numposts) $numposts = number_format($numposts);
?&gt;

// Mostra o valor
&lt;?php echo $numposts; ?&gt;</code></pre>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/exibindo-o-numero-de-posts-e-paginaspages-no-wordpress/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Customizando o campo de busca (search form) no WordPress</title>
		<link>http://ruanmer.com/customizando-o-campo-de-busca-search-form-no-wordpress/</link>
					<comments>http://ruanmer.com/customizando-o-campo-de-busca-search-form-no-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Tue, 29 Jun 2010 01:29:34 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[get_search_form]]></category>
		<category><![CDATA[Search Form]]></category>
		<guid isPermaLink="false">http://www.ruanmer.com.br/blog/?p=791</guid>

					<description><![CDATA[<p>É muito fácil customizar a forma de apresentação do campo de busca (search form) no WordPress. Primeiro, para chamar o campo de busca no seu tema de WordPress você usa o código: &#60;?php get_search_form(); ?&#62; Caso você não tenha no seu tema um arquivo chamado de searchform.php, o WordPress por padrão vai apresentar o template do campo [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>É muito fácil customizar a forma de apresentação do campo de busca (search form) no WordPress.<span id="more-791"></span></p>
<p>Primeiro, para chamar o campo de busca no seu tema de WordPress você usa o código:</p>
<pre><code>&lt;?php get_search_form(); ?&gt;</code></pre>
<p>Caso você não tenha no seu tema um arquivo chamado de <em>searchform.php</em>, o WordPress por padrão vai apresentar o template do campo de busca dessa forma:</p>
<pre><code>&lt;form role="search" method="get" id="searchform" action="http://www.example.com/" &gt;
	&lt;div&gt;&lt;label for="s"&gt;Search for:&lt;/label&gt;
	&lt;input type="text" value="" name="s" id="s" /&gt;
	&lt;input type="submit" id="searchsubmit" value="Search" /&gt;
	&lt;/div&gt;
&lt;/form&gt;</code></pre>
<p>Para mudar esse template você pode fazer de 2 formas. Primeiro, você pode criar um arquivo <em>searchform.php</em> e adicionar o código abaixo:</p>
<pre><code>/**
Template Name: Search Form
**/

&lt;form action="/" method="get" accept-charset="utf-8" id="searchform" role="search"&gt;
  &lt;div&gt;
    &lt;label for="s"&gt;Search for:&lt;/label&gt;
    &lt;input type="text" name="s" id="s" value="&lt;?php the_search_query(); ?&gt;" /&gt;
    &lt;input type="submit" id="searchsubmit" value="Search" /&gt;
  &lt;/div&gt;
&lt;/form&gt;</code></pre>
<p>E então é só editar da maneira que desejar o HTML e o CSS.</p>
<p>Outra maneira é criar uma função dentro do arquivo <em>functions.php</em> no seu tema. Dentro dele adicione o código:</p>
<pre><code>function my_search_form($form) {
$form = '&lt;form method="get" id="searchform" action="' . get_option('home') . '/" &gt;
&lt;div&gt;&lt;label for="s"&gt;' . __('Search for:') . '&lt;/label&gt;
&lt;input type="text" value="' . attribute_escape(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" /&gt;
&lt;input type="submit" id="searchsubmit" value="'.attribute_escape(__('Search')).'" /&gt;
&lt;/div&gt;
&lt;/form&gt;';
return $form;
}</code></pre>
<p>Para chamar a função que você criou no seu tema, em vez do <em>get_search_form()</em>, você precisa usar o seguinte código:</p>
<pre><code>&lt;?php add_filter('get_search_form', 'my_search_form'); ?&gt;</code></pre>
<p><b>* Nota:</b> o nome <em>my_search_form</em> tem de ser o mesmo nome da função que você criou no arquivo <em>functions.php</em>.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/customizando-o-campo-de-busca-search-form-no-wordpress/feed/</wfw:commentRss>
			<slash:comments>19</slash:comments>
		
		
			</item>
		<item>
		<title>Resolvendo problemas de paginação no WordPress</title>
		<link>http://ruanmer.com/resolvendo-problemas-de-paginacao-no-wordpress/</link>
					<comments>http://ruanmer.com/resolvendo-problemas-de-paginacao-no-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Wed, 23 Jun 2010 19:58:24 +0000</pubDate>
				<category><![CDATA[BUG]]></category>
		<category><![CDATA[Resolvendo problemas]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Loop]]></category>
		<category><![CDATA[Paginação]]></category>
		<category><![CDATA[query_posts]]></category>
		<guid isPermaLink="false">http://www.ruanmer.com.br/blog/?p=782</guid>

					<description><![CDATA[<p>Um problema que muitos sofrem é a paginação dos posts quando se altera um Loop no WordPress. Por exemplo, geralmente usamos a função query_posts antes do Loop para que o WordPress mostre uma determinada categoria, ou uma determinada quantidade de posts. O problema é que quando usamos o query_posts, o WordPress é afetado, e assim [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>Um problema que muitos sofrem é a paginação dos posts quando se altera um Loop no WordPress. Por exemplo, geralmente usamos a função <em>query_posts</em> antes do Loop para que o WordPress mostre uma determinada categoria, ou uma determinada quantidade de posts. O problema é que quando usamos o <em>query_posts</em>, o WordPress é afetado, e assim a paginação não funciona corretamente. O usuário clica em “Próximos Posts”, e ele repete os mesmo posts novamente.<span id="more-782"></span></p>
<p>A solução é incluir um código no Loop, que irá fazer a paginação funcionar corretamente.</p>
<p>Primeiro, entre em uma das páginas do seu tema (index.php por exemplo). Localize no Loop, o código:</p>
<pre><code>&lt;?php if (have_posts()) : ?&gt; 
&lt;?php while (have_posts()) : the_post(); ?&gt;</code></pre>
<p>Se você adicionou o <em>query_posts</em>, ele deve está algo assim:</p>
<pre><code>&lt;?php query_posts(’cat=10&amp;showposts=6′); ?&gt; 

&lt;?php if (have_posts()) : ?&gt; 
&lt;?php while (have_posts()) : the_post(); ?&gt;</code></pre>
<p>Para solucionar o problema, substitua o código por:</p>
<pre><code>&lt;?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?&gt; 
&lt;?php query_posts("cat=10&amp;showposts=6&amp;paged=$paged"); ?&gt; 

&lt;?php if (have_posts()) : ?&gt; 
&lt;?php while (have_posts()) : the_post(); ?&gt;</code></pre>
<p><strong>* Nota:</strong> É importante que você mantenha as aspas duplas na função <em>query_posts</em>, pois só assim ele irá funcionar.</p>
<p>E está pronto!</p>
<h3>Atualização: Caso a maneira acima não funcione&#8230;</h3>
<p>Já aconteceu comigo de o código acima não funcionar, e então eu tive de procura outra maneira de resolver esse problema. Segue o código:</p>
<pre><code>&lt;?php 
global $query_string; parse_str( $query_string, $my_query_array ); 
$paged = ( isset( $my_query_array['paged'] ) &amp;&amp; !empty( $my_query_array['paged'] ) ) ? $my_query_array['paged'] : 1; 

query_posts("cat=10&amp;showposts=6&amp;paged=$paged"); 
?&gt; </code></pre>
<p>Espero que uma dessas soluções possa ajuda.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/resolvendo-problemas-de-paginacao-no-wordpress/feed/</wfw:commentRss>
			<slash:comments>28</slash:comments>
		
		
			</item>
		<item>
		<title>Exibir os posts relacionados no WordPress sem precisar instalar plugin</title>
		<link>http://ruanmer.com/exibir-os-posts-relacionados-no-wordpress-sem-precisar-instalar-plugin/</link>
					<comments>http://ruanmer.com/exibir-os-posts-relacionados-no-wordpress-sem-precisar-instalar-plugin/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Tue, 08 Jun 2010 03:25:40 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Posts Relacionados]]></category>
		<category><![CDATA[Related Posts]]></category>
		<guid isPermaLink="false">http://www.ruanmer.com.br/blog/?p=769</guid>

					<description><![CDATA[<p>Existe uma maneira de exibir no WordPress os posts relacionados sem precisar instalar um plugin. A vantagem é que você pode editar da maneiro que quiser a estrutura de como vai ser exibida esses posts relacionados. Você pode exibir esses posts relacionados pelas tags ou pela categorias. Ou seja, posts que tiverem as mesmas tags/categorias [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>Existe uma maneira de exibir no <a href="http://www.ruanmer.com.br/blog/category/wordpress/" target="_blank">WordPress</a> os posts relacionados sem precisar instalar um plugin. A vantagem é que você pode editar da maneiro que quiser a estrutura de como vai ser exibida esses posts relacionados.<span id="more-769"></span></p>
<p>Você pode exibir esses posts relacionados pelas tags ou pela categorias. Ou seja, posts que tiverem as mesmas tags/categorias irão aparecer nessa lista de posts relacionados.</p>
<h4>Exibir os post relacionados pelas tags</h4>
<p>Abra o arquivo <em>single.php</em> por exemplo, e nele adicione o código dentro do <em>if</em> do post:</p>
<pre lang="php"><?php 
	$tags = wp_get_post_tags($post->ID); 
	if ($tags) { 
		$tag_ids = array(); 
		foreach($tags as $individual_tag) 
			$tag_ids[] = $individual_tag->term_id; 
			
		$args=array( 
			'tag__in' => $tag_ids, 
			'post__not_in' => array($post->ID), 
			'showposts'=>5, // Number of related posts that will be shown. 
			'caller_get_posts'=>1 
		); 
		$my_query = new wp_query($args); 
		if( $my_query->have_posts() ) { 
			echo '<h3>Related Posts</h3><ul>'; 
			while ($my_query->have_posts()) { 
				$my_query->the_post(); ?> 
				<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> 
			<?php } 
			echo '</ul>'; 
		} 
	} 
?></pre>
<h4>Exibir os post relacionados pelas categorias</h4>
<p>Abra o arquivo <em>single.php</em> por exemplo, e nele adicione o código dentro do <em>if</em> do post:</p>
<pre lang="php"><?php 
	$categories = get_the_category($post->ID);  
	if ($categories) {  $category_ids = array();  
		foreach($categories as $individual_category)  
			$category_ids[] = $individual_category->term_id; 
		
		$args=array( 
			'category__in' => $category_ids, 
			'post__not_in' => array($post->ID), 
			'showposts'=>5, // Number of related posts that will be shown. 
			'caller_get_posts'=>1 
		); 
		$my_query = new wp_query($args); 
		
		if( $my_query->have_posts() ) { 
			echo '<h3>Related Posts</h3><ul>'; 
			while ($my_query->have_posts()) { 
				$my_query->the_post(); ?> 
				<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> 
			<?php } 
			echo '</ul>'; 
		} 
	} 
?></pre>
<h4>Importante!</h4>
<p>É importante lembrar que os dois códigos são feitos utilizando o método <em>wp_query</em>. Isso quer dizer que a sua query de post vai ser sobrescrita. Para que isso não aconteça usamos a função <em>wp_reset_query()</em>. Ela reseta a query para a padrão da página. Um exemplo de erro que pode está acontecendo com você é colocar os posts relacionados antes da lista de comentários do post. Nesse caso você verá que os comentários ficaram bugados. Para resolver isso inclua o seguinte código antes da chamada dos comentários:</p>
<pre lang="php"><?php  
	// aqui entra o código do seu post 
	// aqui entra o código de posts relacionados 
	wp_reset_query(); // aqui você reseta a query 
	comments_template(); // sua função que chama seus comentários 
?></pre>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/exibir-os-posts-relacionados-no-wordpress-sem-precisar-instalar-plugin/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>Criando uma página personalizada no WordPress</title>
		<link>http://ruanmer.com/criando-uma-pagina-personalizada-no-wordpress/</link>
					<comments>http://ruanmer.com/criando-uma-pagina-personalizada-no-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Fri, 04 Jun 2010 03:37:55 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Modelo]]></category>
		<guid isPermaLink="false">http://www.ruanmer.com.br/blog/?p=756</guid>

					<description><![CDATA[<p>As vezes, em certos projetos, precisamos criar uma página com uma estrutura diferente das demais. Para isso, o WordPress oferece algumas opções. Uma delas é usar a opção de &#8220;Modelo Personalizado&#8221;. Passo a passo 1º Copie o arquivo page.php ou single.php e renomeie para outro nome como novotemplate.php (esse nome é um exemplo, você pode [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>As vezes, em certos projetos, precisamos criar uma página com uma estrutura diferente das demais. Para isso, o WordPress oferece algumas opções. Uma delas é usar a opção de &#8220;Modelo Personalizado&#8221;.<span id="more-756"></span></p>
<h4>Passo a passo</h4>
<p><strong>1º</strong> Copie o arquivo <em>page.php</em> ou <em>single.php</em> e renomeie para outro nome como <em>novotemplate.php</em> (esse nome é um exemplo, você pode dar o nome que preferir).</p>
<p><strong>2º</strong> Agora você tem de fazer o WordPress identificar esse arquivo como sendo um template. Para isso vamos edita-ló. Você terá de substituir o código do começo do arquivo que você copiou para:</p>
<pre><code>&lt;?php
/**
Template Name: <strong>Nome do Template</strong> */
get_header(); ?&gt;</code></pre>
<p><strong>* Nota:</strong> No lugar do &#8220;Nome do Template&#8221; você colocará o nome que desejar dar a essa página personalizada.</p>
<p><strong>3º</strong> Agora que seu template foi criado, você só precisa ativá-lo quando for criar uma nova página. Quando criar uma nova página, vai ter a opção &#8220;Modelo&#8221; do lado direito, você só precisa escolher o nome do seu template entre as opções.</p>
<p><img src="http://img30.imageshack.us/img30/3885/12505936.jpg" alt="" /><br />
<em>Observe a opção &#8220;Modelo&#8221; no layout</em></p>
<p>As opções de edições são inúmeras, só depende do que você precisar.</p>
<h4>A opção modelo não aparece?</h4>
<p>Se você fez todo o passo a passo exatamente como descrito acima, e quando foi ativar o novo template não visualizou a opção &#8220;Modelo&#8221;, de uma lida nesse <a href="http://www.ruanmer.com.br/blog/a-opcao-modelo-da-pagina-sumiu-do-wordpress/" target="_blank">post sobre um possível problema que pode ocorrer em relação a opção &#8220;modelo&#8221;</a>.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/criando-uma-pagina-personalizada-no-wordpress/feed/</wfw:commentRss>
			<slash:comments>21</slash:comments>
		
		
			</item>
		<item>
		<title>Use diferentes fontes com o Google Font API</title>
		<link>http://ruanmer.com/use-diferentes-fontes-com-o-google-font-api/</link>
					<comments>http://ruanmer.com/use-diferentes-fontes-com-o-google-font-api/#comments</comments>
		
		<dc:creator><![CDATA[Ruan Mér]]></dc:creator>
		<pubDate>Wed, 02 Jun 2010 20:50:42 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Fontes]]></category>
		<category><![CDATA[Fonts]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Font API]]></category>
		<guid isPermaLink="false">http://www.ruanmer.com.br/blog/?p=741</guid>

					<description><![CDATA[<p>A maior decepção para a maioria dos web-designers é não poder usar vários tipos de fontes quando vão fazer um layout para um site em HTML onde o texto é dinâmico. Atualmente existem diversas maneiras inventadas de conseguir usar as fontes &#8220;não padrão&#8221; nos sites. Tem algumas soluções que usam Flash, outras em JavaScript, mas [&#8230;]</p>
The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></description>
										<content:encoded><![CDATA[<p>A maior decepção para a maioria dos web-designers é não poder usar vários tipos de fontes quando vão fazer um layout para um site em <a href="http://www.ruanmer.com.br/blog/category/html/" target="_blank">HTML</a> onde o texto é dinâmico.<span id="more-741"></span></p>
<p>Atualmente existem diversas maneiras inventadas de conseguir usar as fontes &#8220;não padrão&#8221; nos sites. Tem algumas soluções que usam Flash, outras em JavaScript, mas nenhuma delas é boa o suficiente para se tornar algo recomendável.</p>
<p>Pensando nisso o Google criou um catálogo de fontes de alta qualidade para o uso dos desenvolvedores, o <a href="http://code.google.com/webfonts" target="_blank">Google Font API</a>. Ainda não é o que todos nos desejariamos, que seria usar isso nativamente, pois o Google Font API requer o uso de arquivos do Google para poder funcionar, mas é uma ótima solução.</p>
<p>As vantagens do Google Font API em relação aos outros métodos com Flash ou JavaScript são enormes. A unica desvantagem por enquanto é que o <a href="http://code.google.com/webfonts" target="_blank">catálogo dispõe de poucas fontes</a>, o que imaginamos ser algo que vai crescer com o tempo.</p>
<p>Essa API é compatível com a maioria dos browser que usamos atualmente, como: Chrome versão 4+, Firefox versão 3.5+, Safari versão 3.1+, Opera versão 10.5+ e IE versão 6+.</p>
<h4>Usando o Google Font API</h4>
<p>Para usa-lo é muito fácil. Veja um exemplo:</p>
<pre><code>&lt;html&gt;
  &lt;head&gt;
    <strong>&lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine"&gt;</strong>
    &lt;style&gt;
      body {
        <strong>font-family: 'Tangerine', serif;</strong>
        font-size: 48px;
      }
    &lt;/style&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Making the Web Beautiful!&lt;/h1&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>Repare o código em vermelho que você tem de usar para poder funcionar. Bem simples neh?! Vamos ver agora como funciona o código em detalhe.</p>
<p>Primeiro você usa a URL padrão:</p>
<pre><code>http://fonts.googleapis.com/css</code></pre>
<p>Para usar a fonte <a href="http://code.google.com/webfonts/family?family=Inconsolata" target="_blank">Inconsolata</a> por exemplo, adiciona ao link <em>?family=</em> e o nome da fonte:</p>
<pre><code>http://fonts.googleapis.com/css<strong>?family=Inconsolata</strong></code></pre>
<p>Se o seu projeto precisar de mais de uma fonte do Google Font API, adicione ao final do nome da primeira fonte uma | e em seguida o nome da outra fonte:</p>
<pre><code>http://fonts.googleapis.com/css?family=Tangerine<strong>|</strong>Inconsolata<strong>|</strong>Droid+Sans</code></pre>
<p><strong>*Nota:</strong> repare que as fontes com nome com espaço você tem de adicionar um + no lugar do espaço.</p>
<h4>Mudando o estilo da fonte</h4>
<p>O Google Font API também permite customizar o estilo da fonte que você quiser usar. Para isso, adicione dois pontos ( : ) ao final do nome da fonte para usar os estilos que quiser, por exemplo:</p>
<pre><code>http://fonts.googleapis.com/css?family=Cantarell<strong>:italic</strong>|Droid+Serif<strong>:bold</strong></code></pre>
<p><strong>As opções de estilo são:</strong><br />
itálico = italic ou i<br />
negrito = bold ou b<br />
negrito e itálico = bolditalic ou bi</p>
<p>Veja quais variações de estilo cada fonte suporta no <a href="http://code.google.com/webfonts" target="_blank">catálogo de fontes</a>.</p>
<p>O Google também disponibiliza uma biblioteca JavaScript, chamada <a href="http://code.google.com/intl/pt-BR/apis/webfonts/docs/webfont_loader.html" target="_blank">WebFont Loader</a>, que te dá mais controle sobre o carregamento das fontes.</p>The post <a href="http://ruanmer.com/blog/">Blog</a> first appeared on <a href="http://ruanmer.com">Desenvolvedor Front-end - Ruan Mér</a>.]]></content:encoded>
					
					<wfw:commentRss>http://ruanmer.com/use-diferentes-fontes-com-o-google-font-api/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
	</channel>
</rss>
