* Add status property to content item structure This commit introduces a new `status` property to the content item structure, allowing content items to maintain a status such as 'draft', 'published', 'review', 'pending'. This status is mapped to the corresponding status in Wordpress and Keystatic clients to ensure consistent usage across platforms. Content retrieval methods now also include a status filter. * Refactor code for style and readability improvements This commit includes changes in various files across different packages to improve code readability, including adjusting spacing and breaking down complex lines into simpler parts. In addition, the switch statement in `wp-client.ts` has been refactored and status values are now held in variables, and the CSS classes in `global-loader.tsx` have been reorganized.
CMS/Wordpress - @kit/wordpress
Implementation of the CMS layer using the Wordpress library. [WIP - not yet working]
This implementation is used when the host app's environment variable is set as:
CMS_CLIENT=wordpress
Additionally, please set the following environment variables:
WORDPRESS_API_URL=http://localhost:8080
For development purposes, we ship a Docker container that runs a Wordpress instance. To start the container, run:
docker-compose up
or
pnpm run start
from this package's root directory.
The credentials for the Wordpress instance are:
WORDPRESS_DB_HOST=db
WORDPRESS_DB_USER=wordpress
WORDPRESS_DB_PASSWORD=wordpress
WORDPRESS_DB_NAME=wordpress
You will be asked to set up the Wordpress instance when you visit http://localhost:8080 for the first time.
Note for Wordpress REST API
To make the REST API in your Wordpress instance work, please change the permalink structure to /%post%/ from the Wordpress admin panel.
Blog
To include Blog Posts from Wordpress - please create a post with category named blog and add posts to it.
Documentation
To include Documentation from Wordpress - please create a page with category named documentation and add posts to it.
This involves enabling categories for pages. To do this, add the following code to your theme's functions.php file:
function add_categories_to_pages() {
register_taxonomy_for_object_type('category', 'page');
}
add_action('init', 'add_categories_to_pages');
Please refer to wp-content/themes/twentytwentyfour/functions.php for an example of a theme that includes this code.