wordpress:start
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
wordpress:start [2014/10/09 21:24] – 바깥 편집 127.0.0.1 | wordpress:start [2020/03/22 02:53] (현재) – 구텐베르크 리소스 추가 changwoo | ||
---|---|---|---|
줄 1: | 줄 1: | ||
====== 워드프레스 개발 관련 문서 ====== | ====== 워드프레스 개발 관련 문서 ====== | ||
- | ===== 플러그인 만들기 ===== | + | * [[.: |
- | [[.: | + | * [[.: |
+ | * [[.: | ||
+ | * [[.: | ||
+ | * [[.:php_cs | PhpCS 사용 스터디 | ||
- | ===== 커스텀 테이블 만들기 | + | ===== 많은 플러그인 관련 리소스 ===== |
- | //세나 블루투스 코리아 시리얼 CSV 임포트 플러그인으로부터// | + | 물론 워드프레스 코덱스를 뒤져보면 많은 자료들이 우수수 나오지만, |
- | 워드프레스에서 사용하는 // | + | |
- | + | * https:// | |
- | + | * https://wordpress.org/ | |
- | ==== Reference ==== | + | * https:// |
- | | + | * https://wordpress.org/plugins/about/svn/ SVN 사용에 |
- | * [[http:// | + | |
- | + | ||
- | + | ||
- | ===== 테이블에 커스텀 칼럼 및 데이터 추가 ===== | + | |
- | + | ||
- | + | ||
- | ===== Settings API 간단 설명 ===== | + | |
- | + | ||
- | 크게 4분야로 나누어져 있다. | + | |
- | - 세팅 등록/ | + | |
- | - 필드, 섹션 | + | |
- | - 폼 렌더링 | + | |
- | - 에러 | + | |
- | + | ||
- | 요약 정리한 그림. | + | |
- | {{ : | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | ==== 세팅 등록/ | + | |
- | wp_options 테이블에 값을 넣기 위한 작업과 관련 깊다. | + | |
- | + | ||
- | === register_settings === | + | |
- | [[http:// | + | |
- | + | ||
- | register_setting( $option_group, | + | |
- | + | ||
- | * option_group: | + | |
- | * option_name: | + | |
- | * sanitize_callback: | + | |
- | + | ||
- | unregister_setting( $option_group, | + | |
- | + | ||
- | MVC 패턴 관점에서 설명하자면 세팅의 < | + | |
- | + | ||
- | ==== 필드와 섹션 ==== | + | |
- | + | ||
- | add_settings_field( $id, $title, $callback, $page, $section, $args ); | + | |
- | + | ||
- | * id: 이 필드의 태그가 가질 id. 이 id는 실제로 html 태그의 id 속성으로도 | + | |
- | * title: 필드의 | + | |
- | * callback: 콜백 함수. 여기서 반드시 필드를 정의하는 html 태그가 출력되어야 한다. 여기서 반드시 지켜야 할 사항이 있다. | + | |
- | * 콜백 함수는 1개의 인자를 | + | |
- | * 첫번째 인자인 ' | + | |
- | * 태그의 name 속성은 모델에 해당하는 register_setting() 함수에서 입력한 option_name과 같은 값이어야 한다. | + | |
- | * 태그의 value는 일반적으로 get_option() 함수를 이용해 직접 데이터베이스로부터 값을 가져온다. | + | |
- | * page: 페이지 이름. 워드프레스의 기본 ' | + | |
- | * section: 필드는 섹션의 하위 개념으로 생각하면 된다. 그러므로 상위 개념인 섹션의 존재를 명시하기 위해 이 인자가 사용된다. add_settings_section() 함수의 id 값을 여기에 입력하면 된다. | + | |
- | * args: 콜백 함수에 전달될 인자. 배열이며 기본적으로 ' | + | |
- | + | ||
- | + | ||
- | add_settings_section( $id, $title, $callback, $page ); | + | |
- | + | ||
- | * id: 이 섹션의 태그가 가질 id. add_settings_field() 함수의 id 인자와 같은 역할을 한다. | + | |
- | * title: 필드의 이름. 직접 html 페이지로 출력된다. | + | |
- | * callback: 콜백 함수. add_settings_field() 함수의 콜백과 같은 역할을 한다. | + | |
- | * 콜백 함수는 1개의 인자를 받는다. 이 인자는 기본적으로 ' | + | |
- | * page: 페이지 이름. add_settings_field() 함수의 페이지와 같은 역할을 한다. | + | |
- | + | ||
- | MVC 패턴 관점에서 바라보면 이 두 함수는 < | + | |
- | ==== 폼 렌더링 ==== | + | |
- | 폼 렌더링을 하기 위해서 프로그래머는 우선 form 태그를 명시적으로 정의해야 한다. 아래는 그 예시이다. | + | |
- | <code php> | + | |
- | <form method=" | + | |
- | <?php settings_fields( ' | + | |
- | | + | |
- | do_settings_sections( ' | + | |
- | submit_button(); | + | |
- | ?> | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | settings_fields( $option_group ); | + | |
- | + | ||
- | 이 함수는 < | + | |
- | * option_group: | + | |
- | + | ||
- | + | ||
- | + | ||
- | do_settings_sections( $page ); | + | |
- | do_settings_fields( $page, $section ); | + | |
- | + | ||
- | 이 두 함수는 MVC 패턴에서 < | + | |
- | * page: add_settings_section(), | + | |
- | * section: 섹션의 id를 입력하면 된다. | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== 에러 ==== | + | |
- | + | ||
- | add_settings_error( $setting, $code, $message, $type ) | + | |
- | get_settings_errors( $setting, $sanitize ) | + | |
- | settings_errors( $setting, $sanitize, $hide_on_update ) | + | |
+ | 플러그인 제출을 위해서는, | ||
+ | - 코드 깔끔하게, | ||
+ | - 리드미 파일을 제대로 작성할 것. | ||
+ | ===== 구텐베르크 관련 개발 리소스들 ===== | ||
+ | * [[https:// | ||
+ | | ||
+ | * [[https:// | ||
wordpress/start.1412889846.txt.gz · 마지막으로 수정됨: 2015/01/21 06:01 (바깥 편집)