Diga quais palestras você vai ver no WordCamp Curitiba 2012

Diga quais palestras você vai ver no WordCamp Curitiba 2012

Neste ano, o WordCamp Curitiba vem com uma série de palestras que, dentro das três trilhas propostas (desenvolvimento, cases e conteúdo), passam por temas como segurança, migração de dados, boas práticas, comércio eletrônico, dicas para criação de conteúdo, estratégias de marketing e democracia digital.

Abaixo, temos a lista com todas elas. Agora a gente quer saber: a quais apresentações você vai assistir?

Take Our Poll

 

O WordCamp Curitiba 2012 acontece na FESP, nos dias 15/06, a partir das 14h30, e 16/06, a partir das 9h.

Como usar o media uploader do WordPress para adicionar arquivos a meta boxes

Como usar o media uploader do WordPress para adicionar arquivos a meta boxes

Pouco tempo atrás, para adicionar informações extras a um post ou a uma página (a fonte de um texto ou um link para um vídeo do YouTube que se queira destacar, por exemplo), usávamos diretamente os custom fields, os campos personalizados do WordPress. Bastava atribuir uma chave e um valor para esta chave e depois trata-los dentro dos arquivos do seu tema. Em 2008, a versão 2.5 apresentou as meta boxes, as caixas arrastáveis já conhecidas do WordPress, que permitem a adição de novas informações a posts, custom post types, páginas e links. E elas funcionam perfeitamente com os custom fields.

Surge a ideia: você quer, além de publicar o post, permitir que seus leitores façam o download de algum material relacionado. Há algumas soluções possíveis para esse problema:

  1. Você pode fazer o upload do arquivo, copiar a URL e criar um link manual (Faça o download do arquivo, ou algo parecido) dentro do seu post;
  2. Fazer o upload, copiar a URL e joga-la dentro de um custom field (com uma chave chamada upload_file, por exemplo) e criar, dentro do tema, uma área para download do arquivo, usando as funções dos campos personalizados;
  3. Criar uma meta box e nela inserir a URL do arquivo;

Só que você não quer copiar links de um lado pro outro. Isso é chato e, para muitos clientes, complicado. O interessante seria criar uma meta box com um botão que leve diretamente para o media uploader padrão do WordPress, e assim evitar que você e o seu cliente percam tempo com coisas desnecessárias. E é isso que faremos.

Criando a meta box

Em primeiro lugar, vamos criar a meta box de upload. Ela vai conter um campo de texto, onde será mostrada a URL do arquivo, e um botão que levará ao media uploader do WordPress. Para isso, criamos uma ação dentro do hook add_meta_boxes, responsável por chamar a função my_meta_box(). Dentro dela, a função add_meta_box() cria a nova seção do nosso post / página.


<?php

/*
 * Adiciona a meta box para upload do arquivo
 */
add_action( 'add_meta_boxes', 'my_meta_box' );

function my_meta_box()
{
	add_meta_box( 'my_meta_uploader', 'Upload de arquivo', 'my_meta_uploader_setup', 'post', 'normal', 'high' );
}

/*
 * Adiciona os campos para a meta box de upload
 */
function my_meta_uploader_setup()
{
	global $post;

	// Procura o valor da chave 'upload_file'
	$meta = get_post_meta( $post->ID, 'upload_file', true );
	?>

	<p>
		Clique no botão para fazer o upload de um documento. Após o término do upload, clique em <em>Inserir no post</em>.
	</p>

	<p>
		<input id="upload_file" type="text" size="80" name="upload_file" style="width: 85%;" value="<?php if( ! empty( $meta ) ) echo $meta; ?>" />
		<input id="upload_file_button" type="button" class="button" value="Fazer upload" />
	</p>

	<?php
}

?>

A nossa meta box ficará da seguinte forma:

A meta box, já implementada, como vocês podem ver nesta enorme imagem

Salvando os dados

Agora, precisamos fazer três coisas: procurar se há algum valor dentro da chave upload_file, atualizar este valor quando o campo for modificado e salvar estes dados dentro do post através da função my_meta_uploader_save(), que será executada quando na chamada do hook save_post:


<?php

/*
 * Salva os dados da nossa custom meta box
 */
add_action( 'save_post', 'my_meta_uploader_save' );

function my_meta_uploader_save( $post_id ) {

	if ( ! current_user_can( 'edit_post', $post_id ) ) return $post_id;

	// Recebe o valor que foi enviado pelo media uploader
	$arquivo = $_POST['upload_file'];

	// Adiciona a chave upload_file ou atualiza seu valor
	add_post_meta( $post_id, 'upload_file', $arquivo, true ) or update_post_meta( $post_id, 'upload_file', $arquivo );

	return $post_id;
}

?>

A integração com o media uploader do WordPress

Enfim, o media uploaders. A ideia é simples: duplicamos a função original e chamamos a sua cópia apenas quando o botão Fazer upload for clicado. Dessa forma, quando fizermos o upload ou procurarmos algum arquivo, o botão Inserir no post preencherá o campo da meta box com a URL do arquivo, e não o editor de texto padrão do WordPress. É necessário avisar no código que usaremos o script quando a área de administração for chamada, representada aqui pelo hook admin_init:


