Ще один класс з необхідним набором функцій для роботи з апі Wordpress. Чому ще один? Тому що пошук клієнта для роботи з апі привів мене до громіздких рішень на гіт. Це мене не влаштувало і як наслідок з'явився ей легкий клас.
Як додавти до свого скрипту?
Просто include('s-client.php');
І потім задайте клас в своему скрипті $wp_client = new wp_api($url, $user, $pass);
Приклад даних авторизації:
$url = 'https://site.com/wp-json/wp/v2';
$user = 'admin';
$pass = 'VdGK **** 0f0r fb07 **** QsJE';
Для роботи доступні наступні ендпоінти:
/posts
/posts/%d
/media
/media/%d
/users
/users/%d
/users/me
/categories
/categories/%d
/pages
/pages/%d
/tags
/tags/%d
/comments
/comments/%d
Стосовно даних, які можна отримати або передати - можете ознайомитись на стайті wp, рубрика api.
Приклад створення посту:
$addPost = [
'date' => $date_added,
'modified' => $date_added,
'link' => $page_url,
'slug' => $page_url,
'status' => 'publish',
'title' => $name,
'content' => $content,
'author' => $author_id,
'ping_status' => 'open',
'categories' => array($category_id),
'tags' => $final_tags
];
$post_data = $wp_client->posts('add', $addPost);
$post_data повертає массив результат виконання, якщо виникла помилка - код помилки, якщо успіх id нового посту та інформацію про нього. $post_data відповіді не фільтруються а повертаються як є.
Приклад отримання списку категорій, постів, посту по id:
$allCategories = $wp_client->categories();
$allPosts = $wp_client->posts();
$post = $wp_client->getPost($id);
Весь перелік методів і приклади описав на сайті, можете переглянути за посиланням: https://awd.in.ua/php-klas-dlya-roboti-z-api-wordpress/