I am building a mobile with Google Flutter Framework and using Wordpress as the backend for my app. I want to fetch Wordpress Custom Post Type data in JSON format in Flutter with Chopper Retrofit of Flutter API.
Can anyone help me to build a sample code so I can get started with ease? I worked with this ( Flutter Wordpress ) but I don't know how to use Custom Post Types with this.
https://github.com/dreamsoftin/flutter_wordpress
Or if anyone knows how to use this and fetch custom post types then it would be more easy for me.
Please Help! Thank you!
Looking at the package you want to use to build a mobile app, there is no example and solution for custom types, (https://github.com/dreamsoftin/flutter_wordpress), but you could fork it, and extend it for specific custom post types. I will show you an example of how to do this (custom fields are excluded):
In flutter_wordpress/lib/constants.dart
add after line #10
const URL_POSTS = '$URL_WP_BASE/posts';
the line for an endpoint for your custom post. Say you have custom post book, you will add an endpoint books
:
const URL_BOOKS = '$URL_WP_BASE/books';
see explanation about this and how to enable REST API for the custom post type here:
Then in the flutter_wordpress/lib/requests/ folder, find, clone and rename file:
params_post_list.dart to params_book_list.dart
And rename here class ParamsPostList
to class ParamsBookList
in folder flutter_wordpress/lib/schemas/ find
post.dart copy and rename to book.dart
And rename here class Post
to class Book
Then in the file flutter_wordpress/lib/flutter_wordpress.dart:
find line import 'schemas/post.dart';
and after that add line import 'schemas/book.dart';
find line export 'requests/params_post_list.dart';
and after that add line export 'requests/params_book_list.dart';
find line export 'schemas/post.dart';
and after that add line export 'schemas/book.dart';
Then find functions
async.Future<List<Post>> fetchPosts()
Future<Post> _postBuilder()
async.Future<Post> createPost({@required Post post})
copy these functions rename it and replace Post
with Book
(case sensitive)
note: find URL_POSTS
in copied functions and rename to URL_BOOKS