Skip to content

WordPress REST API Integration

This guide shows how to use OpenClaw Ultra to manage your WordPress site — publish posts, manage WooCommerce products, select categories, and fill hashtags — all through the WordPress REST API.

What You'll Need

  • A self-hosted WordPress site (wordpress.org, not wordpress.com)
  • The Basic Auth plugin installed on your WordPress site
  • OpenClaw Ultra installed on your Windows desktop

Step 1: Install the Basic Auth Plugin

WordPress REST API requires authentication. The easiest way is using the Basic Auth plugin.

  1. Download the plugin from: https://github.com/WP-API/Basic-Auth
  2. In your WordPress admin panel, go to PluginsAdd New PluginUpload Plugin
  3. Upload the downloaded Basic-Auth-master.zip file
  4. Click Activate

Upload WordPress plugin

Alternative Authentication

If your server supports OAuth or Application Passwords (WordPress 5.6+), you can use those instead. This guide uses Basic Auth for simplicity.

Step 2: Create a .env File for Credentials

Create a .env file in a secure location on your computer to store your WordPress site credentials.

Create a file named wordpress.env with the following content:

WP_SITE_URL=https://yoursite.com
WP_USERNAME=your-admin-username
WP_APPLICATION_PASSWORD=your-password

Keep Your .env File Safe

Never commit your .env file to version control or share it publicly. Add *.env to your .gitignore file.

Step 3: Configure OpenClaw Ultra to Read the .env File

In OpenClaw Ultra, you can use the File skill to read your .env file and load the credentials.

  1. Open OpenClaw Ultra
  2. In the chat, type:
Read the file at C:\path\to\wordpress.env and store each line as a variable.
  1. OpenClaw Ultra will parse the .env file and make the values available for subsequent requests.

Step 4: Publish a WordPress Post via REST API

Now you can use OpenClaw Ultra to create and publish WordPress posts automatically.

Example prompt:

Using the WordPress REST API at {WP_SITE_URL}/wp-json/wp/v2/posts,
create a new post with:
- Title: "My First Automated Post"
- Content: "This post was created by OpenClaw Ultra via the WordPress REST API."
- Status: publish
- Categories: Technology, AI
- Hashtags: #WordPress #Automation #OpenClaw

Use Basic Auth with username {WP_USERNAME} and password {WP_APPLICATION_PASSWORD}.

OpenClaw Ultra will send a POST request to the WordPress REST API endpoint and publish your post.

API Endpoints Reference

ActionEndpointMethod
Create post/wp-json/wp/v2/postsPOST
Update post/wp-json/wp/v2/posts/{id}PUT
Get posts/wp-json/wp/v2/postsGET
Delete post/wp-json/wp/v2/posts/{id}DELETE

Step 5: Manage WooCommerce Products

If you have WooCommerce installed, you can also manage products via the WooCommerce REST API.

Example prompt:

Using the WooCommerce REST API at {WP_SITE_URL}/wp-json/wc/v3/products,
create a new product with:
- Name: "AI Automation Course"
- Type: simple
- Regular price: 49.99
- Description: "Learn how to automate your workflows with AI."
- Categories: Courses, Digital Products
- Stock: 100

Use Basic Auth with username {WP_USERNAME} and password {WP_APPLICATION_PASSWORD}.

WooCommerce API Endpoints

ActionEndpointMethod
Create product/wp-json/wc/v3/productsPOST
Get products/wp-json/wc/v3/productsGET
Update product/wp-json/wc/v3/products/{id}PUT
Delete product/wp-json/wc/v3/products/{id}DELETE
Get orders/wp-json/wc/v3/ordersGET
Create category/wp-json/wc/v3/products/categoriesPOST

Step 6: Select Categories

Before assigning categories to your posts, you may need to find existing category IDs.

Prompt to get categories:

Using the WordPress REST API at {WP_SITE_URL}/wp-json/wp/v2/categories,
list all categories on the site.

Use Basic Auth with username {WP_USERNAME} and password {WP_APPLICATION_PASSWORD}.

To create a new category:

Create a new category called "AI Tutorials" via:
POST {WP_SITE_URL}/wp-json/wp/v2/categories
with name "AI Tutorials" and slug "ai-tutorials".

Use Basic Auth with username {WP_USERNAME} and password {WP_APPLICATION_PASSWORD}.

Step 7: Fill Hashtags Automatically

You can ask OpenClaw Ultra to generate and add relevant hashtags to your posts.

Example prompt:

For the post titled "My First Automated Post" on {WP_SITE_URL},
generate 5 relevant hashtags based on its content and add them to the post.

Use the WordPress REST API to update the post's tags or custom fields.
Use Basic Auth with username {WP_USERNAME} and password {WP_APPLICATION_PASSWORD}.

Troubleshooting

401 Unauthorized Error

  • Make sure the Basic Auth plugin is activated
  • Verify your username and password are correct
  • Check that your WordPress site uses HTTPS

404 Endpoint Not Found

  • Ensure pretty permalinks are enabled in WordPress Settings → Permalinks
  • Verify the REST API is accessible: {WP_SITE_URL}/wp-json/

403 Forbidden / Cloudflare Blocked

If you get a 403 error, Cloudflare may be blocking the API request. This happens because WordPress REST API requests from automated tools can be flagged as suspicious.

Solution — Set a custom User-Agent header:

When making requests via OpenClaw Ultra, explicitly set a common User-Agent string so Cloudflare treats the request as coming from a real browser. For example:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

In your OpenClaw Ultra prompt, include the User-Agent header like this:

POST {WP_SITE_URL}/wp-json/wp/v2/posts
Headers:
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
  Authorization: Basic {base64-encoded-credentials}

Body:
  title: "My Post"
  content: "Post content"
  status: publish

WooCommerce Endpoint Not Available

  • Make sure WooCommerce plugin is installed and activated
  • WooCommerce API requires WooCommerce 3.0+

Next Steps

  • Explore other WordPress REST API endpoints
  • Automate content publishing schedules
  • Build a complete content workflow with OpenClaw Ultra

Continue with other integration guides to expand your automation capabilities.