web-dev-qa-db-fra.com

analyser l'objet json et l'afficher en direct dans un widget wordpress php

J'ai suivi json

{
"status": "ok",
"totalResults": 2,
"articles": [
    {
        "source": {
            "id": "cooking-recepie",
            "name": "cooking recepie"
        },
        "author": "cooking recepie Staff",
        "title": "lamb steak",
        "description": "fffffffffffffffffffffff.”",
        "url": "http://www.cooking-recepie.net/node/116605",
        "urlToImage": "https://www.cooking-
recepie.net/sites/default/[type]/[nid]/conte-1801-cap-epa.jpg",
        "publishedAt": "2018-02-02T01:00:00Z"
    },
    {
        "source": {
            "id": "cooking-recepie",
            "name": "cooking recepie"
        },
        "author": "cooking recepie Staff",
        "title": "Igghhhhhhhhhhhhhhhhhhhh?",
        "description": "yhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.",
        "url": "http://www.cooking-recepie.net/116598/inter-Push-lautaro-
 martinez",
        "urlToImage": "https://www.cooking-recepie.net/sites/[nid]/Martinez-
 Lautaro-Arg-epa_0_0.jpg",
        "publishedAt": "2018-02-02T01:00:00Z"
    }
    ]
}

----------------------------- jusqu'à présent, mon code à tester -------

<?php
$request = wp_remote_get( 'https://url' );
if( is_wp_error( $request ) ) {
return false;
}
$body = wp_remote_retrieve_body( $request );
$data = json_decode( $body );
if( ! empty( $data ) ) {

if (is_array($data) || is_object($data))
{


foreach ($data as $key => $val){
echo 'data:'.$data->$key->$val.'<br>';  
echo 'key:'.$key.'<br>';
echo 'val:'. $val.'<br>';
}


 }


 }
?>

-------------------------réponse-----------

data:
key:status
val:ok
data:
key:totalResults
val:2
data:
key:articles
val:Array

-----------------------------mes questions ------------------- ---

  1. est-ce un objet ou un tableau?.
  2. j'ai besoin d'afficher toutes les informations
  3. est-il sécuritaire d'utiliser wp-remote-get en widget php en direct?
  4. comment cacher les résultats?
1
1976 Umar

Vous avez un arror parce que vous faites une boucle for array sur un tableau, mais un de valeur - également tableau, et vous essayez d’écho un tableau (articles).

  1. json_decode second parametr rend votre réponse sous la forme d'un tableau assoc, si true ou retourne un objet par défaut

  2. Utilisez la boucle pour chaque tableau dans vos données. Je vois que articles dans json - is array.

  3. Ce n'est pas une mauvaise pratique. Mais cela peut être lent.
  4. Je pense que cela pourrait vous aider avec des problèmes cahce: cliquez
1
Maxim Sarandi