вызов admin-ajax.php из admin-ajax.php

Я пишу плагин, который вызывает вывод другого ajax плагина, который настроен на wp_ajax_

Я бы назвал функции напрямую, но ограничения в плагине делают это не опцией.

Чтобы было ясно, это то, что происходит:

  • Пользователь выбирает действие, затем применяет образы
  • Моя функция плагина вызывается в admin-ajax.php (через wp_ajax_ hook)
  • Функция плагина создает неровный URL-адрес: $url = wp_nonce_url( admin_url( 'admin-ajax.php?action=plugin_action&post_id=' . $post_id), 'plugin_action' );
  • то я называю этот url с wp_remote_get

выход равен 0 .

Теперь странная вещь: вместо того, чтобы называть URL-адрес с помощью wp_remote_get я повторил его, затем скопировал его в свой браузер и дал мне правильный результат. ( так что это не вопрос пропавшей die() !)

Я также попытался поместить свою собственную функцию в edit.php (используя load-hook) вместо admin-ajax.php, но результат был таким же (0). Теперь код показывает, что load- hook выполняется до wp_ajax , поэтому ожидаемое поведение (действие еще не добавлено), но даже в wp_ajax с приоритетом 99 я получаю 0 .

Какие-нибудь идеи о том, что происходит? Может быть, действие еще не добавлено, когда я вызываю его непосредственно из admin-ajax.php? Если да, то есть ли лучшее место для моего собственного действия? (тот, который срабатывает после wp_ajax)

Solutions Collecting From Web of "вызов admin-ajax.php из admin-ajax.php"

Знает ли ваш сервер свое собственное имя и / или разрешено соединение с петлей?

Например, если вы используете удаленный доступ к основной странице блога, это работает?

Если сервер не знает свое имя, потому что DNS не разрешает, или соединения на петлевом соединении отключены на уровне сервера (это обычные меры безопасности на каком-то дешевом хостинге), то подключение к себе не будет работать ,

Edit: Хорошо, так, если это не так, то вы пытались подключиться к wp_ajax_nopriv_ hook? Поскольку вы не передаете файлы cookie или какие-либо учетные данные с помощью wp_remote_get, тогда вы будете подключаться как непривилегированный пользователь, а это означает, что вместо обычного обычного ключа он будет использовать крюк nopriv.