플러그인 설정
플러그인 설정Settings의 허용 항목 정의

Settings의 허용 항목 정의

Schema Settings 모듈을 사용하면 optionValue, optionValues, optionObjectValue 필드를 쿼리하여 사이트의 설정(wp_options 테이블에 저장된 값)을 가져올 수 있습니다.

이러한 필드는 각각 다른 시그니처를 가집니다:

  • optionValue: AnyBuiltInScalar
  • optionValues: [AnyBuiltInScalar]
  • optionObjectValue: JSONObject

예를 들어, 다음 쿼리는 사이트의 URL을 가져옵니다:

{
  homeURL: optionValue(name: "home")
}

보안상의 이유로, 쿼리할 수 있는 옵션은 명시적으로 설정해야 합니다.

Settings 응답

「optionValue」 필드를 실행할 때, 해당 옵션 이름에 대한 접근이 Settings에서 허용되지 않은 경우 쿼리는 오류를 반환합니다.

예를 들어, 다음 쿼리를 실행하면:

{
  optionValue(name: "nonExistentOption")
}

다음이 반환됩니다:

{
  "errors": [
    {
      "message": "There is no option with name 'nonExistentOption'",
      "extensions": {
        "type": "Root",
        "id": "root",
        "field": "optionValue(name:\"nonExistentOption\")"
      }
    }
  ],
  "data": {
    "option": null
  }
}

그 외의 경우, 응답은 지정된 이름의 설정 값이 됩니다.

허용 옵션 설정

쿼리할 수 있는 옵션 이름 목록을 설정해야 합니다.

각 항목은 다음 중 하나입니다:

  • / 또는 #으로 둘러싸인 경우 정규 표현식(regex),
  • 그 외의 경우 옵션 이름의 완전 일치

예를 들어, 다음 항목들은 모두 메타 키 "siteurl"에 일치합니다:

  • siteurl
  • /site.*/
  • #site([a-zA-Z]*)#

이 설정을 수행할 수 있는 곳은 2곳이며, 우선순위 순으로 나열하면:

  1. 커스텀: 해당 Schema Configuration에서
  2. 전체: Settings 페이지에서

엔드포인트에 적용된 Schema Configuration에서 "Use custom configuration" 옵션을 선택하고 원하는 항목을 입력합니다:

Schema Configuration의 항목 정의

그 외의 경우, Settings의 「Settings」 탭에서 정의된 항목이 사용됩니다:

Settings에서의 항목 정의
Settings에서의 항목 정의

동작에는 「Allow access」와 「Deny access」의 2가지 종류가 있습니다:

  • Allow access: 설정된 항목만 접근 가능하며, 그 외에는 접근할 수 없습니다
  • Deny access: 설정된 항목은 접근할 수 없으며, 그 외의 모든 항목은 접근 가능합니다
접근 동작 정의
접근 동작 정의

기본 옵션

플러그인을 설치하면 다음 옵션이 기본적으로 접근 가능한 항목으로 사전 정의됩니다:

  • "siteurl"
  • "home"
  • "blogname"
  • "blogdescription"
  • "WPLANG"
  • "posts_per_page"
  • "date_format"
  • "time_format"
  • "blog_charset"