SSamTure.net

워드프레스

워드프레스 옵션 페이지 개발하기(Creating Options Pages)

지난 시간에 워드프레스 대시보드 메뉴 개발하는 방법에 대해서 알아보았다. 이번 시간에는 메뉴를 클릭하면 나오는 옵션 페이지 개발에 대해서 알아보도록 하겠다.

low dose clomid

where to get cash advance on credit card

예제 소스는 지난 워드프레스 대시보드 메뉴 개발하는 방법에서 사용한 소스를 이어서 사용하도록 하겠다.

옵션페이지란 어떠한 메뉴를 클릭 했을 때 나오는 해당 메뉴에서 제공하고자 하는 기능들을 관리 할 수 있는 페이지라고 볼 수 있다.

image

더욱 쉽게 설명하면 메뉴를 클릭하면 나오는 우측 영역이라고 생각하면 된다.

지난 시간에 만든 소스를 보면,

image

menu1_page 함수가 바로 옵션페이지를 구성하는 함수가 되겠다.

페이지를 구성하는 기본 구조는 다음과 같다.

image

<div class=’wrap”>을 시작으로 제목 옆에 표시할 아이콘과 제목을 표시해 준다. 이 때 제일 많이 실수 하는 것 중 하나는 <html>태그로 시작하는 문서를 넣는 것이다.

<html>로 시작하는 하나의 문서를 삽입해도 상관은 없지만, 원하는 화면을 구성하는데 문제가 발생할 수 가 있을 것이다. 쉽게 말해 하나의 문서 안에 일부분을 삽입하는 것이기 때문에 필요 없는 것이다.

이제 기본 구조를 활용하여 원하는 옵션페이지를 만들어주면 되겠다.  옵션페이지를 꾸미는 일은 HTML과 CSS 경우의 따라서는 JavaScript를 사용하는 경우가 있을 것이며, 본 포스트에서는 옵션페이지를 만드는 방법이 주제이기 때문에 해당 내용은 생략 하도록 하겠다.

이제 옵션 값을 저장하는 방법에 대해 살펴보도록 하자. 우선 옵션값을 저장하기 위하여 옵션값을 저장하는 페이지를 구성하도록 하자.

image

위와 같이 소스코드를 삽입 한 후 옵션페이지를 확인하면 간단한 옵션 값을 저장할 수 있는 페이지가 보일 것이다.

image

여기서 살펴볼 사항은 <form method=”post” action=”options.php”> 이 부분이다.

폼에서 전송할 주소가 options.php 로 지정해주는 것이다. 하지만 이렇게 해서 옵션 값이 저장되지는 않는다.

옵션값을 저장하기 위하여 옵션을 등록해주어야 한다.

다음의 소스를 확인하도록 하자.

image

image

첫번째로 추가된 내용은 add_action 플러그인 API를 이용하여 ‘admin_init’ 액션 후크에서 register_mh_settings 함수를 실행하라는 의미이다.

register_mh_settings 함수의 역할은 위의  admin_init 후크에서 실행되는 함수로 admin_init 후크에서 설정을 등록하게 된다.

이때 설정 등록을 위해 사용하는 함수는 register_setting() 함수입니다. register_setting 이용방법과 매개변수는 다음과 같다.

<?php register_setting( $option_group, $option_name, $sanitize_callback);?>

$option_group (string)(필수) 옵션 그룹 이름
$option_name (string)(필수) 저장할 옵션의 이름
$sanitize_callback (string)(선택) 콜백 함수

resgier_setting 함수는 설정 API 의 일부로 관리자 페이지에서 옵션페이지의 설정 등록을 위해 사용하는 함수이다.

다음으로 register_setting 을 이용하여 옵션값을 저장하기 위해 해당 옵션 그룹에 대한 nonce, 액션 등을 출력하기 위하여 settings_fileds 함수를 이용한다. settings_fileds 함수의 이용방법과 매개변수는 다음과 같다.

<?php settings_fileds($option_group);?>

$option_group (string)(필수) 옵션 그룹 이름으로 regsiter_setting 에서 등록한 옵션 이름과 동일 해야 한다.

이렇게 2개의 함수를 추가해주면 별도의 저장 및 수정을 위한 알고리즘을 추가하지 않아도 자동으로 옵션 값을 저장하거나 수정할 수 있다.

마지막으로 get_option() 함수를 이용하여 저장된 값을 출력해줄 수 있도록 추가해주면 된다.

이처럼 복잡해 보이는 옵션 페이지도 워드프레스에서 간단하게 만들 수 있다. 하지만 경우에 따라 복잡하기도 하지만 위에서 설명한 기본적인 구조를 이해한다면 손쉽게 다양한 설정을 위한 옵션 페이지를 개발 할 수 있을 것이다.

더욱 자세한 것은 추후 다양한 예제를 통해 살펴보도록 하겠다.

8 Comments

  1. suyun
    2013/07/31 at 04:01 · Reply

    유용한 강좌 감사합니다.
    테마를 설치해서 수정하고 있는데 설정변경사항을 저장하려고 하면

    에러: 옵션 페이지를 찾지 못했습니다.

    라는 메세지가 떠서 진행이 되질 않습니다.. 유료테마인데도 옵션페이지를 따로 만들어야 하는건가요? ㅜㅜ 아님 제가 뭔가 설치를 잘못한건지,,, 도와주세요,,

  2. Serena
    2016/05/16 at 04:23 · Reply

    About 70 per cent of women will ovulate in response to a fairly low dose of clomifene citrate

  3. ขายยาสอด
    2023/09/11 at 23:30 · Reply

    ขายยาสอด ยาทำแท้ง ยาขับเลือด ยาเหน็บ ยาขับประจำเดือน
    ปรึกษาได้24ชม.

    https://appletotec.com/

  4. ヴィトン コピー 通販
    日本一流ヴィトン コピー、ヴィトン コピー 激安(N品)専門店、
    全国送料無料、ヴィトン コピー 通販,ヴィトン コピー商品,
    2024年 財布春季大量入荷
    安価販売大人気バッグ、時計、財布
    激安!高品質の問屋! o(∩_∩)o.
    新型は発売して、当社はブランドの専門販売会社です。
    ルイヴィトン 財布 人気

    高品質スーパーコピーブランド商品専門店
    ヴィトン コピー 販売,当サイト販売したヴィトン コピーなので正規品と同等品質提供した格安で完璧な品質のをご承諾します、
    ■迅速、確実にお客様の手元にお届け致します。
    ■低価格を提供すると共に、品質を絶対保証しております。
    ■商品の交換と返品ができます。
    当サイトは最高級ヴィトン コピー激安通信販売店です
    皆様の絶好評判を偽物ブランドコピー 時計人気専門 ショップですロレックスブランドコピーなど世界中有名なブランドコピー 時計を格安で通販しております。N級品ブランドコピー 時計は 業界で最高な品質に挑戦します。!その達成は多数のうちの1つです。しかし、それは、完成を求めるロレックス、および彼らのエクスプローラーをそれらの成功の主要部分と考える人々の両方をガイドする冒険心を象徴します https://www.tentenok.com/product-3360.html

Leave a Reply

Your email address will not be published. Required fields are marked *