Free Porn
xbporn

https://www.bangspankxxx.com
Home IT/WEB wordpress rest api 에 tag id 와 tag name 포함시키는 방법

wordpress rest api 에 tag id 와 tag name 포함시키는 방법

wordpress rest api 의 tags 값을 확인하면 아래와 같이 tag 의 id 값을 응답 받을 수 있다.
내가 원하는 형태는 tags : [{id : 11, name: markettraders},{id : 4, name: google}] 이런 형태를 원한다. 태그의 목록을 출력하고 싶은데 tag의 id 값 밖에 없어서 추가 설정이 필요로 한다.

inline ad
"tags": [
      11,
      4
],

아래의 포스트글에는 tag name 만 추가하는 방법을 알려준다.

function ag_filter_post_json($response, $post, $context) {
    $tags = wp_get_post_tags($post->ID);
    $response->data['tag_names'] = [];

    foreach ($tags as $tag) {
        $response->data['tag_names'][] = $tag->name;
    }

    return $response;
}

add_filter( 'rest_prepare_post', 'ag_filter_post_json', 10, 3 );

하지만 내가 원하는 형태는 id, name 이 포함되어 있는 형태여서 위의 구문을 참고하여 수정하였다.
커스텀 포스트타입의 경우 rest_prepare_post 를 rest_prepare_(custom post type name) 이런 형태로 커스텀 포스트 타입을 적어주면 된다.

add_filter( 'rest_prepare_post', 'ag_filter_post_json', 10, 3 );

function ag_filter_post_json($response, $post, $context) {
    $tags = wp_get_post_tags($post->ID);
    $response->data['tag'] = array();
    $array_tag = array();

    foreach ($tags as $tag) {
        $array_tag['name'] = $tag->name;
        $array_tag['id'] =  $tag->term_id;
        $response->data['tag'][] = $array_tag;
    }
    return $response;
}

위 구문을 function.php 에 입력하고 rest api 주소로 요청하면 아래와 같은 형태로 응답 받을 수 있다.

"tag": [
      {
        "name": "aaa",
        "id": 11
      },
      {
        "name": "bbb",
        "id": 4
      }
    ],

———————————————————————————————–
2021-03-08 추가

위의 구문 조금 변경하였습니다. 태그와 카테고리 텍소노미에 대해서 id, name 을 추가하였습니다.

// 포트폴리오 텍소노미(category, tags) rest api 추가
add_filter( 'rest_prepare_portfolio', 'portfolio_taxonomy_json', 10, 3 );
function portfolio_taxonomy_json($response, $post, $context)
{
    $tags = wp_get_post_terms($post->ID, 'portfolio_tag');
    $categories = wp_get_post_terms($post->ID, 'portfolio_category');

    $response->data['portfolio_tags'] = array();
    $response->data['portfolio_categories'] = array();
    $array_tag = array();
    $array_category = array();

    foreach ($tags as $tag) {
        $array_tag['name'] = $tag->name;
        $array_tag['id'] = $tag->term_id;
        $response->data['portfolio_tags'][] = $array_tag;
    }
    foreach ($categories as $category) {
        $array_category['name'] = $category->name;
        $array_category['id'] = $category->term_id;
        $response->data['portfolio_categories'][] = $array_category;
    }
    return $response;
}

RECENT POSTS

개미를 퇴치하는 자연적인 방법 중 가장 효과적인 방법 6가지

개미를 자연스럽게 퇴치하는 여러 가지 방법 중 가장 효과적인 몇 가지 방법을 소개하겠습니다. 이 방법들은 모두 집에서 쉽게 구할 수 있는 재료를 사용하여 개미를...

부심장을 지키는 올바른 식단: 먹으면 좋은 음식과 나쁜 음식

부정맥 환자는 심장 건강을 유지하고 증상을 관리하기 위해 특정 음식을 피하고, 심장 건강에 좋은 음식을 섭취하는 것이 중요합니다. 다음은 부정맥 환자가 피해야 나쁜 음식과...

부정맥 arrhythmia: 정의, 원인, 증상, 진단 및 검사, 치료 방법, 예방 방법, 주의사항, 생활 습관

정의 부정맥(Arrhythmia)은 심장의 정상적인 리듬이 불규칙해지거나 비정상적으로 빨라지거나 느려지는 상태를 말합니다. 이는 심장의 전기적 신호 전달에 문제가 생겨 발생하며, 다양한 원인과 증상을 가지고 있습니다. 원인 부정맥의 원인은...

폐렴 pneumonia: 정의, 원인, 증상, 진단 및 검사, 치료 방법, 예방 방법, 주의사항, 생활 습관

정의 폐렴(Pneumonia)은 폐의 폐포(air sacs)에 염증이 생겨 액체나 고름이 차는 질환입니다. 주로 세균, 바이러스, 곰팡이 등의 감염에 의해 발생하며, 심한 경우 생명을 위협할 수 있습니다. 원인 폐렴의...