Json 如何在wp REST API响应中使用wp:featuredmedia?

Json 如何在wp REST API响应中使用wp:featuredmedia?,json,wordpress,wordpress-rest-api,Json,Wordpress,Wordpress Rest Api,我正在尝试从另一个WordPress站点获取博客帖子,目前我已成功获取帖子,我正在使用以下代码片段: $response = wp_remote_get( add_query_arg( array( 'per_page' => 1, 'categories' => 38 ), 'https://www.remotesite.com/wp-json/wp/v2/posts?_embed' ) ); if( !is_wp_error( $response )

我正在尝试从另一个WordPress站点获取博客帖子,目前我已成功获取帖子,我正在使用以下代码片段:

$response = wp_remote_get( add_query_arg( array(
    'per_page' => 1,
     'categories' => 38
     ), 'https://www.remotesite.com/wp-json/wp/v2/posts?_embed' ) 
);
if( !is_wp_error( $response ) && $response['response']['code'] == 200 ) {

   $remote_posts = json_decode( $response['body'] ); 
    foreach( $remote_posts as $remote_post ) {
    echo '<h2>'. $remote_post->title->rendered . '</h2>
           <p>' . $remote_post->excerpt->rendered . '</p>';     

   }
 }

根据您的代码,可以如下方式检索特色图像URL:

$remote_post->_embedded->{'wp:featuredmedia'}[0]->source_url
但是,这是功能图像文件的全尺寸版本

要获取特定缩略图大小的URL,您可以通过以下方式访问:

$remote_post->_embedded->{'wp:featuredmedia'}[0]->media_details->sizes
。。它是
对象
数据的
数组
(当然,除非在
json_decode()
函数的第二个参数中使用
true

默认情况下,可用的缩略图大小为:
缩略图
中缩略图
中缩略图
。以下是
中等
尺寸的示例:

$remote_post->_embedded->{'wp:featuredmedia'}[0]->media_details->sizes->medium->source_url
因此,请尝试以下内容:

foreach( $remote_posts as $remote_post ) {
    $thumb_full_url = '';
    $thumb_url = '';

    if ( ! empty( $remote_post->featured_media ) && isset( $remote_post->_embedded ) ) {
        $thumb_full_url = $remote_post->_embedded->{'wp:featuredmedia'}[0]->source_url;
        $thumb_url = $remote_post->_embedded->{'wp:featuredmedia'}[0]->media_details->sizes->medium->source_url;
    }

    echo '<h2>'. $remote_post->title->rendered . '</h2>' .
        '<p>' . $remote_post->excerpt->rendered . '</p>' .
        '<p>' .
            'Medium-sized thumbnail: ' . $thumb_url . '<br>' .
            'Full-sized / source: ' . $thumb_full_url .
        '</p>';
}
foreach($remote\u post作为$remote\u post){
$thumb_full_url='';
$thumb_url='';
如果(!empty($remote\u post->featured\u media)&&isset($remote\u post->\u embedded)){
$thumb\u full\u url=$remote\u post->\u embedded->{'wp:featuredmedia'}[0]->source\u url;
$thumb\u url=$remote\u post->\u embedded->{'wp:featuredmedia'}[0]->媒体详细信息->大小->媒体->源url;
}
回显“”。$remote_post->title->rendered。“”。
“”.$remote\u post->摘录->渲染。”

”。 “”。 “中等大小的缩略图:”.$thumb\u url。“
”。 “完整大小/来源:”.$thumb\u完整\u url。 “

”; }
foreach( $remote_posts as $remote_post ) {
    $thumb_full_url = '';
    $thumb_url = '';

    if ( ! empty( $remote_post->featured_media ) && isset( $remote_post->_embedded ) ) {
        $thumb_full_url = $remote_post->_embedded->{'wp:featuredmedia'}[0]->source_url;
        $thumb_url = $remote_post->_embedded->{'wp:featuredmedia'}[0]->media_details->sizes->medium->source_url;
    }

    echo '<h2>'. $remote_post->title->rendered . '</h2>' .
        '<p>' . $remote_post->excerpt->rendered . '</p>' .
        '<p>' .
            'Medium-sized thumbnail: ' . $thumb_url . '<br>' .
            'Full-sized / source: ' . $thumb_full_url .
        '</p>';
}