포스트에 featured image 를 추가하면 wordpress rest api 에는 featured_media 에 대한 id 만 응답받을 수 있다.
이미지의 경로가 필요가 필요하여 추가적으로 넣어주었다. 이미지도 full 사이즈와 medium 사이즈가 따로 필요해서 각각 생성해주었다.
아래 구문을 function.php 에 추가해주면 된다.
register_rest_field( array('portfolio') 에서 portfolio 에는 커스텀포스트타입 이름을 넣어주면 된다.
add_action('rest_api_init', 'register_rest_images' );
function register_rest_images(){
register_rest_field( array('portfolio'),
'featured_image',
array(
'get_callback' => 'get_rest_featured_image',
'update_callback' => null,
'schema' => null,
)
);
register_rest_field( array('portfolio'),
'featured_thumbnail',
array(
'get_callback' => 'get_rest_featured_medium_image',
'update_callback' => null,
'schema' => null,
)
);
}
function get_rest_featured_image( $object, $field_name, $request ) {
if( $object['featured_media'] ){
$img = wp_get_attachment_image_src( $object['featured_media'], 'app-thumb' );
return $img[0];
}
return false;
}
function get_rest_featured_medium_image( $object, $field_name, $request ) {
if( $object['featured_media'] ){
$img = wp_get_attachment_image_src( $object['featured_media'], 'medium' );
return $img[0];
}
return false;
}아래와 같은 결과를 확인하실 수 있습니다.
"featured_image": "https://markettraders.kr/wp-content/uploads/2021/03/photo-1604922824961-87cefb2e4b07.jpg", "featured_thumbnail": "https://markettraders.kr/wp-content/uploads/2021/03/photo-1604922824961-87cefb2e4b07-512x512.jpg",
![[javascript]객체의 키 중에서 숫자 타입의 값을 필터링하고 합산 javascript](https://markettraders.kr/wp-content/uploads/2021/12/javascript-218x150.jpg)













![[광주]위파크 더 센트럴 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000351-218x150.png)
![[강원]힐스테이트 속초 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/20230707051118016175-218x150.jpg)
![[강원]e편한세상 원주 프리모원(1회차) 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000284-218x150.jpg)
![[서울]수유 시그니티 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/apartment-218x150.jpg)
![[경기]광명 센트럴 아이파크 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000303-218x150.jpg)
