我一直在尝试使用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');
答案 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}添加到您要求的网址。