Intereting Posts
2 пользовательских типа сообщений, в их собственных столбцах, одна разбивка на страницы для обоих index.php не является главной страницей, но показывает, что это Разрешить автору на сайте Возможность загружать файлы на сайт B на нескольких сайтах Что случилось с этим кодом? Разрешение пользователям зарегистрироваться> Вход> Публикация статей, требующих одобрения Перетащите переменную GetOption () в динамически созданный html-файл jQuery Почему WordPress позволяет вставлять теги <h1> в сообщения? Как изменить тексты комментариев с определенным комментарием_ID – Вставить комментарий Создание окна «Редактор материалов для публикации / страницы»? список дочерних страниц как обычных страниц? Как загрузить сообщение в пустой тег div в любом месте страницы? Как интегрировать кнопку Facebook Share без кода? Keep Users Записан Так долго, как мне нравится WP E-commerce: отображение 3 случайных товаров из текущей категории при просмотре продукта Пользовательский тип сообщения – заголовок страницы архива

Как объявить переменную JS в вызове AJAX

Я использую: wp_localize_script( $handle, $namespace, $variables ); объявить некоторые переменные до того, как будет выполнен первоначальный вызов AJAX, но я полагаю, что я не могу сделать то же самое снова в функции обратного вызова? Мне нужно объявить вновь созданный идентификатор для использования в другой функции, что лучше?

Solutions Collecting From Web of "Как объявить переменную JS в вызове AJAX"

Правильный способ заключается в том, чтобы отправить данные обратно в адрес ajax администратора WordPress, а затем в вашу функцию PHP получить доступ к ним с помощью переменных $_POST .

Пример функции jQuery, которая передала идентификатор категории обратно в wordpress:

 function cat_edit_get() { jQuery( "#loading-animation").show(); var catID = jQuery("#cat :selected").val(); var text = jQuery("#cat :selected").text(); jQuery('#replace').html(text); jQuery.ajax({ type: 'POST', url: ajaxurl, data: {"action": "cat-editor-get", cat: catID }, success: function(response) { jQuery("#the-list").html(response); jQuery("#loading-animation").hide(); return false; } }); } 

Затем вы можете получить доступ к переменным в WordPress, подключившись к действию wp_ajax . Здесь я просто передаю идентификатор категории, выбранный из раскрывающегося списка:

 add_action ( 'wp_ajax_cat-editor-get', 'cat_editor_get' ); function cat_editor_get () { $cat_id = $_POST[ 'cat' ]; $preview_cats = get_post_meta ( 82799, '_' . $cat_id . 'saved', true ); $item_order = $preview_cats[ 'cat_order' ]; $post_ids = explode ( ",", $item_order, 30 ); global $post; if ( count ( $post_ids ) < 5 ) { $args = array ( 'category_id' => $cat_id, 'length' => 30, ); $post_ids = wndsq_get_post_ids ( $args ); } 

Что вы можете сделать, так это разбить свои функции и позволить первому вызову функции вернуть вновь созданный ID в качестве ответа. Затем вы можете взять ответ и использовать wp_localize_script() чтобы передать идентификатор другому файлу сценария, находящемуся в другом вызове, а затем выполнить вызов функции. Не пробовал это, но я думаю, что это должно сработать.