wordpress 1.0.0 copy "wordpress: ^1.0.0" to clipboard
wordpress: ^1.0.0 copied to clipboard

A comprehensive Flutter SDK for WordPress REST API integration with type-safe models, authentication, and complete CRUD operations.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:wordpress/wordpress.dart';
import 'screens/posts_screen.dart';
import 'screens/categories_screen.dart';
import 'screens/tags_screen.dart';
import 'screens/pages_screen.dart';
import 'screens/media_screen.dart';
import 'screens/auth_screen.dart';
import 'screens/users_screen.dart';

void main() {
  runApp(const WordPressExampleApp());
}

class WordPressExampleApp extends StatelessWidget {
  const WordPressExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'WordPress Flutter SDK Example',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
          seedColor: const Color.fromARGB(255, 0, 88, 220),
        ),
        useMaterial3: true,
      ),
      debugShowCheckedModeBanner: false,
      home: const WordPressHomePage(),
    );
  }
}

class WordPressHomePage extends StatefulWidget {
  const WordPressHomePage({super.key});

  @override
  State<WordPressHomePage> createState() => _WordPressHomePageState();
}

class _WordPressHomePageState extends State<WordPressHomePage> {
  final TextEditingController _urlController = TextEditingController(
    text: 'https://blogs.rohitchouhan.com',
  );

  late WordPress _wp;

  @override
  void initState() {
    super.initState();
    _wp = WordPress(baseUrl: _urlController.text);
  }

  void _updateWordPressInstance() {
    setState(() {
      _wp = WordPress(baseUrl: _urlController.text);
    });
  }

  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 7,
      child: Scaffold(
        appBar: AppBar(
          title: const Text('WordPress Flutter SDK'),
          backgroundColor: Theme.of(context).colorScheme.inversePrimary,
          bottom: const TabBar(
            isScrollable: true,
            tabs: [
              Tab(icon: Icon(Icons.article), text: 'Posts'),
              Tab(icon: Icon(Icons.category), text: 'Categories'),
              Tab(icon: Icon(Icons.tag), text: 'Tags'),
              Tab(icon: Icon(Icons.description), text: 'Pages'),
              Tab(icon: Icon(Icons.image), text: 'Media'),
              Tab(icon: Icon(Icons.login), text: 'Auth'),
              Tab(icon: Icon(Icons.people), text: 'Users'),
            ],
          ),
        ),
        body: Column(
          children: [
            Padding(
              padding: const EdgeInsets.all(16.0),
              child: Row(
                children: [
                  Expanded(
                    child: TextField(
                      controller: _urlController,
                      decoration: const InputDecoration(
                        labelText: 'WordPress Base URL',
                        hintText: 'https://your-wordpress-site.com',
                        border: OutlineInputBorder(),
                      ),
                    ),
                  ),
                  const SizedBox(width: 16),
                  ElevatedButton(
                    onPressed: _updateWordPressInstance,
                    child: const Text('Update'),
                  ),
                ],
              ),
            ),
            Expanded(
              child: TabBarView(
                children: [
                  PostsScreen(wp: _wp),
                  CategoriesScreen(wp: _wp),
                  TagsScreen(wp: _wp),
                  PagesScreen(wordpress: _wp),
                  MediaScreen(wp: _wp),
                  AuthScreen(wp: _wp),
                  UsersScreen(wp: _wp),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }

  @override
  void dispose() {
    _urlController.dispose();
    super.dispose();
  }
}
1
likes
160
points
82
downloads
screenshot

Publisher

verified publisherrohitchouhan.com

Weekly Downloads

A comprehensive Flutter SDK for WordPress REST API integration with type-safe models, authentication, and complete CRUD operations.

Repository (GitHub)
View/report issues
Contributing

Topics

#wordpress #wp #wp-rest #rest-api #cms

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter, http, json_annotation

More

Packages that depend on wordpress