如何使用wp rest api从本地站点检索内容到word wordpress网站

时间:2016-11-21 10:53:34

标签: php wordpress rest api

我一直在尝试使用wp rest api使用短代码将数据从本地站点提取到word wordpress网站。当我尝试执行相反的操作,即将帖子从实时提取到本地时,它可以正常工作,但是当我更改链接以从本地检索到实时时,它不会在页面上显示任何内容。

我已在两个网站上安装了wp rest api。以下是我的代码:

function my_recent_posts_shortcode($atts){
 $response = wp_remote_get( 'http://localhost/wordpress/wp-json/wp/v2/posts' );
  if( is_wp_error( $response ) ) {
 return;
 }

 $posts = json_decode( wp_remote_retrieve_body( $response ) );
 if( empty( $posts ) ) {
 return;
 }

if( !empty( $posts ) ) {
$list = '<ul class="recent-posts">';

foreach( $posts as $post ) {
$list .='<li><a href="' . $post->link. '">' . $post->title->rendered . '</a>
</li>';
}
return $list . '</ul>';
}
}
add_shortcode('recent-posts', 'my_recent_posts_shortcode');

2 个答案:

答案 0 :(得分:0)

那是因为“localhost”不是有效的主机名 - 您必须通过公共IP地址访问帖子。

在任何搜索引擎中输入“我的IP是什么”,它会给你一系列由点分隔的4个数字,

示例:124.98.221.75

然后,将localhost替换为124.98.221.75

所以它将是

$response = wp_remote_get( 'http://124.98.221.75/wordpress/wp-json/wp/v2/posts' );

答案 1 :(得分:0)

您可以将?page = {$ page_number}添加到您要求的网址。

例如http://domain.com/wp-json/wp/v2/posts/?page=2