Orientação gerada a partir de informações públicas. Apenas para referência.
Um pacote Flutter/Dart que permite interação fluida com a API REST do WordPress. Suporta endpoints comuns e operações completas de CRUD para posts, páginas, comentários e muito mais. Projetado para desenvolvedores que constroem aplicativos que integram sites baseados em WordPress, simplificando a recuperação e gestão de dados em múltiplas plataformas. A biblioteca é leve, bem documentada e mantida ativamente.
Casos de uso
Buscando posts e páginas do blog
Criando e atualizando conteúdo programaticamente
Gerenciando comentários e mídia
Construindo front-ends personalizados do WordPress
Integrando o WordPress como um CMS headless
Principais recursos
Suporte completo CRUD para endpoints principais
Compatibilidade multiplataforma
API simples e intuitiva
Suporta autenticação por meio de tokens
Tratamento de erros e análise de resposta embutidos
Indicado para
Aplicativos Flutter que precisam de integração com o WordPress
Aplicações de CMS sem cabeça
Aplicativos móveis e web orientados por conteúdo
Desenvolvedores usando o WordPress como backend
Considerações
Requer acesso válido à API REST do WordPress
Configuração de autenticação necessária para endpoints protegidos
Limitado a recursos da API REST do WordPress
Não adequado para lógica complexa específica do WordPress
Dependente da estabilidade do servidor externo do WordPress
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
WordPress Client
The modern, strongly‑typed WordPress REST API client for Dart & Flutter — fast, flexible, and production‑ready.
🚀 Features
📦 API discovery support.
⏲️ Measures request completion time.
📝 Supports all CRUD operations.
🌐 Supports all common REST endpoints.
🧩 GraphQL (WPGraphQL) support: client.graphql.query/mutate/raw() with auth.
🎨 Custom Requests & Authorization systems.
🔐 3 Popular authorization methods.
🗄️ Third‑party Database integration.
🔧 Middlewares for request & response operations.
🎣 Events for preprocessing response.
🚀 Execute requests in Parallel (with configurable error handling).
🧠 Optional in‑memory caching for GET requests.
🌊 Polling-based streaming for single-resource retrieve endpoints (works great with Riverpod's StreamProvider).
📦 Install
Add wordpress_client to your pubspec.yaml:
dependencies:
wordpress_client: ^9.2.0
Then run flutter pub get or dart pub get.
🔧 Quick start
Import and initialize:
import'package:wordpress_client/wordpress_client.dart';
final client = WordpressClient.forSite(
siteUrl: Uri.parse('https://example.com'),
// or: baseUrl via WordpressClient(baseUrl: Uri.parse('.../wp-json/wp/v2'))
);
🧩 GraphQL (WPGraphQL)
If your site uses the WPGraphQL plugin (canonical), you can send GraphQL operations using the same client and auth.
final client = WordpressClient.forSite(
siteUrl: Uri.parse('https://example.com'),
bootstrapper: (b) => b
.withDefaultAuthorization(
WordpressAuth.appPassword(user: 'user', appPassword: 'xxxx-xxxx'),
)
.build(),
);
// Auto-resolves https://example.com/graphql from the REST base.final result = await client.graphql.query<List<Map<String, dynamic>>>(
document: '''
query Posts($limit: Int!) {
posts(first: $limit) {
nodes { id title }
}
}
''',
variables: { 'limit': 5 },
parseData: (data) {
final nodes = (data['posts']?['nodes'] asList<dynamic>? ?? const [])
.cast<Map<String, dynamic>>();
return nodes;
},
requireAuth: false, // set true for restricted queries/mutations
);
switch (result) {
caseWordpressSuccessResponse():
print(result.data);
caseWordpressFailureResponse():
print('GraphQL error: ${result.error}');
}
// Custom endpoint path if your site exposes a different GraphQL path
client.graphql.setEndpointPath('/custom-graphql');