В мире разработки WordPress комбинация расширенных настраиваемых полей (ACF) и WordPress REST API (WP REST API) представляет собой мощный дуэт. ACF позволяет вам создавать настраиваемые поля и мета-поля для расширения функциональности вашего веб-сайта WordPress, а WP REST API позволяет вам взаимодействовать с данными WordPress с помощью HTTP-запросов. В этой статье мы рассмотрим различные методы работы с полями ACF с использованием WP REST API, попутно предоставляя вам практические примеры и фрагменты кода.
Метод 1: получение значений полей ACF
Чтобы получить значения полей ACF с помощью WP REST API, вы можете отправить запрос GET к соответствующей конечной точке. Допустим, у вас есть тип сообщения «книга» с полем ACF «автор». Вы можете получить имя автора, используя следующий код:
fetch('/wp-json/wp/v2/book/123')
.then(response => response.json())
.then(data => {
const author = data.acf.author;
console.log(author);
});
Метод 2: обновление значений полей ACF
Чтобы обновить значения полей ACF через WP REST API, вам необходимо выполнить запрос POST или PUT к нужной конечной точке. Допустим, вы хотите обновить поле «автор» книги с идентификатором 123. Сделать это можно следующим образом:
const data = {
acf: {
author: 'John Doe'
}
};
fetch('/wp-json/wp/v2/book/123', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
console.log('ACF field updated successfully!');
});
Метод 3: создание сообщений с полями ACF
Если вы хотите создать новую публикацию с полями ACF с помощью WP REST API, вы можете отправить запрос POST к нужной конечной точке. Вот пример:
const data = {
title: 'New Book',
content: 'Lorem ipsum dolor sit amet...',
status: 'publish',
acf: {
author: 'Jane Smith',
genre: 'Mystery'
}
};
fetch('/wp-json/wp/v2/book', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
console.log('New book created successfully!');
});
Метод 4. Удаление полей ACF
Чтобы удалить поля ACF из сообщения с помощью WP REST API, вы можете отправить запрос DELETE к нужной конечной точке. Например, чтобы удалить поле «автор» из книги с идентификатором 123:
fetch('/wp-json/wp/v2/book/123', {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ acf: { author: null } })
})
.then(response => response.json())
.then(data => {
console.log('ACF field deleted successfully!');
});
В этой статье мы рассмотрели различные методы работы с полями ACF с использованием WP REST API. Используя мощь ACF и гибкость REST API, вы можете с легкостью создавать, извлекать, обновлять и удалять поля ACF. Независимо от того, создаете ли вы собственную тему WordPress или разрабатываете автономное приложение WordPress, комбинация ACF и WP REST API открывает мир возможностей для расширения и управления вашими данными WordPress.
Не забывайте экспериментировать с этими методами и адаптировать их к своим конкретным потребностям. Приятного кодирования!