Files
myeasycms-v2/packages/cms/wordpress
giancarlo dbce7e38ae Refactor route handlers and CMS clients
Refactored the route handlers to use a new `enhanceRouteHandler` function for better control over request handlers and user authentication. CMS clients are now created using factory functions for better encapsulation and control over instance creation. Renamed `client.ts` in 'keystatic' to `keystatic-client.ts`.
2024-05-02 12:37:58 +07: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.