Использование wp_localize_script для хранения URL-адреса шаблона в переменной, используемой в JS

Я пытался сохранить шаблон url ( bloginfo(template_url); ) в переменную, чтобы использовать его в своем JavaScript. Однако я понял, что это невозможно, и кто-то предупредил меня о wp_localize_script и сказал, что он может делать то, что я хотел. Я просмотрел код, но я все еще не уверен, как это реализовать.

Вот что я до сих пор:

функция

 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); }); 

Где я ошибся?

Обновить:

 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 "Использование wp_localize_script для хранения URL-адреса шаблона в переменной, используемой в JS"

Вы не ставите в очередь свой пользовательский файл JavaScript. И вызов var ( templateUrl ) в JS-файле без дескриптора. Выполните следующие действия:

Я ввожу свой собственный файл JavaScripts ( script.js ) под зависимость jQuery, поэтому он будет изолировать библиотеку jQuery от ядра. И я использую тот же дескриптор my-custom-js как для моего скрипта, так и для localize_script, чтобы передать переменные на страницу 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); }); 

Обратите внимание на дескриптор site как в localize_script, так и на мой пользовательский JS-файл – это ключ, с которым я извлекаю данные.