WordPress

Como atualizar Prototype + Scriptaculous no WordPress

Segue como atualizei a dobradinha Prototype + Scriptaculous no WordPress da série 2.0

ATENÇÃO: Este procedimento não é para novatos, mas para pessoas com algum entendimento do WordPress. Não vou me responsabilizar caso você venha esculhambar o seu WordPress. Siga por sua própria conta e risco.

Atualmente, o WordPress vem com as versões do Scriptaculous 1.7.1-b3 e do Prototype 1.5.1.1, contudo as versões destes códigos já estão no 1.8.1 para o Scriptaculous e 1.6.0.2 para o Prototype .

Antes de tudo, você deve baixar as últimas versão dos códigos nos seus respectivos sites.

Detalhe: o Scriptaculous vem com uma versão do Prototype, nem sempre a mais atual. Eu uso sempre a mais atual, com isto, eu corro o risco de sofrer com bugs não documentados na versão do Scriptaculous. Então, você poder usar a versão do Prototype que acompanha o Scriptaculous, mas o importante é saber qual é esta versão para atualizar nos códigos do WordPress, como veremos.

Pasta do Scriptaculous no WordPress

Para começar, iremos trabalhar dentro da pasta wp-includes/js/, fazendo uma cópia de segurança do arquivo prototype.js existente, e da pasta scriptaculous. Eu renomeei a minha para scriptaculous.old.bkp” e o arquivo para *prototype.js.bkp

Depois disto, atualizei todos os arquivos listados na pasta scriptaculous, com os arquivos mais atuais do Scriptaculous baixados do site.

De todos os arquivos desta pasta, somente o wp-scriptaculous.js é original do WordPress e iremos modificá-lo agora. Abra este arquivo, e atualize as versões indicadas dentro deste arquivo nas linhas de código:

var Scriptaculous = {
  Version: '1.8.1',
[...]
  REQUIRED_PROTOTYPE: '1.6.0.2',
[...] 

A pasta scriptaculous está atualizada. Agora iremos copiar o mais novo código do Prototype para a pasta wp-includes/js/, nomeando o arquivo como prototype.js.

Até este ponto, você atualizou o Prototype que está dentro do wp-includes/js/ e os arquivos do Scriptaculous dentro da pasta scriptaculous. Estamos quase terminando agora, falta apenas um arquivo para ser modificado no WordPress.

O próximo e último arquivo é o wp-includes/script-loader.php . Ele é responsável por carregar os Javascripts necessários do WordPress. Elé é um pouco confuso caso você não esteja acostumado, por isso, tenha bastante atenção no que está fazendo. A operação será simples, ela consiste em modificar apenas o número das versões, como fizemos no arquivo anterior.

Abra no arquivo, e procure pela linha a ser modificada:


$this->add( 'prototype', '/wp-includes/js/prototype.js', false, '1.5.1.1');

e modifique para a versão do seu Prototype. No meu caso a 1.6.0.2:

$this->add( 'prototype', '/wp-includes/js/prototype.js', false, '1.6.0.2');

Ainda neste documento, procure pelas seguintes linhas abaixo, correspondentes ao Scriptaculous:

$this->add( 'scriptaculous-root', '/wp-includes/js/scriptaculous/scriptaculous.js', array('prototype'), '1.7.1-b3');
$this->add( 'scriptaculous-builder', '/wp-includes/js/scriptaculous/builder.js', array('scriptaculous-root'), '1.7.1-b3');
$this->add( 'scriptaculous-dragdrop', '/wp-includes/js/scriptaculous/dragdrop.js', array('scriptaculous-builder', 'scriptaculous-effects'), '1.7.1-b3');
$this->add( 'scriptaculous-effects', '/wp-includes/js/scriptaculous/effects.js', array('scriptaculous-root'), '1.7.1-b3');
$this->add( 'scriptaculous-slider', '/wp-includes/js/scriptaculous/slider.js', array('scriptaculous-effects'), '1.7.1-b3');
$this->add( 'scriptaculous-sound', '/wp-includes/js/scriptaculous/sound.js', array( 'scriptaculous-root' ), '1.7.1-b3' );
$this->add( 'scriptaculous-controls', '/wp-includes/js/scriptaculous/controls.js', array('scriptaculous-root'), '1.7.1-b3');
$this->add( 'scriptaculous', '', array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls'), '1.7.1-b3');

e modifique a versão do Scriptaculous. No meu caso a 1.8.1:

$this->add( 'scriptaculous-root', '/wp-includes/js/scriptaculous/scriptaculous.js', array('prototype'), '1.8.1');
$this->add( 'scriptaculous-builder', '/wp-includes/js/scriptaculous/builder.js', array('scriptaculous-root'), '1.8.1');
$this->add( 'scriptaculous-dragdrop', '/wp-includes/js/scriptaculous/dragdrop.js', array('scriptaculous-builder', 'scriptaculous-effects'), '1.8.1');
$this->add( 'scriptaculous-effects', '/wp-includes/js/scriptaculous/effects.js', array('scriptaculous-root'), '1.8.1');
$this->add( 'scriptaculous-slider', '/wp-includes/js/scriptaculous/slider.js', array('scriptaculous-effects'), '1.8.1');
$this->add( 'scriptaculous-sound', '/wp-includes/js/scriptaculous/sound.js', array( 'scriptaculous-root' ), '1.8.1' );
$this->add( 'scriptaculous-controls', '/wp-includes/js/scriptaculous/controls.js', array('scriptaculous-root'), '1.8.1');
$this->add( 'scriptaculous', '', array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls'), '1.8.1');

Após fazer a atualização das versões, basta salvar o arquivo, e o WordPress já carregará as novas versões.

Bom, pode até ser que tenha um Plug-In para WordPress atualizando as versões do Prototype + Scriptaculous, mas não encontrei e ficaria grato se alguém soubesse. Este tipo de atualização tem seus próprios problemas. Você terá que modificar estes arquivos novamente caso atualize o código do WordPress por inteiro. Então, isso não é muito prático, contudo este artigo serve para esclarecer como modificar por conta própria esses códigos.

Até a próxima.

Tags: , ,

Deixe seu Comentário