code

Wordpress REST API 사용자 지정 테이블을 사용하는 사용자 지정 끝점 생성

starcafe 2023. 10. 15. 17:31
반응형

Wordpress REST API 사용자 지정 테이블을 사용하는 사용자 지정 끝점 생성

동일한 데이터베이스에 연결되어 있지만 사용자 지정 테이블이 있는 사용자 지정 엔드포인트를 생성할 수 있습니까?만약 그렇다면, 어떻게?

예를 들어 다음과 같습니다.

wp_TempTable(사용자 정의 테이블)

사용자 지정 끝점을 사용하여 액세스하려면...여러 포럼과 사이트를 찾아봤지만 운이 없었습니다.

네, 가능합니다.Wordpress에서 권장하는 컨트롤러 패턴을 사용하지 않고 작업을 완료합니다. 여기서 작업은 수신 json을 사용자 정의 테이블의 행으로 변환합니다(여기서 호출됨).restaurants).

function handle_post( WP_REST_Request $request ) {
    global $wpdb;
    $item = $request->get_json_params();

    $fields = array();
    $values = array();
    foreach($item as $key => $val) {
        array_push($fields, preg_replace("/[^A-Za-z0-9]/", '', $key));
        array_push($values, $wpdb->prepare('%s', $val));
    }
    $fields = implode(", ", $fields);
    $values = implode(", ", $values);
    $query = "INSERT INTO `restaurants` ($fields) VALUES ($values)";
    $list = $wpdb->get_results($query);

    return $list;
}


add_action( 'rest_api_init', function () {
  register_rest_route( 'restos/v1', '/post', array(
    'methods' => 'POST',
    'callback' => 'handle_post',
    'permission_callback' => function () {
      return current_user_can( 'edit_others_posts' );
    }
  ) );
} );

언급URL : https://stackoverflow.com/questions/41732420/wordpress-rest-api-create-custom-endpoint-that-uses-custom-table

반응형