标签: wp-api

WP Rest API + AngularJS:如何抓住特色图片在页面上显示?

我通过HTTP REST API插件访问Wordpress数据(这个wordpress插件:http://v2.wp-api.org/).我知道如何抓住我的帖子标题,但如何使用此插件显示与该帖子相关的精选图片?我的测试显示了帖子标题和特色图片ID,但我不确定如何显示实际图像.测试例.

这是我的代码:

    <div ng-app="myApp">
    <div ng-controller="Ctrl">
        <div ng-repeat="post in posts | limitTo: 1">
            <h2 ng-bind-html="post.title.rendered"></h2>

            <p>{{ post.featured_image }}</p>

        </div>
    </div>
</div>


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-sanitize.min.js"></script>

<script>

var app = angular.module('myApp', ['ngSanitize']);
    app.controller('Ctrl', function($http, $scope) {
        $http.get("http://ogmda.com/wp/wp-json/wp/v2/posts").success(function(data) {
        $scope.posts = data;
    });
});

</script>
Run Code Online (Sandbox Code Playgroud)

rest wordpress angularjs wp-api

7
推荐指数
2
解决办法
8868
查看次数

使用社交登录(OAuth)对自定义WP API端点进行身份验证

我将Wordpress + WooCommerce与WP-API结合使用,作为我的移动电子商务应用程序的后端。

我的目标是在应用程序中提供一些社交登录(通过Facebook,Twitter,Google等)以注册/登录,然后使用WooCommerce API接收例如该经过身份验证的用户的所有订单。

目前我的计划是:

  1. 使用一些客户端SDK,以便用户例如可以使用其FB帐户登录
  2. 从第1步中,我得到了例如用户名,电子邮件和FB ID,这些信息已发送到自定义端点,用于将用户添加到Wordpress DB(例如https://github.com/royboy789/wp-api-social-login
  3. 为使用WP-API的订单创建自定义端点(例如:... / orders)
  4. 在端点功能内检查用户是否已通过身份验证
  5. 如果用户通过了身份验证,则端点使用WooCommerce API包装器(https://github.com/kloon/WooCommerce-REST-API-Client-Library)返回用户的订单。

但是我在#3上苦苦挣扎,因为我真的不知道如何检查用户是否经过身份验证。

我考虑过要创建另一个端点,该端点将与OAuth授权服务器联系以使用例如Facebook的访问令牌来检查用户的凭据。如果检查是有效的,我将使用userID,email等的一些哈希值为我的API创建自定义访问令牌,该哈希值会发送回客户端应用程序。然后,此访问令牌用于对我的API的每次调用,然后从哈希令牌中读取用户ID,并返回例如该用户的所有订单。

但是以某种方式感觉不对。特别是因为这样,我将创建一个永无止境的实时访问令牌...

wordpress oauth oauth-2.0 woocommerce wp-api

6
推荐指数
1
解决办法
1335
查看次数

WP rest API按标题发布

如果帖子存在与否,我正试图通过帖子标题进行检查.出于某种原因,当我尝试类似的东西:

http://domain.com/wp-json/wp/v2/posts?filter[post-title]=table
Run Code Online (Sandbox Code Playgroud)

我希望如果存在名称表的帖子,要获得帖子,如果没有,请获得空响应.但由于某种原因,当帖子标题不存在时,我会收到所有帖子.如果没有帖子,那么怎么会变空?

wordpress wordpress-json-api wp-api

6
推荐指数
2
解决办法
5990
查看次数

使用WP REST API V2(WordPress)查询多个帖子类型

我以前在几个网站上使用过WordPress REST API版本1(V1).我广泛使用的一个功能是能够在单个查询中调用多个帖子类型.

在WP REST API版本1中,我能够使用以下端点来获取包含来自两者bookmovie帖子类型的帖子的列表:

http://example.com/wp-json/posts?type[]=book&type[]=movie
Run Code Online (Sandbox Code Playgroud)

我已经设置了我的自定义帖子类型,以便可以从api访问它们,并且可以像这样调用:

http://example.com/wp-json/wp/v2/book/
http://example.com/wp-json/wp/v2/movie/
Run Code Online (Sandbox Code Playgroud)

在WP REST API Version 2(V2)中实现此目的的最佳方法是什么?我已经研究过自定义端点,但我不确定这对我来说是最好的解决方案(http://v2.wp-api.org/extending/adding/).可能有十几种自定义帖子类型,我需要根据用户输入他们想要查看的内容类型来运行动态查询.

如果有人之前处理过类似的问题,我愿意接受想法或建议.

感谢大家!

更新:

在WP-API问题论坛中我被告知在V2中这是不可能的:https://github.com/WP-API/WP-API/issues/2567

这对我来说根本没有意义.在WordPress中,我可以为其创建一个帖子类型,movie并且book可以共享一个自定义分类genre.使用WP_Query,如果我愿意的话,我可以在一个循环中根据类型查询这两种帖子类型.为什么WordPress的REST API不包含同时查询这两者的基本功能,特别是因为它在V1中工作正常?如果没有此功能,我将无法将当前的Web应用程序从V1更新到V2.

我现在的问题是,是否有人成功创建了可以创建此功能的端点?

php api rest wordpress wp-api

6
推荐指数
1
解决办法
3508
查看次数

UrlMatcher 中的 Angular 6 依赖注入

如何为路由的 注入依赖项UrlMatcher

我需要调用后端 API,以便为每个 URL 找出正确的路由(通过解析重写规则并在 WordPress 中运行查询)。

这就是为什么我需要一个 Singleton 服务UrlMatcher来获取数据一次,然后使用它来确定路由(然后将它注入到具有获取数据的组件中)。

我创建了一个 UrlMatcher 工厂:

      {
        component: PostComponent,
        matcher: wpApiUrlMatcherFactory('post')
      }
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在所有这些服务中使用相同的服务,以及如何在不使用不良实践代码的情况下创建它。

routing dependency-injection single-page-application wp-api angular

6
推荐指数
1
解决办法
776
查看次数

WordPress REST API-允许任何人发布

我正在WordPress上构建一个需要简单前端表单的应用程序,任何人都可以提交需要保存在数据库中的信息。我正在尝试通过REST API处理此问题。(由于应用程序的性质,提交此信息时不能对页面进行任何重定向。)

设置REST API(v2)没问题,这样我就可以提交帖子了。当我登录WordPress时,效果很好。当我未登录WordPress时尝试填写表格时,收到错误消息。

加载资源失败:服务器响应状态为403(禁止)

如何设置API以接收任何未经身份验证的人的POST?

这是我的JavaScript:

$( '#post-submission-form' ).on( 'submit', function(e) {
    e.preventDefault();
    var title = $( '#post-submission-title' ).val();
    var excerpt = $( '#post-submission-excerpt' ).val();
    var content = $( '#post-submission-content' ).val();
    var status = 'draft';

    var data = {
        title: title,
        excerpt: excerpt,
        content: content
    };

    $.ajax({
        method: "POST",
        url: POST_SUBMITTER.root + 'wp/v2/posts',
        data: data,
        beforeSend: function ( xhr ) {
            //xhr.setRequestHeader( 'X-WP-Nonce', POST_SUBMITTER.nonce );
        },
        success : function( response ) {
            console.log( response );
            alert( POST_SUBMITTER.success );
        }, …
Run Code Online (Sandbox Code Playgroud)

javascript php rest wordpress wp-api

5
推荐指数
1
解决办法
2109
查看次数

不加载主题和插件,使WordPress WP-API更快

我想更快地向WordPress API发出请求.我的API在插件中实现(使用register_rest_route来注册我的路由).但是,由于这是一个插件,所有内容都加载了它(子主题和主题),基本上对这个API的查询需要半秒钟,因为加载了所有这些无用的部分.

WordPress API不能以其他方式使用吗?由于大多数使用WP-API的插件不需要加载任何其他插件,更不用说主题......我不明白他们怎么会错过这个.

反正有没有这样做?

php wordpress wordpress-plugin wordpress-json-api wp-api

5
推荐指数
2
解决办法
6087
查看次数

Wordpress API json,如何在单个帖子中获得上一个和下一个帖子?

如何在单个帖子wordpress api中获得上一个和下一个帖子,我无法得到这个,如何使json上一个和下一个像没有API的wordpress我想得到slug帖子我可以在单个帖子中使用下一个prev,如何获得下一个和上一个的slug,link或id post

<?php
$prev_post = get_previous_post();
if (!empty( $prev_post )): ?>
  <a href="<?php echo $prev_post->guid ?>"><?php echo $prev_post->post_title ?></a>
<?php endif ?>
Run Code Online (Sandbox Code Playgroud)

像这样但在json中使用 https://codex.wordpress.org/Function_Reference/previous_post_link

api wordpress json wp-api

5
推荐指数
2
解决办法
2025
查看次数

无需验证即可使用WP-REST获取帖子

我是WP-REST API和Wordpress的新手。我尝试使用端点wp-json / wp / v2 / posts获取帖子列表,但出现经典的403错误。

我想问一下是否有一种方法可以禁用GET请求(如帖子,类别等)的身份验证,因为我想创建一个Web应用程序,用户无需身份验证即可在其中自由导航和查看它们。谢谢大家的回答。

authentication rest wordpress wp-api

5
推荐指数
1
解决办法
734
查看次数

通过WP REST API使用Contact Form 7

由于几乎无法访问此外部站点上的服务器,因此我使用WordPress和WP REST API v2来提取当然在WordPress上管理的内容.效果很好!

我已经能够将此外部网站的联系表格7数据形式发布到此WordPress网站,它确实发送了一封电子邮件,但表单没有验证,并且在帖子上它返回此错误.

{
    "code": "rest_cannot_edit",
    "message": "Sorry, you are not allowed to edit this post.",
    "data": {
    "status": 401
}
} 
Run Code Online (Sandbox Code Playgroud)

它发布到页面https://www.flambang.com/wp-json/wp/v2/pages/1666?_=1498600326410#wpcf7-f11791-o1,奇怪的是它甚至有效 - 意思是发送电子邮件并将联系人数据添加到数据库.

有没有人使用Contact Form 7和通过JSON via和WP REST API提供的数据?我可以使用其他端点吗?

谢谢,

保罗

wordpress contact-form-7 wp-api

5
推荐指数
1
解决办法
3016
查看次数