I’m trying to integrate a decoupled wordpress/wp-api
to a Slim 3 framework with Twig views.
- Ideally I want to send all posts to
/posts
route rendered via Twig and - Individual posts to
/post/hello-world
route
I’m having two issues for now:
-
I want to pass the response back (queried via guzzle) to a Twig view and I’m struggling with that.
-
The JSON response I’m getting back in the view is not an appropriate JSON response when I echo
$body
;// ROUTES
$app->get(’/’, function ($request, $response) {
return $this->view->render($response, ‘home.html’);
})->setName(‘home’);$app->get(’/posts/’, function ($request, $response,array $args) {
$client = new Client();
$url =’/cms/wp-json/wp/v2/posts’;
$res = $client->request(‘GET’,$url,array(
‘content-type’ => ‘application/json’
),array());
$body = $res->getBody();
// echo $body;
return $this->view->render( $response,‘posts.html’,array(‘posts’ => $body));
})->setName(‘posts’);
I would really like to keep using Twig with Slim instead of using Vue.js or Angular and build a SPA.