<?php

/*
 * Adiciona o script que replica o uploader padrão do WordPress
 */
add_action( 'admin_head', 'my_meta_uploader_script' );

/*
 * O novo media uploader, baseado no post e nas discussões do site abaixo
 * http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/
 */
function my_meta_uploader_script() { ?>
	<script type="text/javascript">
		jQuery(document).ready(function() {

			var formfield;
			var header_clicked = false;

			jQuery( '#upload_file_button' ).click( function() {
				formfield = jQuery( '#upload_file' ).attr( 'name' );
				tb_show( '', 'media-upload.php?TB_iframe=true' );
				header_clicked = true;

				return false;
			});

			// Guarda o uploader original
			window.original_send_to_editor = window.send_to_editor;

			// Sobrescreve a função nativa e preenche o campo com a URL
			window.send_to_editor = function( html ) {
				if ( header_clicked ) {
					fileurl = jQuery( html ).attr( 'href' );
					jQuery( '#upload_file' ).val( fileurl );
					header_clicked = false;
					tb_remove();
				}
				else
				{
			  		window.original_send_to_editor( html );
			  	}
			}

		});
  </script>
<?php
}

?>

Por último, filtramos o the_content utilizando a função get_post_meta(). O objetivo é criar uma pequena área de download dentro do nosso tema:


<?php

/*
 * Download do arquivo
 * Adiciona um parágrafo com um link para o arquivo salvo na meta box
 */
add_filter( 'the_content', 'insert_meta_data' );

function insert_meta_data( $content ) {

	global $post;

	$meta = get_post_meta( $post->ID, 'upload_file', true );

	if ( $meta ) {
		$content .= '<p class="download-revista">';
		$content .= '<a href="' . $meta . '" title="Clique para iniciar o download">';
		$content .= 'Faça o download do arquivo';
		$content .= '</a>';
		$content .= '</p>';
	}

	return $content;

}

?>

E, finalmente, a nossa singela área de download:

O post, já com o link para download

Mais informações

A Ethymos está apoiando o WordCamp Curitiba

A Ethymos está apoiando o WordCamp Curitiba

A comunidade brasileira de WordPress está organizando, agora em outubro, o WordCamp Curitiba, a segunda edição do evento no Brasil. Marcado para os dias 22 e 23, na FESP, o WordCamp contará com minicursos, palestras, rodas de debate e discussões sobre a própria comunidade brasileira de WordPress. Tradução de plugins, desenvolvimento de temas, BuddyPress e redes sociais estão entre os assuntos que serão abordados neste final de semana.

O WordCamp é uma conferência sobre WordPress que acontece no mundo todo. Nele, desenvolvedores, designers e usuários casuais assistem a palestras e apresentações, trocam ideias e se conhecem num ambiente informal. Originado nos Estados Unidos, o evento tem agora sua segunda edição aqui no Brasil (a primeira, o WordCamp Brasil, ocorreu ano passado) e a Ethymos, junto com as agências PontoCom, Hacklab e o coletivo Soylocoporti, estão apoiando e ajudando na organização.

Para mais informações, visite o site oficial do WordCamp Curitiba.

WordCamp Curitiba no dia 22 de outubro

WordCamp Curitiba no dia 22 de outubro


A Comunidade WordPress-BR está organizando o WordCamp Curitiba, que ocorrerá nos dias 22 e 23 de outubro, na FESP, no centro da cidade. Esta, que será a segunda edição do WordCamp no Brasil, se diferencia do evento do ano passado, que tinha como objetivo ser um encontro nacional e mais abrangente. Desta vez, seguindo a ideia do WordCamp Central, desenvolvedores, designers, blogueiros e usuários terão um encontro local, descentralizado e que, esperamos, seja o primeiro de muitos por todo o país.

Inscrições, palestras, grade de atividades e outras informações logo estarão disponíveis aqui no site da comunidade.

Como remover os widgets nativos do WordPress 2.8

Como remover os widgets nativos do WordPress 2.8

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 sidebars 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.

Ainda que alguns plugins como o Widgets Reloaded 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.

No painel de administração, com os widgets nativos já removidos

No painel de administração, com os widgets nativos já removidos

Para isso, abra o seu arquivo functions.php e insira as seguintes linhas:

[sourcecode language="php"]

function remover_widgets() {

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

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

}

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

add_action( widgets_init, remover_widgets );

[/sourcecode]

Criamos uma função, remover_widgets(), que vai agregar todos os unregister_widget() e, através deles, remover as funcionalidades que não desejamos. Após isso, o código executa a add_action(), 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á.

Veja também:

Divulgada a programação do WordCamp

Divulgada a programação do WordCamp

Além da abertura por Matt Mullenweg e a palestra sobre BuddyPress que será dada por José Fontainhas, ambas já comentadas aqui, divulgamos agora a programação do primeiro WordCamp Brasil.

