Wordpress и AJAX - включение wp-blog-header прерывает вызов - PullRequest
0 голосов
/ 13 января 2011

У меня есть файл ajax.php в моей папке тем Wordpress, и это прекрасно работало на сервере DEV. Однако когда я переместил его на другой сервер, написанный мной сценарий больше не работает ... странно!

Сейчас я откатываюсь, чтобы попытаться найти проблему, но она больше всего раздражает, потому что та же самая версия работает на другом сервере?!

Вот код (для чего он стоит ...)

Javascript Call:

   function change_event(ID){
     //alert("ID: "+ID);   
     $.post('wp-content/themes/muni/ajaxcalls.php', 
     { id: ID }, 
     function(data){
       alert('complete: '+data);
       //$('#showingevent').html(data);
     });     
   }

ajaxcalls.php

require_once("../../../wp-blog-header.php");  
global $more; 

В этот момент он ломается. Нет смысла в том числе и код, который я написал после запроса. Если я прокомментирую эту строку, приведенный ниже код будет работать.

Если я перейду непосредственно к файлу ajaxcalls.php, я получу ожидаемые результаты, но они не будут возвращены к функции успеха вызова ajax.

Любая помощь будет принята с благодарностью

ура ТАК!

Tom

edit: я запускаю change_event используя это:

   $('.eventoption A').click(function(ev){
     ev.preventDefault();
     change_event($(this).attr('id'));
     clearInterval(timer);
   });

Я также обновил функцию change_event (), чтобы отразить ту, которую я использую, а не отладку, которую я использовал раньше.

Проблема возникает, как только я включаю файл wp-blog-header.php.

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Хитрость заключалась в том, чтобы включить wp-load.php вместо wp-blog-header.php

0 голосов
/ 07 марта 2013

используйте это. Он работает на локальном хосте, и я надеюсь, что он также будет работать для живого сервера.

  1. Сначала получите имя папки корневого каталога вашего сайта

$folder = substr(substr($_SERVER["REQUEST_URI"],1), 0, strpos(substr($_SERVER["REQUEST_URI"],1), "/"));

  1. И затем вы можете получить URL для ajax, используя $ _SERVER ["DOCUMENT_ROOT"], $ folder и wp-blog-header.php, как это:

$ajax_url = realpath($_SERVER["DOCUMENT_ROOT"]).'/'.$folder.'/wp-blog-header.php';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...