Modificando um arquivo JS com dados das configurações do plugin

Eu tenho um plugin que, entre outras coisas, tem um arquivo javascript que requer algumas configurações específicas do usuário. Qual seria a melhor maneira de obter essas configurações em javascript a partir dos parâmetros de configurações do plugin?

Em outras palavras, se eu fizer essas configurações parte da página de configurações onde o usuário pode inseri-las, como seria melhor eu conseguir esses valores em javascript? Eu teria que usar algo para append algumas tags de script e configurá-las via PHP em cada carga de página? Estabelecer um cookie seria uma maneira melhor de fazer isso?

Solutions Collecting From Web of "Modificando um arquivo JS com dados das configurações do plugin"

melhor é, você usa as funções do WP para isso, um exemplo para multilinguagem:

add_action( 'admin_enqueue_scripts', 'add_scripts' ); function add_scripts($where) { wp_localize_script( 'post2media', 'post2media_strings', $this->localize_vars() ); } function localize_vars() { $strings = array( 'btntext' => __( 'Link with post', INPSYDE_P2M_TEXTDOMAIN ), 'txtallnone' => __( 'Include in gallery:', INPSYDE_P2M_TEXTDOMAIN ), 'txtall' => __( 'All', INPSYDE_P2M_TEXTDOMAIN ), 'txtnone' => __( 'None', INPSYDE_P2M_TEXTDOMAIN ), 'ttlcb' => __( 'Include image in this gallery', INPSYDE_P2M_TEXTDOMAIN ) ); return $strings; } 

use isso no js-file:

 jQuery(function ($) { buttonaddfunc = function() { btntext = post2media_strings.btntext; reg = /\d+/; $( '.savesend > .button' ) . each( function() { inputname = $( this ) . attr( 'name' ); number = reg . exec( inputname ); $( this ) . after( '' ); } ); $( '.describe-toggle-on' ).unbind( 'click', buttonaddfunc ); }; $( '.describe-toggle-on' ).bind( 'click', buttonaddfunc ); 

});

Veja também a publicação de Otto

Há algumas maneiras pelas quais você poderia fazer isso, um dos quais eu fiz antes, o outro que não tenho, mas usei para arquivos de configuração XML.

O primeiro é include as variables ​​em uma etiqueta de script dentro do header ou rodapé WP, antes da tag do script onde você inclui seu arquivo JS, por exemplo:

   

A outra alternativa seria include o JS dentro de um arquivo PHP que esteja incluído dentro de uma tag de script.

  

Dentro deste arquivo, você inclui seu javascript e, como o PHP analisaria, você poderia include chamadas PHP de forma semelhante à acima, simplesmente fazendo eco dos dados / opções que você precisa. Uma coisa a observar é que você pode precisar definir os headers para a saída como text/javascript .

Pessoalmente, eu prefiro o primeiro método, e é o que eu uso quando tenho configurações mutáveis ​​do usuário que afetam arquivos javascript.