/** * @param FilterResponseEvent $event */ public function onKernelResponse(FilterResponseEvent $event) { $response = $event->getResponse(); if (!$response instanceof WordpressResponse || $event->getRequestType() != HttpKernelInterface::MASTER_REQUEST) { return; } if (!($wp_query = $this->wordpress->getWpQuery())) { return; } if ($wp_query->is_404()) { $response->setStatusCode(404); } }
/** * @param FilterResponseEvent $event */ public function onKernelResponse(FilterResponseEvent $event) { $response = $event->getResponse(); if (!$response instanceof WordpressResponse || $event->getRequestType() != HttpKernelInterface::MASTER_REQUEST) { return; } if (!($wp_query = $this->wordpress->getWpQuery())) { return; } $callback = $this->getHttpHeadersCallback(); $wpHeaders = (array) call_user_func_array($callback, array($event->getRequest()->getUri())); foreach ($wpHeaders as $name => $value) { // TODO add cache headers support if ($name == 'cache-control') { //$response->setCache($value); continue; } $response->headers->set($name, $value); } if ($wp_query->is_404()) { $response->setStatusCode(404); } }