Intereting Posts
Помощь с настраиваемым шаблоном страницы – перечисление содержимого дочерних страниц? Добавить последний столбец «Редакция столбца» в панели администратора Штрих-код галереи WordPress: отображает только один идентификатор категории Отображение только определенных тегов в цикле Могут ли переходные процессы использоваться для хранения конфиденциальных данных? Постоянная ссылка – Различные структуры для разных категорий? WP_query: принудительное заполнение последних номеров сообщений через настройки чтения Измените шаблон, когда пользователь не войдет в систему, используя фильтр page_template (он не работает) Ограничить количество пользователей, возвращаемых при сортировке пользователей по последним функциям сообщений Я скрываю сайт с index.htm, но теперь я не могу добраться до index.php отправлять сообщения незарегистрированными пользователями в wordpress Отображать страницу только в том случае, если пользователь зарегистрировался до определенной даты Как изменить текст метки ярлыка «Excerpt» в редакторе сообщений WordPress? Как создать пользовательскую страницу входа в систему для определенной страницы Добавление кнопок TinyMCE без удаления плагинов?

Локализовать скрипт не работает

Я тестирую ajax в wordpress, и это в основном работает, но я не хочу, чтобы url был жестко закодирован, поэтому я попытался использовать wp_localize_script чтобы получить объект для использования, но я получаю сообщение об ошибке: «ReferenceError: WPURLS не определен», когда предупреждая сайт в ajax_script.js .

functions.php

 function my_scripts_method() { wp_enqueue_script( 'ajax_script', get_stylesheet_directory_uri() . '/js/ajax_script.js', array( 'jquery' ) ); } add_action( 'wp_enqueue_scripts', 'my_scripts_method' ); wp_localize_script('ajax_script', 'WPURLS', array( 'siteurl' => get_option('siteurl') )); 

ajax_script.js

 $(function () { $('#vru-btn').click(function() { // alert('code'); $.post( 'wp-content/themes/wpcleantheme/ajax/test.php', function(data) { $('#vru-div').html(data); }); });; alert(WPURLS.siteurl); }); 

Solutions Collecting From Web of "Локализовать скрипт не работает"

Вы вызываете wp_localize_script перед действием, которое запускает скрипт. Переместите локализацию в действие enqueue, после того, как скрипт находится в очереди.

 function my_scripts_method() { wp_enqueue_script( 'ajax_script', get_stylesheet_directory_uri() . '/js/ajax_script.js', array( 'jquery' ) ); wp_localize_script('ajax_script', 'WPURLS', array( 'siteurl' => get_option('siteurl') )); } add_action( 'wp_enqueue_scripts', 'my_scripts_method' ); 

Тем не менее, вы, вероятно, не хотите направлять запросы непосредственно к файлам шаблонов, так как у вас не будет доступа к любому из WordPress API. Вместо этого направьте запросы на admin_url('admin-ajax.php') и прочитайте об использовании AJAX в плагинах .

Зарегистрируйте скрипт, затем локализуйте его, а затем установите в очередь. Согласно WordPress Codex

  // Register the script wp_register_script( 'some_handle', 'path/to/myscript.js' ); // Localize the script with new data $translation_array = array( 'some_string' => __( 'Some string to translate', 'plugin-domain' ), 'a_value' => '10' ); wp_localize_script( 'some_handle', 'object_name', $translation_array ); // Enqueued script with localized data. wp_enqueue_script( 'some_handle' );