Wordpress REST API에서 카테고리/태그 목록을 검색하는 방법
Wordpress JSON Rest API에서 카테고리 목록을 얻는 방법을 아는 사람 있나요?현재 API는 카테고리 목록 검색을 지원하지 않는 것 같습니다(XML-RPC는 지원).
http://developer.wordpress.com/docs/api/
WP REST API 페이지에 따라 http://example.com/wp-json/wp/v2/categories에 접속할 수 있습니다.이것은 Rest API의 v2에 추가된 것일 수 있지만 확실하지 않습니다.
편집: 2019년 8월 현재 보안상의 문제로 JSON API 플러그인을 사용할 수 없습니다.
나는 내 워드프레스 사이트에서 안드로이드 앱을 만들려고 했다.JSON API 덕분에 가능했지만 실제 헤드레이스를 얻을 수 있었습니다.요청 구문에 대한 문서가 없습니다.
2시간의 조사 끝에, 나는 마침내 무언가를 찾아냈다.첫 번째로 알아야 할 것은 요청 모드에는 다음 3가지 유형이 있습니다.
1. 암묵적 모드
JSON 쿼리에서 빈 값이 아닌 "json=1"을 사용합니다.예:
- http://www.example.com/?json=1
- http://www.example.com/?p=47&json=1
- http://www.example.com/tag/banana/?json=1
2. 명시적 모드
JSON 쿼리는 알려진 문자열 값(예: "json=get_backet_post")을 사용합니다.예:
- http://www.example.org/?json=get_filen_filename
- http://www.example.org/?json=get_post&post_id=47
- http://www.example.org/?json=get_tag_display&tag_displays=displays
3. 퍼멀링크 모드
JSON 쿼리는 없지만 "/api/get_recent_post" 요청에는 사용자 친화적인 permalink가 사용됩니다.예:
- http://www.example.org/api/get_recent_posts/
- http://www.example.org/api/get_post/?post_id=47
- http://www.example.org/api/get_tag_posts/?tag_filength=syslog
또한 카테고리를 나열하기 위한 구문은 다음과 같습니다.
http://blog.example.com/?json=get_category_index
기타 중요한 기본 요구는 다음과 같습니다.
- http://blog.example.com/?json=get_tag_index(태그 목록을 가져오려면)
- http://blog.example.com/?json=get_author_index(작성자 목록을 가져오려면)
- http://blog.example.com/?json=get_page_index(페이지 목록을 가져오려면)
- http://blog.example.com/?json=get_date_index(날짜 목록을 가져오려면)
자세한 내용은 이 링크를 참조하십시오.나처럼 워드프레스 출신이 아닌 사람의 시간을 절약해 주길 바란다.
현재 버전의 Wordpress 4.9.8에서는 보통 다음과 같이 내장 API를 사용하여 카테고리를 가져올 수 있습니다.
http://www.example.com/wp-json/wp/v2/categories
다만, 적어도 부모 카테고리와 자녀 카테고리를 사용하고 있는 경우는, 모든 카테고리를 취득할 수 없는 버그가 있는 것 같습니다.
모든 카테고리를 올바르게 취득하기 위해 워드프레스 설치에 작은 PHP 스크립트를 추가했습니다.
<?php
/** Make sure that the WordPress bootstrap has run before continuing. */
require( dirname(__FILE__) . '/wp-load.php' );
// Redirect to https login if forced to use SSL
if ( force_ssl_admin() && ! is_ssl() ) {
if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) {
wp_safe_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
exit();
} else {
wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
exit();
}
}
header('Content-Type: application/json');
echo json_encode(get_categories());
주의:
테스트의 목적으로는, 다음의 점에 주의해 주세요.get_categories
- 함수는 적어도1개의 문서(예:?)와 이미 관련되어 있는 문서만 반환합니다.
Jetpack에서 제공하는 JSON API를 사용하고 있다면 운이 없을 수 있습니다.API 문서(자동 업데이트된다고 주장하는 것)를 보면 카테고리 목록을 얻을 수 있는 참조가 없습니다.그러나 도움이 된다면 각 카테고리에 대한 정보를 얻을 수 있습니다.
방금 http://public-api.wordpress.com/rest/v1/sites/$site/categories에 접속했는데 아무것도 안 나왔어요.미안하다.
http://developer.wordpress.com/docs/api/
$args = [
'taxonomy' => 'category',
'hide_empty' => 0,
'parent' => 0
];
function _get_child_terms( $items ) {
foreach ( $items as $item ) {
$item->children = get_terms( 'category', array( 'child_of' => $item->term_id, 'hide_empty' => 0 ) );
if ( $item->children ) _get_child_terms( $item->children );
}
return $items;
}
$terms = _get_child_terms( get_terms( $args ) );
echo json_encode( $terms );
편집 : 2019년 8월 현재 보안상의 이유로 JSON API 플러그인은 종료되었습니다.따라서 이 답변은 권장되지 않습니다.
마지막으로 실행 가능한 단계:
- wordpress 플러그인 설치:
JSON API
- 사용하다
get_category_index
api, 형식은 다음과 같습니다.http://www.example.com/api/get_category_index
응답 카테고리를 취득할 수 있습니다.
{
"status": "ok",
"count": 332,
"categories": [{
"id": 4637,
"slug": "soft_360",
"title": "360",
"description": "",
"parent": 4618,
"post_count": 2
}, {
"id": 4498,
"slug": "amazon",
"title": "Amazon",
"description": "",
"parent": 3390,
"post_count": 29
}, {
......
}, {
"id": 860,
"slug": "default_classification",
"title": "\u9ed8\u8ba4\u5206\u7c7b",
"description": "",
"parent": 17,
"post_count": 3
}]
}
자세한 내용은 공식 문서를 참조하십시오.JSON API - WordPress Plugins
이거 먹어봐<?php echo get_the_category_list(); ?>
언급URL : https://stackoverflow.com/questions/20158417/how-to-retrieve-a-list-of-categories-tag-in-wordpress-rest-api
'programing' 카테고리의 다른 글
복수의 디렉티브[ 디렉티브 #1, 디렉티브 #2]에 대해 격리된 범위를 요구하는 (0) | 2023.03.27 |
---|---|
MongoDB 전체 및 부분 텍스트 검색 (0) | 2023.03.27 |
React Formik 외부에서 submit Form 사용 (0) | 2023.03.27 |
노드/도커를 빌드할 때 uid/gid를 가져올 수 없습니다. (0) | 2023.03.27 |
Oracle에서 모든 테이블 제약 조건 사용 안 함 (0) | 2023.03.27 |