OK, parece (para mim) que com wp_enqueque_scripts
não é possível para imprimir o ID e a chave do aplicativo como atributos de tag de script.
Tenho certeza de que 90%, porque WP_Dependencies
não é uma classe que conheço bem, mas olhando para o código Não parece possível para mim.
Mas tenho certeza de que, em 100%, usar wp_localize_script
não é útil para seu escopo .
Como eu disse no meu comentário acima:
O que wp_localize_script faz é imprimir um objeto codificado json no html
saída da página. Este objeto é reconhecido pelo script e então você
pode usá-lo.
O que eu não disse no comentário é que o objeto codificado json é um nome arbitrário que você decide, na verdade, olhando a sintaxe:
wp_localize_script( $handle, $object_name, $l10n );
O objeto chamado $object_name
poderia ser usado pelo script porque está no escopo global e é impresso no html da página.
Mas o $object_name
é um nome que você decide, então pode ser tudo .
Então, pergunte a si mesmo:
como o script no servidor dropbox remoto pode fazer uso de uma variável que eles não sabem como é chamado?
Portanto, não há razão nenhuma para passar a ID e / ou a chave do aplicativo para o script com wp_localize_script
: você só precisa imprimi-los como atributos de tag de script como é dito nos documentos da API do Dropbox.
Eu não sou um desenvolvedor js, mas acho que o script dropbox é:
- obtenha todos os elementos
<script>
html na página
- alterne entre eles procurando por aquele com o 'id' == 'dropboxjs'
- se esse script for encontrado, olhando para a 'chave do aplicativo de dados' desse script
- verifique se essa chave do aplicativo (se presente) é válida e autorize você em caso afirmativo
Por favor, note que eu não sei com certeza, estou apenas adivinhando .
Deste modo, o script carregado a partir do servidor da pasta de depósito pode verificar a chave da sua aplicação de uma forma fácil e fácil de implementar para si.
Porque na primeira frase eu disse que é não possível imprimir o id e a chave do aplicativo no script usando wp_enqueque_scripts
, a moral da história é que você precisa imprimi-los na marcação de outra maneira.
Uma maneira que não cheira muito (quando não há alternativas) é usar wp_print_scripts
hook para imprimir a tag de script:
add_action('wp_print_scripts', 'do_dropbox_stuff');
function do_dropbox_stuff() {
if ( ! is_admin() ) return; // only for admin area
$app_key = 'MY_APP_KEY';
// why do not create an option for it?
// $app_key = get_option('dropbox_app_key');
if ( empty($app_key) ) return;
echo '<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js"id="dropboxjs" data-app-key="' . esc_attr($app_key) . '"></script>';
}