<?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>Marcelo Furusawa Honório &#187; plugin</title>
	<atom:link href="http://blog.marcelohonorio.com.br/tag/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.marcelohonorio.com.br</link>
	<description>Blog sobre assuntos aleatórios</description>
	<lastBuildDate>Sun, 06 Feb 2011 11:23:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Plugins do Firefox</title>
		<link>http://blog.marcelohonorio.com.br/tecnologia/desenvolvimento/plugins-do-firefox/</link>
		<comments>http://blog.marcelohonorio.com.br/tecnologia/desenvolvimento/plugins-do-firefox/#comments</comments>
		<pubDate>Wed, 20 May 2009 18:35:50 +0000</pubDate>
		<dc:creator>Marcelo Honório</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.marcelohonorio.com.br/?p=198</guid>
		<description><![CDATA[Olhando meus plugins do Firefox hoje descobri que possuo 13 plugins instalados e utilizo todos realmente. Resolvi dar essa dica pra vocês. Esses plugins utilizo no meu dia a dia como desenvolvedor, webmaster e internauta. Add N Edit Cookies Edite facilmente os cookies do seu firefox. Alexa Sparky Visualize os ranks no Alexa dos sites [...]]]></description>
			<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p><img class="alignleft size-medium wp-image-211" title="firefox_girl" src="http://blog.marcelohonorio.com.br/wp-content/uploads/2009/05/firefox_girl-223x300.jpg" alt="firefox_girl" width="223" height="300" />Olhando meus plugins do Firefox hoje descobri que possuo 13 plugins instalados e utilizo todos realmente. Resolvi dar essa dica pra vocês. Esses plugins utilizo no meu dia a dia como desenvolvedor, webmaster e internauta.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/firefox/addon/573" target="_blank"><strong>Add N Edit Cookies</strong></a></p>
