web-dev-qa-db-de.com

So durchlaufen Sie JSON-Daten in WordPress WP REST API

Ich verwende das WP REST API-Plugin in WordPress und möchte meine JSON-Daten mit einem für jede Schleife durchlaufen. Wenn ich jedoch die Variable var_dump, in der die JSON-Daten gespeichert sind gibt mir einen fehler.

"Parse-Fehler: Syntaxfehler, unerwartetes" -> "(T_OBJECT_OPERATOR) in C:\wamp\www\public_html\wp-content\themes\raj\template-wiki.php in Zeile 22"

<?php $json = lusso_posts(); ?>

<?php var_dump($json); ?>

<?php echo ($json->wp-json->posts[1]->ID); ?>

Ich denke, das "wp-json" widerspricht "->" diesem Zeichen, da der Fehler verschwindet, wenn ich das "-" aus "wp-post" entferne, aber es wird nichts angezeigt.

CODE VON LUSSO FUNCTION

`function lusso_posts () {

  // Do we have this information in our transients already?
  $transient = get_transient( 'lusso_posts' );

  // Yep!  Just return it and we're done.
  if( ! empty( $transient ) ) {

    // The function will return here every time after the first time it is   run, until the transient expires.
    return $transient;

  // Nope!  We gotta make a call.
  } else {

    // We got this url from the documentation for the remote API.
    $url = 'http://localhost/database2/wp-json/posts/';

    $body =  wp_remote_retrieve_body(wp_remote_get($url));

    $json = json_decode($body);


    // Call the API.
    //$out = wp_remote_get( $url, $args );

    // Save the API response so we don't have to call again until  tomorrow.
    set_transient( 'lusso_posts', $json, DAY_IN_SECONDS );

    // Return the list of subscribers.  The function will return here the first time it is run, and then once again, each time the transient expires.
    return $json;

  }

}`

Jede Hilfe wäre dankbar.

Vielen Dank.

1
Raj Chudasama

Ich habe es geschafft, dieses Problem zu lösen und über eine foreach-Schleife auf die JSON-Daten zuzugreifen:

$json = lusso_posts();
#var_dump( $json );
#die();

foreach( $json as $post ) { 
    $titles = $post->title;
    $images = $post->featured_image->guid;
    ?>
    <div class="lusso-posts">
        <div class="image-container"><img src="<?php echo $images; ?>" />    </div>
        <h4><?php echo $titles; ?></h4>
    </div>  
    <?php
}
0
Raj Chudasama