A Python client for interacting with WordPress REST API
Project description
WordPressClient Python Package Documentation
Overview
WordPressClient is a Python client library designed to interact with the WordPress REST API. This package allows you to easily retrieve posts, categories, comments, and perform various operations by integrating seamlessly with any WordPress site. It's built with simplicity and flexibility in mind, allowing developers to easily manage WordPress content programmatically.
Installation
To install the WordPressClient package, you can use pip:
pip install wordpress-client
Usage
Initializing the Client
The WordPressClient class requires a WordPress site URL to initialize. It also accepts an optional proxy parameter if you need to route requests through a proxy.
from wordpress_client import WordPressClient
client = WordPressClient('https://berkbirkan.com')
Supported URL Formats
The WordPressClient supports various URL formats:
https://criptoexperto.comhttp://criptoexperto.comcriptoexperto.com(defaults to HTTPS)
Retrieving Recent Posts
To fetch the most recent posts from the WordPress site:
recent_posts = client.get_recent_posts()
This returns a JSON array of recent posts.
Retrieving Categories
To fetch all categories from the WordPress site:
categories = client.get_categories()
This returns a JSON array of categories available on the site.
Retrieving Posts by Category
To fetch posts within a specific category, optionally filtered by a date range:
category_posts = client.get_posts_by_category(category_id=1, start_date='2020-01-01', end_date='2021-01-01')
This will return posts in the specified category that were published within the given date range.
Retrieving Posts by Date Range
To fetch posts within a specific date range, optionally filtered by category:
date_range_posts = client.get_posts_by_date_range(start_date='2020-01-01', end_date='2021-01-01', category_id=1)
This will return posts published between the specified dates, optionally filtered by the given category.
Retrieving Comments by Post
To fetch comments associated with a specific post:
post_comments = client.get_comments_by_post(post_id=1)
This returns a JSON array of comments for the specified post.
Retrieving Posts by Author
To fetch posts written by a specific author:
author_posts = client.get_posts_by_author(author_id=1)
This returns a JSON array of posts by the specified author.
Examples
Here is a simple example to demonstrate the usage:
from wordpress_client import WordPressClient
client = WordPressClient('https://criptoexperto.com')
# Fetch recent posts
recent_posts = client.get_recent_posts()
print(recent_posts)
# Fetch categories
categories = client.get_categories()
print(categories)
# Fetch posts by category within a date range
category_posts = client.get_posts_by_category(category_id=2, start_date='2024-01-01', end_date='2024-12-31')
print(category_posts)
# Fetch comments for a specific post
comments = client.get_comments_by_post(post_id=5)
print(comments)
# Fetch posts by a specific author
author_posts = client.get_posts_by_author(author_id=3)
print(author_posts)
Error Handling
The library handles HTTP errors gracefully. If a request fails due to an HTTP error (e.g., 404 or 500), it prints the error and the server response. You can further customize error handling as needed.
try:
posts = client.get_recent_posts()
except Exception as e:
print("An error occurred:", e)
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please see the CONTRIBUTING file for more information on how to contribute to this project.
Contact
For any inquiries or issues, please open an issue on GitHub or contact the maintainer directly.
This documentation is designed to be clear and easy to follow, ensuring that users of all skill levels can utilize the WordPressClient package effectively. It can be displayed on both the GitHub repository and the PyPI page, providing consistent and accessible information across platforms.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wordpress_client-0.1.1.tar.gz.
File metadata
- Download URL: wordpress_client-0.1.1.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dae84774561015d35adf1d4e638043d07090b901c45e2279d4e730551cf5114
|
|
| MD5 |
b4d29fd82112d0faba2befe2be82d8e6
|
|
| BLAKE2b-256 |
a0dfd97df8270356049d4a687156117b2a9fd5f0d6db15de683f0455cc8ba5db
|
File details
Details for the file wordpress_client-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wordpress_client-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa6b3d90cbc2deab5a78c0b6bd6867fbec82dba3b7e8fd9972c100908b970af9
|
|
| MD5 |
02240a9afe34186ff5319e6681bb310b
|
|
| BLAKE2b-256 |
7b8dfca653dc92464d4a508be3967852dbc4ccd8a51d27796e3ed3821f93f8bb
|