1. Theme 파일 수정
위와 같이, functions.php에 아래 내용을 추가해서 rest_api_init 이벤트를 후킹합니다.
add_action('rest_api_init', function () {
register_rest_route( 'Avada-Child', 'submit', array(
'methods' => 'POST',
'callback' => 'post_submit'
));
});
- add_action : WordPress에서 특정 훅을 추가할 때 사용하는 함수입니다. 여기서 '훅'은 특정 action이 발생했을 때 이를 가로채는 행위를 말합니다.
- register_rest_route : REST API 경로를 등록하는 함수입니다.
이제 register_rest_route 콜백에 등록한 post_submit 함수를 구현합니다.
function post_submit($req) {
print_r( $req );
}
functinos.php의 전체 소스는 아래와 같습니다.
<?php
function theme_enqueue_styles() {
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', [] );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles', 20 );
function avada_lang_setup() {
$lang = get_stylesheet_directory() . '/languages';
load_child_theme_textdomain( 'Avada', $lang );
}
add_action( 'after_setup_theme', 'avada_lang_setup' );
add_action('rest_api_init', function () {
register_rest_route( 'Avada-Child', 'submit', array(
'methods' => 'POST',
'callback' => 'post_submit'
));
});
function post_submit($req) {
print_r( $req );
}
이제 새로 추가한 REST에 POST를 날려서 동작을 테스트합니다.
axios.post('https://yourdomain.com/wp-json/Avada-Child/submit')
.then((res) => {
console.log( res );
})
.catch((error) => {
console.log( error );
});
'Fundamental > Web' 카테고리의 다른 글
WordPress.org에 AWS S3 + Cloudfront 적용하기 (0) | 2022.04.08 |
---|---|
WordPress.org - Hostinger DB 연동하기 (0) | 2022.02.28 |
WEB에서 사용되는 이미지 포맷들 (0) | 2021.12.28 |
JSON Web Token(JWT)을 소개합니다. (0) | 2021.11.25 |
RESTful API란? (0) | 2021.11.22 |