Не много работали с XML, поэтому я нажимаю немного стены:
function getapi() { $api_response = wp_remote_get( "http://example.com/getXML" ); $data = wp_remote_retrieve_body( $api_response ); $output = new SimpleXMLElement ($data ); return $output; }
function transient() { $transient = get_transient( 'transient_value' ); if ( ! $transient ) { $transient = getapi(); set_transient( 'transient_value', $transient, 180 ); } return $transient; }
Я могу легко показать данные, но вызов из сохраненного переходного процесса приводит к тому, что эта ошибка отображается:
Node no longer exists in C:\xampplite\htdocs\...
Не уверен, какой дополнительный шаг я должен выполнить, чтобы правильно хранить данные.
Большое спасибо!
Ноэль
Согласно этому билету :
Невозможно сериализовать обертывание объектов сторонними библиотечными структурами. Необходимо сериализовать xml (в строку) и сохранить его для сеанса и перезагрузить xml при восстановлении с сеанса
Когда вы сохраняете объект в переходном режиме, он становится сериализованным, и не все объекты способны на это правильно.
Вместо этого храните текстовые XML-данные в переходном режиме.