Files
myeasycms-v2/packages/cms/wordpress
Giancarlo Buomprisco 3393863dd2 Add status property to content item structure (#44)
* 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.
2024-07-11 15:06:15 +08:00
..

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.