Home IT/WEB wordress rest api 에 featured image 경로 추가

wordress rest api 에 featured image 경로 추가

포스트에 featured image 를 추가하면 wordpress rest api 에는 featured_media 에 대한 id 만 응답받을 수 있다. 
이미지의 경로가 필요가 필요하여 추가적으로 넣어주었다. 이미지도 full 사이즈와 medium 사이즈가 따로 필요해서 각각 생성해주었다. 

아래 구문을 function.php 에 추가해주면 된다.
register_rest_field( array('portfolio') 에서 portfolio 에는 커스텀포스트타입 이름을 넣어주면 된다.
inline ad
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",

RECENT POSTS

[vscode]이 시스템에서 스크립트를 실행할 수 없으므로 nest.ps1 파일을 로드할 수 없습니다.

nest : 이 시스템에서 스크립트를 실행할 수 없으므로 C:UsersmarkettradersAppDataRoamingnpmnest.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1 이 오류는 PowerShell 실행 정책 관련...

[nest.js]nest.js, node.js, 프로젝트 생성 방법

Node.js 설치 Node.js의 공식 웹사이트(nodejs.org)에서 Windows용 인스톨러를 다운로드합니다. 다운로드한 인스톨러를 실행하여 설치합니다. Node Version Manager(NVM)을 사용하는 경우 nvm install node # 최신 버전 설치 nvm install 14 #...

[광주]위파크 더 센트럴 분양주택 분양안내

기본정보 공급위치: 광주광역시 서구 풍암동 10-12번지 일원 공급번호: 2023000351 공급규모: 625세대 분양/입주: 분양 2023-08-04 / 입주 2026-08 건설사: (주)호반건설 (주)라인건설 분양문의: 1670-5676 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.wepark-central.co.kr/ 모집공고문 보기 청약일정 모집공고일: 2023-08-04 청약접수: 2023-08-14...

[강원]힐스테이트 속초 분양주택 분양안내

기본정보 공급위치: 강원특별자치도 속초시 금호동 622-40 일원 공급번호: 2023000337 공급규모: 925세대 분양/입주: 분양 2023-07-21 / 입주 2026-05 건설사: 현대엔지니어링(주) 분양문의: 033-947-0925 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.hillstate-sokcho.co.kr 모집공고문 보기 청약일정 모집공고일: 2023-07-21 청약접수: 2023-07-31 ~...