wordpress_client 8.2.2 wordpress_client: ^8.2.2 copied to clipboard
A library to interact with the Wordpress REST API. Supports most of the common endpoints and all of the CRUD operations on the endpoints.
wordpress_client
Easily interact with the Wordpress REST API. Get support for most common endpoints & CRUD operations.
🚀 Features #
- 🛡️ 3 Popular authorization methods.
- 🎣 Events for preprocessing response operations.
- ⏲️ Measures request completion time.
- 🎨 Custom Requests & Authorization systems.
- 🔄 Request Synchronization.
- ✨ And much more!
📖 How to Use #
1. Setup #
Add wordpress_client
in your pubspec.yaml
:
dependencies:
wordpress_client: ^8.2.2
💡 Ensure you get the latest version here.
Import the package where you need:
import 'package:wordpress_client/wordpress_client.dart';
2. Initialization #
You can initialize WordpressClient
in two methods:
- Default (Simple Method)
- Advanced (with Bootstrapper for additional configurations)
Simple Method:
final baseUrl = Uri.parse('https://example.com/wp-json/wp/v2');
final client = WordpressClient(baseUrl: baseUrl);
client.initialize();
📘 Learn more about the Advanced Method here.
3. Sending Requests #
Example to retrieve 20 recent WordPress posts in ascending order:
final request = ListPostRequest(
page: 1,
perPage: 20,
order = Order.asc,
);
final wpResponse = await client.posts.list(request);
// Dart 3 style
switch (wpResponse) {
case WordpressSuccessResponse():
final data = wpResponse.data; // List<Post>
break;
case WordpressFailureResponse():
final error = wpResponse.error; // WordpressError
break;
}
// or
// wordpress_client style
final result = postsResponse.map(
onSuccess: (response) {
print(response.message);
return response.data;
},
onFailure: (response) {
print(response.error.toString());
return <Post>[];
},
);
Refer to the documentation for more request examples.
🔒 Supported Authorization #
1. AppPasswordAuth #
By the WordPress Team, this method uses basic HTTP authentication where credentials are passed with every request. Details
2. BasicJwtAuth #
Developed by Enrique Chavez, it involves JSON Web Token (JWT) authentication where a token is issued and then used in subsequent requests. Details
3. UsefulJwtAuth #
By Useful Team, this is another implementation using JWT for authentication purposes. Details
For custom authorization, check the Authorization Wiki.
📋 Supported REST Methods #
Endpoint | Create | Read | Update | Delete |
---|---|---|---|---|
Posts | ✅ | ✅ | ✅ | ✅ |
Comments | ✅ | ✅ | ✅ | ✅ |
Categories | ✅ | ✅ | ✅ | ✅ |
Tags | ✅ | ✅ | ✅ | ✅ |
Users | ✅ | ✅ | ✅ | ✅ |
Me | ✅ | ✅ | ✅ | ✅ |
Media | ✅ | ✅ | ✅ | ✅ |
Pages | ✅ | ✅ | ✅ | ✅ |
Search | ❌ | ✅ | ❌ | ❌ |
Post Revisions | ❌ | ❌ | ❌ | ❌ |
Taxonomies | ❌ | ❌ | ❌ | ❌ |
Post Types | ❌ | ❌ | ❌ | ❌ |
Post Statuses | ❌ | ❌ | ❌ | ❌ |
Settings | ❌ | ❌ | ❌ | ❌ |
📢 Custom Response Types #
Learn how to implement Custom Requests here.
📣 Feedback #
- 🐛 For bugs or feature requests, use the issue tracker.
- 💡 Contributions are always appreciated. PRs are welcome!
📜 License #
Licensed under MIT.