本教程演示了使用wp-api-angular
库将Angular 2应用程序与WordPress REST API连接的。 该图书馆支持主要的WP资源(用户,帖子,评论,媒体,分类法)。我们将构建展示其易用性的功能:JWT身份验证,用户和发布列表,以及Post Crud(创建,读取,更新,删除)操作。 完整的源代码在GitHub上。 虽然本教程使用Angular 5,但这些概念适用于Angular 2。
密钥概念:
wp-api-angular
WordPress设置:启用永久链接并安装JWT身份验证插件以进行安全API访问。本教程使用一个自托管的WordPress实例。 启用永久链接(有关说明,请参见WordPress codex;有关NGINX,添加)。 安装JWT身份验证插件以供安全API访问。
>try_files $uri $uri/ /index.php?$args;
Angular应用程序设置:nginx.conf
创建一个新的Angular应用程序:
ng new wp-api
中导入必要的模块:cd wp-api && npm install wp-api-angular --save
src/app/app.module.ts
(包括import { Http } from '@angular/http'; import { HttpClientModule, HttpClient } from '@angular/common/http'; import { WpApiModule, WpApiLoader, WpApiStaticLoader } from 'wp-api-angular'; @NgModule({ // ... imports: [ BrowserModule, FormsModule, HttpClientModule, WpApiModule.forRoot({ provide: WpApiLoader, useFactory: WpApiLoaderFactory, deps: [Http] }) ], // ... }) export function WpApiLoaderFactory(http: Http) { return new WpApiStaticLoader(http, 'http://YOUR_DOMAIN_HERE/wp-json/wp/v2/', ''); }
YOUR_DOMAIN_HERE
> authentication(JWT):app.component.ts
NgForm
HttpClientModule
<Headers
变量
创建一个component()。
>token
对象和app.component.ts
方法:authentication
ng generate component authentication
authentication.component.ts
user
auth()
列表用户:auth() { this.http.post('http://YOUR_DOMAIN/wp-json/jwt-auth/v1/token', { username: this.user.login, password: this.user.password }).subscribe(data => { if (data['token']) { this.token = data['token']; this.tokenChange.emit(this.token); } }); }
authentication.component.html
并使用来获取用户。>
user-list
ng generate component user-list
>post-new
组件。 在JWT授权标题中使用WpApiPosts.create()
> post-list
组件。使用WpApiPosts.getList()
来获取帖子。post-list
> WpApiPosts.delete()
post-edit
> WpApiPosts.update()
结论:
以上是将角和WordPress API与wp-api-angular连接的详细内容。更多信息请关注PHP中文网其他相关文章!