我一直试图使用wordpress从本地站点中提取数据到使用短代码的wordpress站点。当我试图做相反的事情,即将文章从现场拉到本地,这是有效的,但是当我改变链接从本地检索到生活时,它不会在页面上显示任何内容。
我已经在两个站点上安装了wp。下面是我的代码:
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');发布于 2016-11-21 10:59:38
这是因为"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' );
发布于 2016-11-21 11:50:35
可以将?page={$page_number}添加到请求的URL中。
例如,http://domain.com/wp-json/wp/v2/posts/?page=2。
https://stackoverflow.com/questions/40718406
复制相似问题