Я пытаюсь создать REST API
, которые генерируют json
данных для wordpress
сообщений. Приведенный ниже код находится в functions.php файла:Невозможно изменить ошибку заголовка при создании rest api в wordpress
add_action('wp_enqueue_scripts', 'create_json_data', 0);
function create_json_data(){
ob_start();
if (isset($_GET['getjson']) && $_GET['getjson'] == true) {
if (have_posts()) {
$data = array();
while (have_posts()) {
the_post();
$new_data = array(
"title" => get_the_title(),
"content" => get_the_excerpt(),
"image" => get_the_post_thumbnail_url(),
"hyperlink" => get_the_permalink()
);
array_push($data, $new_data);
}
}
header('Content-type: application/json');
echo json_encode($data);
exit();
}
ob_end_flush();
}
Он работает очень хорошо во вновь wordpress
установки. Но когда я реализую его в своем интернет-сайте он дает мне ошибку
Предупреждение: Не удается изменить информацию в заголовке - заголовки уже посланные (выход начался в /home1/public_html/blogsite/WP-содержание/темы/webtheme /header.php:10) в /home1/public_html/website-theme/wp-content/themes/webtheme/functions.php на линии 159
по линии 10 в header.php
является wp_head()
Я не знаю, как добраться до этой ошибки, чтобы генерировать только данные json
.
спасибо. но когда я использую этот крючок, он не возвращает мне никаких json-данных. –
Я обновляю свое сообщение простым примером. – Bazaim
Я пытаюсь использовать url 'http: // localhost: 1234', следуя вашему ответу, и он возвращает весь контент страницы, а не только данные json. –