Wordpress - как получить переменную 'page' из внешнего файла? - PullRequest
3 голосов
/ 28 августа 2011

Я использую внешний файл для обработки вызовов AJAX в плагине WP. Для того, чтобы iterpret методы WP, я сделал следующий хак:

require( '../../../wp-blog-header.php' );
header("HTTP/1.1 200 OK");

Проблема в том, что мне кажется, что я не могу получить из нее переменные, специфичные для состояния страницы. Например, get_query_var('page') всегда возвращается пустым. Является ли единственным решением поместить Javascript в основной файл .php плагина и получить оттуда переменную «page», передавая ее в сценарий (он, безусловно, должен работать через ловушки)? Я хочу избежать смешивания PHP и JS любой ценой.

P.S. Для большей правды мне не удалось получить эту переменную. Тем не менее, я все еще могу получить максимальный номер страницы, набрав $q = $GLOBALS['wp_query']; $max = $q->max_num_pages;. Принятый ответ, безусловно, правильный, но я считаю, что это ошибка. Я попрошу ребят из wp-hackers , когда у меня будет время, и, надеюсь, обновлю этот вопрос.

Ответы [ 2 ]

3 голосов
/ 28 августа 2011

Если вы используете get_query_var('page'), убедитесь, что вы действительно выполнили запрос на этой странице перед вызовом функции.

0 голосов
/ 28 августа 2011

Это немного долго для комментария, поэтому я добавляю его в качестве ответа. Потерпи меня, если в нем нет решения:

get_query_var('page') вернет что-то, только если запущен фактический запрос. Когда вы запрашиваете плагины PHP-скрипта напрямую, это, безусловно, не так.

Итак, вопрос в том, на какую переменную page вы ссылаетесь? Это вероятно $_REQUEST['page']? Это только догадывается, может быть, вы можете добавить к своему вопросу больше информации о странице, на которой запускается ваш AJAX-вызов.

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