【问题标题】:How to retrieve content from local site to live wordpress site using wp rest api如何使用 wp rest api 将内容从本地站点检索到实时 wordpress 站点
【发布时间】:2017-04-04 17:51:18
【问题描述】:

我一直在尝试使用 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');

【问题讨论】:

    标签: php wordpress rest api


    【解决方案1】:

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

    在任何搜索引擎中输入“whats my 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' );

    【讨论】:

    • 让我试试
    • 它不起作用我也试图像这样获取网站本身的帖子 wp_remote_get('domain.com/new/wp-json/wp/v2/posts');在 domain.com 是实时站点的名称的情况下,它仍然不起作用。但是,当我在本地站点上对 localhost 执行相同操作时,它至少会获取本地站点的帖子并在本地站点上使用简码显示
    • 这可能是由于实时站点的设置 --- 它可能已禁用 wp_remote_get() 以确保安全
    • @Landry wp_remote_get('domain.com/new/wp-json/wp/v2/posts';);去掉 breket 中的分号
    【解决方案2】:

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

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

    【讨论】:

    • 请你帮我解决这个链接上的另一个问题;
    • @VasimVanzara 这是我的问题stackoverflow.com/questions/40929020/…
    • 好的让我检查一下,如果这个问题是完整的,请标记完成。它对某人有帮助。
    • 我将此问题标记为完成不是因为它完全回答了我的问题,而是因为它为我提供了关于何时使用以及何时使用 localhost 和本地 ip 的线索。
    • 如果问题得到解决或您找到解决方案,最好通过编辑现有答案来改进答案。
    猜你喜欢
    • 1970-01-01
    • 2017-02-22
    • 2014-11-29
    • 2017-09-13
    • 2018-06-15
    • 2021-11-04
    • 2017-09-03
    • 1970-01-01
    • 2015-04-15
    相关资源
    最近更新 更多