如何在子域调用WP_QUERY?

时间:2016-03-29 作者:Bryan

我有一个在WordPress中运行的PHP脚本,它使用WP_Query 从我的一个子域获取帖子并将其作为JSON字符串返回。只有在使用正确的子域调用post数据时,脚本才会接收post数据。

例如,如果我去news.example.com/api/news.php, JSON打印正确,但如果www.example.com/api/news.php 它只打印一个空数组。

即使使用主域调用,如何调用将从子域获取数据的单个脚本?或者更好,如果我从任何子域调用它?

2 个回复
SO网友:Adam

你为什么不试试WP API?

然后,您可以从这样的URL中提取帖子。。。

http://subdomain.example.com/wp-json/posts
您还可以设置自定义post类型以使用WP API,然后以类似的方式访问它们,您需要将以下内容添加到您的CPT参数中:

$args = array(
         //...
        \'show_in_rest\'       => true,
        \'rest_base\'          => \'books-api\',
        \'rest_controller_class\' => \'WP_REST_Posts_Controller\',
       )
    );
请看一下:http://v2.wp-api.org/extending/custom-content-types/

您甚至可以像这样使用WP\\u查询参数:

http://subdomain.example.com/wp-json/posts?filter[posts_per_page]=2&filter[order]=ASC

您可以使用jQuery。getJSON()获取跨域数据:

 $.getJSON(\'http://subdomain.example.com/wp-json/posts\', function (data) {
    console.log(data);
  });

SO网友:Uklove

或者,您可以在任意*中包含wordpress函数。服务器上任何位置的php文件。您不必在实际WP安装中运行脚本:

define(\'WP_USE_THEMES\', false);
require(\'/absolute/path/to/your/httpdocs/wp-blog-header.php\');
require(\'/absolute/path/to/your/httpdocs/wp-admin/includes/admin.php\');
只需包含标题,对于管理功能,则包含admin。php。然后可以在此(外部)文件中使用WP-Query()。

问候汤姆

相关推荐

按自定义域(wp-Query和循环)排序和显示帖子)

我只想在主页上显示即将到来的活动帖子。我使用“custom field suite”插件创建了一个自定义字段,名为“ENDS”,表示事件结束的日期。正如你所知,我只想在家里举行即将到来的活动,最接近现在的日期排在第一位。过期后,我希望将其归档到“归档”中,该页面在另一个页面上可见(该页面还应以最近过期的事件开始排序归档的事件帖子)。模板使用无限滚动加载帖子,这是我的索引文件,带有默认循环:http://pastebin.com/x3NzZBZX我需要集成这样的东西,但没有成功:<?php $