As palestras e cases abordarão temas como SEO, Blog Promotion, WordPress para designers, carreira, portais para rede de ensino, WordPress MU, blogsfera e uso do BuddyPress em sites governamentais. Em paralelo, ocorrerão as rodas de discussão, nas quais os temas serão escolhidos durante o próprio evento.

Programação do WordCamp Brasil
08h30 09h00 Credenciamento
09h00 09h15 Abertura
09h15 10h15 Apresentação, por Matt Mullenweg
10h30 11h30 WordPress para designers, por Felipe Coelho Kussik
Case: Portal Institucional e Sites para Rede de Ensino, por Paulo Sandro Martins
11h30 11h45 Intervalo
11h45 12h45 BuddyPress, por José Fontainhas
Blog Promotion Como Atrair e Manter Leitores No Seu Blog, por Daniel Scocco
12h45 14h00 Intervalo
14h00 15h00 Mesa Carreira 2.0: como mídias sociais formam a sua identidade profissional e ajudam ou se tornam o seu ganha-pão.
Case: Ministério da Cultura e site Cultura Digital com BuddyPress, por Guilherme Aguiar
15h 15h15 Intervalo
15h15 16h15 A blogosfera e o mar de flores, por Marcelo Estraviz
Case: Cartografia da Blogosfera Brasileira: a perspectiva amazônica dos blogs, por Fábio Malini
16h15 16h30 Intervalo
16h30 17h30 SEO para WordPress Otimizando o que já é bom, por Paulo Rodrigo Teixeira
Case: Pensando em WordPress para grandes audiencias, por Diego Cox
17h30 17h45 Encerramento

Mais informações sobre o evento na página do WordCamp Brasil.

WordPress e WordPress MU vão se unir?

WordPress e WordPress MU vão se unir?

Matt Mullenweg, criador do WordPress, anunciou no WordCamp San Francisco que as plataformas até então separadas WordPress e WordPress MU vão se unir. A ideia, aparentemente, é adicionar ao já famoso WordPress as boas funcionalidades do MU (multi-user), tendo como principal delas a possibilidade de criação de inúmeros blogs em apenas uma instalação.

Aaron Brazeel, do site Technosailor, conversou com algumas pessoas presentes no evento. De acordo com ele, poucos detalhes foram dados por Matt, mas eles sugerem que o administrador terá a opção de ativar as funcionalidades do WordPress MU tanto no momento da instalação quanto depois, com o sistema já rodando.

Ainda não se sabe quando essa união ocorrerá, mas especula-se que o processo esteja finalizado para a versão 2.9 da plataforma.

Algumas correções sobre a vinda de Matt Mullenweg para o Brasil

Algumas correções sobre a vinda de Matt Mullenweg para o Brasil

Tendo em vista alguns desencontros de informações, principalmente via Twitter, são necessários alguns esclarecimentos sobre o WordCamp Brasil e, principalmente, sobre a vinda de Matt Mullenweg, criador do WordPress, para o evento.

Matt vem para o CMS Brasil 2009, encontro de desenvolvedores realizado pela iMasters e promovido pela Fábrica Livre. O evento, que ocorrerá em São Paulo, no dia 20/06, vai contar não só com Matt, mas também com Anthony Ferrara, coordenador mundial de desenvolvimento do Joomla!, Addison Berry, líder do time de documentação do projeto Drupal, além de mais doze palestrantes brasileiros.

De acordo com o site oficial do evento, Matt terá duas horas no auditório principal, as quais serão divididas entre palestra e mesa redonda intermediada pelo Paulino Michelazzo e com a participação da Cátia Kitahara, representando a nossa comunidade. Além da participação da Cátia, nossa comunidade será representada pelo Leo Germani, que dará uma palestra sobre o uso do WordPress como um CMS completo e não apenas uma plataforma de blogs.

WordCamp Brasil

Aproveitando a presença de Matt Mullenweg no Brasil, nós da Comunidade WordPress-BR resolvemos fazer o nosso WordCamp no dia seguinte ao CMS-Brasil. Tal decisão foi tomada após consultarmos os organizadores do evento CMS Brasil e a assessoria de Matt Mullenweg, que apoiaram a idéia.

Portanto, queremos dar ao iMasters e à Fábrica Livre os devidos créditos por trazer o Matt Mullenweg ao Brasil e agradecê-los a oportunidade de realizarmos nosso encontro.

Inscrições para o Google Summer of Code 2009 acabam hoje

Inscrições para o Google Summer of Code 2009 acabam hoje

As incrições para o Google Summer of Code, o incentivo da Google a estudantes que queiram desenvolver soluções open-source para os mais variados projetos, acabam hoje. Agora no seu quinto ano, o programa já contou com mais de 230 projetos, inclusive idéias ligadas diretamente ao WordPress.

Como no ano passado, há uma página especial no Codex sobre o GSoC. Nela estão algumas idéias de melhorias para a plataforma, divididas em áreas como BuddyPress, mídia, buscas e frameworks de temas, cada uma com seus respectivos mentores. O texto também recomenda que os possíveis interessados façam uso das idéias que são enviadas pela comunidade. Na lista wp-hackers, alguns projetos já circulam há algum tempo:

Desenvolvedores, corram!