Usando wp_localize_script para armazenar o URL do modelo em uma variável para usar no JS

Eu estava tentando armazenar o URL do modelo ( bloginfo(template_url); ) em uma variável para que eu pudesse usá-lo no meu JavaScript. No entanto, eu percebi que isso não era possível e alguém me alertou para wp_localize_script e disse que poderia fazer o que eu queria. Eu olhei através do códice, mas ainda não tenho certeza sobre como implementar isso.

Aqui está o que eu tenho até agora:

Função

 function starter_scripts() { wp_enqueue_script( 'jquery' ); wp_localize_script( 'my_script', 'templateUrl', array( 'templateUrl' => template_url() ) ); } add_action( 'wp_enqueue_scripts', 'starter_scripts' ); 

JS

 jQuery(document).ready(function($){ // Fade in Contact background $('body.page-template-page-contact #content').css('background', 'url(templateUrl + bg-contact.jpg) 50% 0% no-repeat fixed').fadeIn(2000); }); 

Onde eu corri errado?

Atualizar:

 function starter_scripts() { wp_enqueue_style( 'starter-style', get_stylesheet_uri() ); wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'includes', get_template_directory_uri() . '/js/min/includes.min.js', '', '', true ); wp_localize_script( 'includes', 'site', array( 'url' => site_url('/'), 'theme_path' => get_template_directory_uri(), 'templateUrl' => template_url() ) ); } add_action( 'wp_enqueue_scripts', 'starter_scripts' ); 

JS

 jQuery(document).ready(function($){ // Fade in Contact background $('body.page-template-page-contact #content').css('background', 'url(site.templateUrl/img/bg-contact.jpg) 50% 0% no-repeat fixed').fadeIn(2000); }); 

Solutions Collecting From Web of "Usando wp_localize_script para armazenar o URL do modelo em uma variável para usar no JS"

Você não está emqueueing seu arquivo de JavaScript personalizado. E chamando o var ( templateUrl ) no arquivo JS sem o identificador. Siga o seguinte:

Estou enqueueing meu arquivo JavaScripts personalizado ( script.js ) sob a dependência de jQuery, então ele irá enqueuar a biblioteca jQuery do núcleo. E eu estou usando o mesmo controle my-custom-js para meu script e localize_script para passar as variables ​​para a página JavaScripts.

functions.php

 < ?php function project_scripts() { wp_enqueue_script( "my-custom-js", get_template_directory_uri() . "/js/script.js", array("jquery"), "20141230", TRUE ); wp_localize_script("my-custom-js", "site", array( "theme_path" => get_template_directory_uri() ) ); } add_action( 'wp_enqueue_scripts', 'project_scripts' ); 

script.js

 jQuery(document).ready(function($){ console.log(site.theme_path); }); 

Observe o identificador do site em localize_script e meu arquivo JS personalizado – é a chave com a qual eu estou obtendo os dados.