<p>Edite facilmente os cookies do seu firefox.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/pt-BR/firefox/addon/5362" target="_blank"><strong>Alexa Sparky</strong></a></p>
<p>Visualize os ranks no Alexa dos sites visitados.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/uk/firefox/addon/8956/share?lang=pt-BR" target="_blank"><strong>Clear DNS Cache</strong></a></p>
<p>Limpe o cache de DNS sem precisar fechar e reabrir o Firefox.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/pt-BR/firefox/addon/271" target="_blank"><strong>ColorZilla</strong></a></p>
<p>Obtenha o código da cor de qualquer lugar de qualquer site.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/firefox/addon/1843" target="_blank"><strong>Firebug</strong></a></p>
<p>Plugin indispensável pra manipulação de CSS. Com ele é possível editar o CSS em tempo real para ver as alterações no site.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/firefox/addon/398" target="_blank"><strong>Forecastfox</strong></a></p>
<p>Disponibiliza a condição do tempo atual e a previsão do dia seguinte. Quando eu tinha moto, esse plugin era decisivo para eu tomar a decisão se viria de moto para o trabalho no dia seguinte. Se mostrava núvem preta, sem condições de vir de moto amanhã.</p>
<p><a rel="nofollow" href="http://www.google.com/tools/firefox/" target="_blank"><strong>Google Toolbar</strong></a></p>
<p>Disponibiliza alguns funcionalidades do google no seu browser.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/firefox/addon/249" target="_blank"><strong>HTML Validator</strong></a></p>
<p>Valida o código HTML seguindo as normas da W3C.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/pt-BR/firefox/addon/539" target="_blank"><strong>MeasureIt</strong></a></p>
<p>Meça a distância em pixels de qualquer parte do site.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/pt-BR/firefox/addon/636" target="_blank"><strong>PDF Download</strong></a></p>
<p>Quando clicar em um link para um documento PDF, ele te dá a opção do que você quer fazer: abrir o documento, fazer o download, etc.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/firefox/addon/5081" target="_blank"><strong>TwitterFox</strong></a></p>
<p>Envie e visualiza os posts do Twitter.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/pt-BR/firefox/addon/60" target="_blank"><strong>WebDeveloper</strong></a></p>
<p>Série de ferramentas para o desenvolvedor web. Indispensável também.</p>
<p><a rel="nofollow" href="https://addons.mozilla.org/firefox/addon/5369" target="_blank"><strong>YSlow</strong></a></p>
<p>Mede a performance do site.</p>
<p><strong>Não sabe ou não usa o Firefox ainda? <span style="text-decoration: line-through;">Em que mundo você vive?</span> <a rel="nofollow" href="http://br.mozdev.org/" target="_blank">Baixe aqui!</a></strong></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.marcelohonorio.com.br/tecnologia/desenvolvimento/plugins-do-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Escrevendo um plugin simples para o WordPress</title>
		<link>http://blog.marcelohonorio.com.br/tecnologia/plugin-simples-wordpress/</link>
		<comments>http://blog.marcelohonorio.com.br/tecnologia/plugin-simples-wordpress/#comments</comments>
		<pubDate>Thu, 14 May 2009 18:40:50 +0000</pubDate>
		<dc:creator>Marcelo Honório</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[mystatus]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.marcelohonorio.com.br/?p=59</guid>
		<description><![CDATA[Olá! Segue abaixo um tutorial sobre escrever um plugin simples para o WordPress. Nosso primeiro plugin terá a funcionalidade de colocar um status seu no Blog, assim como tem no Orkut. Algo do tipo: Status: &#8220;Hoje estou feliz :) estou escrevendo meu primeiro plugin para WordPress&#8221; Os objetivos do plugin serão: Receber e armazenar o [...]]]></description>
			<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Olá!</p>
<p>Segue abaixo um tutorial sobre escrever um plugin simples para o WordPress. Nosso primeiro plugin terá a funcionalidade de colocar um status seu no Blog, assim como tem no Orkut. Algo do tipo:</p>
<p><strong>Status:</strong> <em>&#8220;Hoje estou feliz :) estou escrevendo meu primeiro plugin para WordPress&#8221;</em></p>
<p>Os objetivos do plugin serão:</p>
<ul>
<li>Receber e armazenar o status no wp-admin</li>
<li>Disponibilizar a função para ser exibida no template</li>
</ul>
<p><strong>1. Escolhendo um nome</strong></p>
<p>Primeiro passo para escrever um plugin é escolher um nome que seja único. Pra isso, entre em <a href="http://wordpress.org/extend/plugins/">http://wordpress.org/extend/plugins/</a> e verifique se o nome já não existe. Nosso plugin de hoje terá o nome de &#8220;MyStatus&#8221;.</p>
<p><strong>2. Iniciando o desenvolvimento</strong></p>
<p>Para desenvolver plugins para WordPress não precisa de conhecimentos avançados em PHP. Vamos iniciar o desenvolvimento pelo cabeçalho. É obrigatório seu Plugin começar com o seguinte trecho de código comentado:</p>
<pre class="brush: php; title: ; notranslate">/*
Plugin Name: MyStatus
Plugin URI: http://www.site_do_plugin.com.br
Description: Plugin que exibe o seu status atual
Version: 0.1
Author: Marcelo Honório
Author URI: http://www.marcelohonorio.com.br
*/</pre>
<p><strong>3. Desenvolvendo as funcionalidades</strong></p>
<p>Primeiramente vamos adicionar a chamada do plugin no wp-admin para o nosso plugin. Colocaremos ele como um box no menu lateral esquerdo, pra isso, adicionaremos as seguintes linhas:</p>
<pre class="brush: php; title: ; notranslate">add_action('admin_menu', 'mystatus_menu');
function mystatus_menu() {
	add_menu_page('MyStatus', 'MyStatus', 1, __FILE__, 'show_my_status');
}</pre>
<p>Vamos às explicações. Na função add_action() dissemos para o WordPress que no admin_menu (menu lateral esquerdo do wp-admin), quando ele for construído, adicionar o Box do nosso plugin com o nome MyStatus e quando clicar nele, remeter para o próprio arquivo do plugin (__FILE__) que você escontrará a função  show_my_status() para ser executada.</p>
<pre class="brush: php; title: ; notranslate">function show_my_status(){
	global $mystatus_o_name;
	if(isset($_POST['mystatus'])){
		update_option('mystatus_name', $_POST['mystatus']);
		$save = true;
	}
	$mystatus = get_option('mystatus_name');

	$txt = '
&lt;h2&gt;MyStatus&lt;/h2&gt;
';

	$txt .= isset($save) ? 'Status salvo com sucesso!' : '';
	$txt .= '
&lt;form action=&quot;'.$_SERVER['REQUEST_URI'].'&quot; method=&quot;post&quot;&gt;
&lt;input name=&quot;mystatus&quot; size=&quot;100&quot; type=&quot;text&quot; value=&quot;'.$mystatus.'&quot; /&gt;
&lt;input class=&quot;button&quot; type=&quot;submit&quot; value=&quot;Atualizar!&quot; /&gt;&lt;/form&gt;

';
	echo $txt;
}</pre>
<p>Nessa função está sendo impressa o formulário para recebimento do status e a escrita no banco de dados. Se você estiver familiarizado com o PHP, entenderá esse código rapidamente, a não ser pelas funções update_option() e get_option(). Ambos os métodos servem para a persistências de dados. Com as funções add_option(), get_option(), update_option() é possível adicionar, recuperar e atualizar dados respectivamente. Os dados podem ser strings, inteiros, array, matrizes, objetos, ou qualquer outro dado que pode ser serializado pelo PHP.</p>
<p>Aproveitando que citei sobre a persistência de dados, precisamos ter esse espaço preparado já na instalação do plugin.</p>
<pre class="brush: php; title: ; notranslate">register_activation_hook(__FILE__, 'mystatus_activate');
function mystatus_activate() {
	if(get_option('mystatus_name')){
		update_option('mystatus_name', '');
	}else{
		add_option('mystatus_name', '');
	}
}</pre>
<p>A função register_activation_hook() serve para executar uma função assim que o plugin é ativado. Na nossa função de ativamento, estamos preparando o espaço de armazenamento do nosso plugin.</p>
<p>O último passo é desenvolver a função que que exibirá o status assim que for chamada a função mystatus().</p>
<pre class="brush: php; title: ; notranslate">function mystatus() {
	$mystatus = get_option('mystatus_name');
	echo $mystatus;
}
add_action('mystatus', 'mystatus');</pre>
<p>Pronto! Nosso plugin está desenvolvido! Para utilizá-lo, é só colocar algo do tipo no seu template:</p>
<p>Meu status:</p>
<p>Bom, espero que tenham entendido como desenvolver um simples plugin para WordPress. Qualquer dúvida é só deixar mensagem!</p>
<p><strong>Download do plugin: <span style="font-weight: normal;"><a href="/wp-content/uploads/2009/05/mystatus.zip">MyStatus</a></span></strong></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.marcelohonorio.com.br/tecnologia/plugin-simples-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

