Pouquíssimo tempo depois de lançada a versão 2.8.1, a versão 2.8.2 já está disponível para download, também em pt_BR. Esta nova versão foi lançada para corrigir uma pequena falha de segurança (não muito grave, mas irritante) no sistema de comentários do WordPress.
Se você acabou de fazer o upgrade para 2.8.1 e já está com preguiça de fazer todo o processo de upgrade novamente, aqui vai uma dica para facilitar sua vida. Como esta versão tem poucas diferenças em relação à anterior, não é preciso substituir todos os arquivos do site, apenas alguns. Eis os arquivos que foram modificados na versão 2.8.2:
Substitua esses arquivos e você terá um WordPress novo em folha! Se estiver usando a versão pt_BR, além desses arquivos basta substituir os arquivos de tradução pt_BR.po e pt_BR.mo na pasta wp-content/languages.
O primeiro WordCamp Brasil já tem uma casa. O evento será na sede da FUNARTE em São Paulo, na Alameda Nothman 1058, região central de São Paulo, próximo a estação Marechal Deodoro do metrô.
O local é de fácil acesso, aproximadamente 5 minutos a pé do metrô, tem salas confortáveis para as palestras e um amplo espaço de convivência. Veja o mapa.
Gostaríamos de agradecer também a todas as pessoas que se mobilizaram para encontrar um bom lugar para o evento, assim como aquelas que ofereceram espaço. Muito obrigado!
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:
Agora, sempre que o WordPress imprimir as chamadas a arquivos javascript, vai rodar a sua função. Vamos ver como isso vai funcionar.
Usando a função wp_enqueue_script
A função wp_enqueue_script() 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:
Esta função está colocando o seu script na fila para ser carregado, dizendo o seguinte
ele se chama meu_script
ele está em http://meusite.com/wp-content/plugins/meuplugin/script.js
ele depende do jquery
esta é a versão 1.0 do meu_script
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:
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 wp-content 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.
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.
add_action(wp_print_scripts, meuPlugin_addJS);
[/sourcecode]
Note que, se meu plugin não depende de ninguém, não preciso passar os dois últimos parâmetros.
Importante: 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:
[sourcecode language='php']
if ( !defined(WP_CONTENT_URL) )
define( WP_CONTENT_URL, get_option(siteurl) . /wp-content);
[/sourcecode]
Mas e nos temas?
Nos temas, você pode fazer assim:
[sourcecode language='php']
// para garantir compatibilidade com versões anteriores ao WordPress 2.6
if ( !defined(WP_CONTENT_URL) )
define( WP_CONTENT_URL, get_option(siteurl) . /wp-content);
function meuTema_addJS() {
wp_enqueue_script(meuJs, WP_CONTENT_URL./themes/meuTema/ . meuJS.js);
}
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.