Je n'ai pas beaucoup travaillé avec XML, alors je me heurte un peu au mur:
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;
}
Je peux facilement afficher les données, mais l'appel à partir d'un transitoire stocké entraîne l'affichage de cette erreur:
Node no longer exists in C:\xampplite\htdocs\...
Je ne suis pas sûr de l’étape supplémentaire que je dois effectuer pour stocker les données correctement.
Merci beaucoup!
Noel
Selon à ce billet :
Impossible de sérialiser l'objet encapsulant des structures de bibliothèque tierces. Doit sérialiser le xml (en une chaîne) et le stocker en session et recharger le xml lors de la restauration à partir d'une session
Lorsque vous stockez un objet en transitoire, il est sérialisé et tous les objets ne sont pas capables de le faire correctement.
Stockez des données XML textuelles dans des éléments transitoires.