Skip to content

Instantly share code, notes, and snippets.

@bebaps
Created February 22, 2017 01:26
Show Gist options
  • Save bebaps/1edc84603c44019ee28b3b6656e426b1 to your computer and use it in GitHub Desktop.
Save bebaps/1edc84603c44019ee28b3b6656e426b1 to your computer and use it in GitHub Desktop.
Standard loop of posts using the WP REST API
<?php
// Standard API query arguments
$args = array(
'orderby' => 'title',
'per_page' => 3
);
// Put into the `add_query_arg();` to build a URL for use
// Just an alternative to manually typing the query string
$url = add_query_arg( $args, rest_url('wp/v2/posts') );
// A standard GET request the WordPress way
$stuff = wp_remote_get($url);
// Get just the body of that request (if successful)
$body = wp_remote_retrieve_body($stuff);
// Turn the returned JSON object into a PHP object
$posts = json_decode($body);
?>
<?php // Standard foreach loop. Essentially, we just used the WP REST API to do the same thing as get_posts() ?>
<?php if (!empty($posts)) : ?>
<?php foreach ($posts as $post) : ?>
<article <?php post_class(); ?>>
<h1><?php echo $post->title->rendered; ?></h1>
<div><?php echo $post->content->rendered; ?></div>
</article>
<?php endforeach; ?>
<?php endif; ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment