Dart Flutter - 使用 Chopper 获取 WordPress 自定义帖子类型
Posted
技术标签:
【中文标题】Dart Flutter - 使用 Chopper 获取 WordPress 自定义帖子类型【英文标题】:Dart Flutter - fetching WordPress Custom Post Type using Chopper 【发布时间】:2020-06-05 03:09:50 【问题描述】:我正在使用 Google Flutter Framework 构建移动设备,并使用 Wordpress 作为我的应用程序的后端。 我想用 Flutter API 的 Chopper Retrofit 在 Flutter 中获取 JSON 格式的 Wordpress Custom Post Type 数据。
谁能帮我构建一个示例代码,以便我可以轻松上手? 我使用过这个(Flutter Wordpress),但我不知道如何使用自定义帖子类型。
https://github.com/dreamsoftin/flutter_wordpress
或者,如果有人知道如何使用它并获取自定义帖子类型,那对我来说会更容易。
请帮忙! 谢谢!
【问题讨论】:
【参考方案1】:查看您要用于构建移动应用程序的包,没有自定义类型的示例和解决方案 (https://github.com/dreamsoftin/flutter_wordpress),但您可以分叉它,并将其扩展为特定的自定义帖子类型。我将向您展示如何执行此操作的示例(不包括自定义字段):
在 flutter_wordpress/lib/constants.dart
在第 10 行之后添加
const URL_POSTS = '$URL_WP_BASE/posts';
自定义帖子的端点行。假设您有自定义帖子,您将添加一个端点books
:
const URL_BOOKS = '$URL_WP_BASE/books';
在此处查看有关此内容以及如何为自定义帖子类型启用 REST API 的说明:
https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-rest-api-support-for-custom-content-types/#registering-a-custom-post-type-with-rest-api-support
然后在flutter_wordpress/lib/requests/文件夹中,找到、克隆并重命名文件:
params_post_list.dart 到 params_book_list.dart
并将此处的 class ParamsPostList
重命名为 ParamsBookList
类
在文件夹flutter_wordpress/lib/schemas/找到
post.dart 复制并重命名为 book.dart
并将此处的 class Post
重命名为 Book
类
然后在文件flutter_wordpress/lib/flutter_wordpress.dart中:
找到行import 'schemas/post.dart';
,然后添加行import 'schemas/book.dart';
找到行export 'requests/params_post_list.dart';
,然后添加行export 'requests/params_book_list.dart';
找到行export 'schemas/post.dart';
,然后添加行export 'schemas/book.dart';
然后找函数
async.Future<List<Post>> fetchPosts()
Future<Post> _postBuilder()
async.Future<Post> createPost(@required Post post)
复制这些函数并将其重命名并将Post
替换为Book
(区分大小写)
注意:在复制的函数中找到URL_POSTS
并重命名为URL_BOOKS
【讨论】:
太棒了……!!太好了..没想到这个简短的答案..非常感谢。我会在这里为其他人添加我的代码。顺便说一句,你能告诉我关于自定义字段的提示吗?我是 Flutter 的新手。我应该使用此代码还是使用 Chopper 库构建相同的代码?哪个更适合 WP 作为 android 应用的后端? 只有在 forkflutter_wordpress
项目时才应该使用这种情况。让我知道它是否有效:)以上是关于Dart Flutter - 使用 Chopper 获取 WordPress 自定义帖子类型的主要内容,如果未能解决你的问题,请参考以下文章
Flutter + Chopper POST API 在网络中不起作用