本文整理汇总了PHP中WP_REST_Request::from_url方法的典型用法代码示例。如果您正苦于以下问题:PHP WP_REST_Request::from_url方法的具体用法?PHP WP_REST_Request::from_url怎么用?PHP WP_REST_Request::from_url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WP_REST_Request
的用法示例。
在下文中一共展示了WP_REST_Request::from_url方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: embed_links
/**
* Embeds the links from the data into the request.
*
* @since 4.4.0
* @access protected
*
* @param array $data Data from the request.
* @return array {
* Data with sub-requests embedded.
*
* @type array [$_links] Links.
* @type array [$_embedded] Embeddeds.
* }
*/
protected function embed_links($data)
{
if (empty($data['_links'])) {
return $data;
}
$embedded = array();
foreach ($data['_links'] as $rel => $links) {
// Ignore links to self, for obvious reasons.
if ('self' === $rel) {
continue;
}
$embeds = array();
foreach ($links as $item) {
// Determine if the link is embeddable.
if (empty($item['embeddable'])) {
// Ensure we keep the same order.
$embeds[] = array();
continue;
}
// Run through our internal routing and serve.
$request = WP_REST_Request::from_url($item['href']);
if (!$request) {
$embeds[] = array();
continue;
}
// Embedded resources get passed context=embed.
if (empty($request['context'])) {
$request['context'] = 'embed';
}
$response = $this->dispatch($request);
/** This filter is documented in wp-includes/rest-api/class-wp-rest-server.php */
$response = apply_filters('rest_post_dispatch', rest_ensure_response($response), $this, $request);
$embeds[] = $this->response_to_data($response, false);
}
// Determine if any real links were found.
$has_links = count(array_filter($embeds));
if ($has_links) {
$embedded[$rel] = $embeds;
}
}
if (!empty($embedded)) {
$data['_embedded'] = $embedded;
}
return $data;
}
示例2: test_from_url_invalid
/**
* @dataProvider data_from_url
*/
public function test_from_url_invalid($permalink_structure)
{
update_option('permalink_structure', $permalink_structure);
$using_site = site_url('/wp/v2/posts/1');
$request = WP_REST_Request::from_url($using_site);
$this->assertFalse($request);
$using_home = home_url('/wp/v2/posts/1');
$request = WP_REST_Request::from_url($using_home);
$this->assertFalse($request);
}