Переработка темы WordPress с PHP на Vite.js/React без SSR для использования WP, как Headless CMS, с помощью наивного REST API WordPress . Использован Redux для хранения ранее загруженной информации для избежания повторных обращений к серверу.
- Рабочий макет на примере нашего сайта: https://wp-themelia-vitejs.vercel.app/;
- Репозиторий: https://github.com/consultapp/wp-themelia-vitejs;
Технологии/Пакеты:
- React
- Vite.js
- Redux
- Redux/Toolkit
- REST API WordPress
- Themelia WordPress Theme
REST API WordPress
Существует много готовых эндпоинтов в Rest Api WP, нас интересуют на данном этапе посты, страницы и поиск.
REST API Developer Endpoint Reference
| Resource | Base Route |
|---|---|
| Posts | /wp/v2/posts |
| Post Revisions | /wp/v2/posts/<id>/revisions |
| Categories | /wp/v2/categories |
| Tags | /wp/v2/tags |
| Pages | /wp/v2/pages |
| Page Revisions | /wp/v2/pages/<id>/revisions |
| Comments | /wp/v2/comments |
| Taxonomies | /wp/v2/taxonomies |
| Media | /wp/v2/media |
| Users | /wp/v2/users |
| Post Types | /wp/v2/types |
| Post Statuses | /wp/v2/statuses |
| Settings | /wp/v2/settings |
| Themes | /wp/v2/themes |
| Search | /wp/v2/search |
| Block Types | /wp/v2/block-types |
| Blocks | /wp/v2/blocks |
| Block Revisions | /wp/v2/blocks/<id>/autosaves/ |
| Block Renderer | /wp/v2/block-renderer |
| Block Directory Items | /wp/v2/block-directory/search |
| Plugins | /wp/v2/plugins |
Весь API находится в разделе /wp-json/, те для постов например это:
https://example.com/wp-json/wp/v2/posts
В ответ получаем массив постов вида (отдается кол-во постов равное установленному ранее параметром pre_page, при его отсутствии в запросе):
/* СТАТЬЯ В РАЗРАБОТКЕ. */
