2016-11-21 28 views
0

我一直在尝试使用wp rest api将数据从本地站点移动到使用简码的wordpress站点。当我试图做相反的事情,即将帖子从实况转移到本地时,它可以工作,但是当我将链接从本地更改为实况时,它不会在页面上显示任何内容。如何使用wp rest api从本地站点检索内容到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'); 

回答

0

这是因为“localhost”的是不是一个有效的主机名 - 你必须通过你的公网IP地址来访问的职位。

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

例如:124.98.221.75

然后,124.98.221.75

替换词 localhost

因此,这将是

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

+0

让我试试 – Landry

+0

它不起作用我也试图让这个网站的帖子像这样wp_remote_get('http://domain.com/new/wp-json/wp/v2/posts') ;并且它仍然不起作用,其中domain.com是活网站的名称。但是当我在本地站点上为本地主机执行相同操作时,它至少会获取本地站点的帖子并在本地站点上显示使用简码 – Landry

+0

这可能是由于活动站点的设置 - 它可能导致wp_remote_get()被禁用为安全 – mike510a

0

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

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

+0

中删除分号请你能帮助我在这个链接上的另一个问题; – Landry

+0

是的,当然我会 –

+0

@ VasimVanzara这是我的问题http://stackoverflow.com/questions/40929020/post-request-to-custom-end-point – Landry

相关问题