Переработка темы 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, при его отсутствии в запросе):
/* СТАТЬЯ В РАЗРАБОТКЕ. */