WordPress REST API With Python

Share This Post

In this post, we will use the power of the REST API with Python and will perform a crud operation. What we will do in this blog is we will fetch all posts, create one new post, update it and delete it using REST API with Python. WordPress REST API With Python?

WordPress REST API With Python using Authentication

First of all, we need basic authentication for performing crud operation and it won’t work until you install a special plugin named application password to get the application password.

Go to your dashboard -> plugin -> Add new and type application password in the search box.

Once you installed the plugin go to your profile settings and scroll to the bottom. You will see one application password field will be added there. Type your application name and hit enter and a popup will appear with a password. Copy generated password from the popup.

It’s time to go through the Python

Now, Create one file with the .py extension. You can give it any name (for example app.py).

Import some required packages:


import requests
import json
import base64

Fetch Posts

url = "https://wholeblogs.com/wp-json/wp/v2/posts"

user = "your-username"
password = "your-application-password"

credentials = user + ':' + password

token = base64.b64encode(credentials.encode())

header = {'Authorization': 'Basic ' + token.decode('utf-8')}

responce = requests.get(url , headers=header)

print(responce)

Let’s understand this code.

  • URL is the URL of the site from which you want to fetch posts.
  • User is your admin username.
  • The password is the application password that you have generated just before.
  • Encode your credentials and pass them in header authorization as shown in code.
  • At the bottom of the line, we are printing our response to see what we are getting.

Now, open your terminal and run your app.py file.


python app.py

Create Post

To create a post we need to make the post request with some required parameters like URL, your JSON data. Let’s do that:

url = "https://wholeblogs.com/wp-json/wp/v2/posts"

user = "your-username"
password = "your-application-password"

credentials = user + ':' + password

token = base64.b64encode(credentials.encode())

header = {'Authorization': 'Basic ' + token.decode('utf-8')}

post = {
	'title'   	: 'Hello World',
	'status'  	: 'publish', 
	'content' 	: 'This is my first post created using rest API',
	'categories': 5, // category ID
	'date' 		: '2020-01-05T10:00:00'
}

responce = requests.post(url , headers=header, json=post)

print(responce)

Update Post

To update posts you need to pass post id to tell REST API which post you want to update.

Let’s see how to do that.

url = "https://wholeblogs.com/wp-json/wp/v2/posts/"

postID = 1

user = "your-username"
password = "your-application-password"

credentials = user + ':' + password

token = base64.b64encode(credentials.encode())

header = {'Authorization': 'Basic ' + token.decode('utf-8')}

post = {
	'title'   	: 'Hello World Updated',
	'content' 	: 'This is my first post created using rest API Updated'
}

responce = requests.post(url + postID , headers=header, json=post)

print(responce)

Here, post ID is the id of the post you want to update.

Delete Post

To delete a post we need to use delete requests provided by Python.


url = "https://wholeblogs.com/wp-json/wp/v2/posts/"

user = "your-username"
password = "your-application-password"

credentials = user + ':' + password

token = base64.b64encode(credentials.encode())

header = {'Authorization': 'Basic ' + token.decode('utf-8')}

responce = requests.delete(url + postID , headers=header)

print(responce)

This was a small introduction to WordPress REST API with Python. Here, we have top reasons why you should learn WordPress

You can check the code at my GitHub repository. Here

spot_img

Related Posts

Python for Loop Iteration: How to Easily Manipulate a List

One of the most powerful features of the Python...

How To Get First Characters of a String in Python

Way to find the first characters of a string...

How To Convert Tuple To String In Python

In this post, you will learn how to convert...

How To Convert String to Double in Python

Good to hear, that you want to convert a...

Python TypeError: String Index Out Of Range Solution

A string is an array of characters and part...

How To Remove Empty Strings From a List Of Strings

On this page, we will discuss how to remove...
- Advertisement -spot_img