Intereting Posts
Изменить CSS / форматирование на определенной странице, но не страницы в целом? При добавлении темы произошла непредвиденная ошибка Отображение сообщений из разных категорий и из пользовательского типа сообщений Как добавить Javascript в заголовок всех почтовых страниц и только почтовые страницы Разница между мета-ключами с _ и без _ Как уменьшить размер изображения Google не будет индексировать главную страницу блога Pagenav Не отображается на пользовательском шаблоне Разрешить теги между shortcode в комментариях однократные и архивные шаблоны не применяются к пользовательским типам сообщений, даже после устранения постоянных ссылок Как получить ссылку на WordPress, чтобы полностью оценить, когда она поступает из facebook Скрипт в боковой панели блокирует загрузку другого виджета Как показать месяцы на странице архива WordPress? wpdb-> ошибка обновления Если поля метабокса содержат контент для показа содержимого

Ответ Ajax всегда 0

Я пытаюсь понять, почему мой ответ Ajax всегда равен 0. Я пытаюсь загрузить метаданные в диалоговое окно JQuery UI на основе идентификатора щелкнувшей ссылки. Все это в файле шаблона single.php – не уверен, что это причина или нет.

Вот мой код (отредактированный для пробела):

jQuery( '#meta-dialog-box' ).dialog({ width: "500px", autoOpen: false, show: "blind", hide: "explode", resizeable: false, draggable: false, modal: true, position: "center", closeText: "X", dialogClass: "co-meta-dialog-wrapper" }); jQuery('a.co-meta-dialog').click(function(){ var id = $(this).attr('id'); var taxonomy = id.replace("co-",""); taxonomy = taxonomy.replace("-dialog",""); var title = $(this).text(); jQuery( "#meta-dialog-box" ).dialog( "option", "title", title ); jQuery( "#meta-dialog-box" ).dialog( "open" ); jQuery( "#meta-dialog-box" ).html( '<img width="62px" height="62px" style="margin:0 auto;" src="<?php bloginfo('template_directory');?>/images/loading.gif" alt="loading..." />' ); //$( "#meta-dialog-box" ).html('Meta Dialog Box For: ' + id); switch( id ){ case 'co-location-dialog': dialog_action = 'show_co_location_dialog'; break; case 'co-contact-dialog': dialog_action = 'show_co_contact_dialog'; break; //and so on.... default: break; }//end switch jQuery.post( UiAjax.ajaxurl, { action : dialog_action, postid: '<?php echo $postid; ?>', tax: taxonomy }, function( response, data, status ) { jQuery('#meta-dialog-box').html(response); //alert(data + ' ' + status); } ); return false; }); 

У меня есть проверка Firebug, и мои действия проходят правильно. Таким образом, кажется, что мой PHP-вызов не запускается правильно. Все мои вызовы функций PHP имеют die (); в конце их. И настроены на печать метаданных. Я попробовал эхо и вернулся, но все равно не повезло.

У меня есть все мои действия ajax в файле functions.php, например:

 //location|address add_action('wp_ajax_show_co_location_dialog', array('DS_Lingerie','get_dialog_address') ); //contact info add_action('wp_ajax_show_co_contact_dialog', array('DS_Lingerie','get_dialog_contact_info') ); 

Нужно ли мне настроить плагин для этого? Или я вообще что-то пропустил? Я воткнула головой о стену около 6 часов и не могу понять, что я делаю неправильно здесь.

Любая помощь очень ценится! Возможно, мне придется переосмыслить, как я настроил эту настройку, возможно, использовать другую функцию модального / диалогового окна или что-то в этом роде. Предложения и идеи на 100% приветствуются! Заранее спасибо.

Вы не можете добавлять вызовы AJAX из общедоступных шаблонов.

  1. Их нужно добавить намного раньше
  2. Файл, который передает вызов, является admin-ajax.php по какой-либо причине: Ajax-вызовы не должны скрываться за пределами администратора. Например, например, оберните свой звонок внутри ! is_admin() ! is_admin() приведет к сбою.
  3. Файлы шаблонов не предназначены для определения фактических функций и т. Д. Здесь в игру входят плагины, му-плагины или ваши файлы functions.php темы.