지식 DB

상용 서비스를 위한 진짜 워드프레스 정보

특정 필드를 읽기 전용으로 만들기

발행:

| 업데이트:

지식

WP스퀘어의 모든 정보는 국내 상용 서비스를 기준으로 작성됩니다.

방법 1. 코드 스니펫

여기서는 gf_readonly라는 클래스를 사용합니다. 임의로 다른 클래스를 사용해도 무방합니다. 본 문서의 코드는 Gravity Forms에서 제공하는 네이티브 코드입니다. 아래의 코드를 사용하고, 해당 필드에 ‘gf_readonly’라는 클래스를 넣으면 됩니다.

PHP 코드 스니펫

// '1'을 사용할 폼의 아이디로 변경합니다.
    add_filter( 'gform_pre_render_1', 'add_readonly_script' );
    function add_readonly_script( $form ) {
        ?>
        <script type="text/javascript">
            jQuery(document).on('gform_post_render', function(){
                /* gf_readonly 클래스인 경우에만 적용됩니다. */
                jQuery(".gf_readonly textarea").attr("readonly","readonly");
            });
        </script>
        <?php
        return $form;
    }
Code language: JavaScript (javascript)

다른 텍스트 입력 필드

날자 선택 필드 처럼 HTML 입력이 텍스트 타입인 다른 필드에 사용합니다.

// '1'을 사용할 폼의 아이디로 변경합니다.
    add_filter( 'gform_pre_render_1', 'add_readonly_script' );
    function add_readonly_script( $form ) {
        ?>
        <script type="text/javascript">
            jQuery(document).on('gform_post_render', function(){
                /* gf_readonly 클래스인 경우에만 적용됩니다. */
                jQuery(".gf_readonly input").attr("readonly","readonly");
            });
        </script>
        <?php
        return $form;
    }
Code language: JavaScript (javascript)

체크박스 필드

// '1'을 사용할 폼의 아이디로 변경합니다.
    // see https://docs.gravityforms.com/gform_pre_render/
    add_filter( 'gform_pre_render_1', 'add_readonly_script' );
    function add_readonly_script( $form ) {
        ?>
        <script type="text/javascript">
            jQuery(document).on('gform_post_render', function(){
                /* gf_readonly 클래스인 경우에만 적용됩니다. */
                jQuery(".gf_readonly input[type=radio]").attr("onclick","return false;");
            });
        </script>
        <?php
        return $form;
    }Code language: JavaScript (javascript)

라디오 버튼 필드

// '1'을 사용할 폼의 아이디로 변경합니다.
    // see https://docs.gravityforms.com/gform_pre_render/
    add_filter( 'gform_pre_render_1', 'add_readonly_script' );
    function add_readonly_script( $form ) {
        ?>
        <script type="text/javascript">
            jQuery(document).on('gform_post_render', function(){
                /* gf_readonly 클래스인 경우에만 적용됩니다. */
                jQuery(".gf_readonly input[type=radio]").attr("onclick","return false;");
            });
        </script>
        <?php
        return $form;
    }Code language: JavaScript (javascript)

방법 2. Gravity Forms Read Only

해당 기능을 제공하는 익스텐션입니다. Gravity Form의 네이티브 코드가 제공하지 않는 일부 써드 파티 필드(Populate Anything, Nested Forms 등)를 추가로 지원합니다.

태그

글쓴이

Photo of author

메아쿨파

팀과 함께 워드프레스 관련 자문과 개발을 하고 있습니다. 상용 서비스르를 필요로 하는 기업과 스타트업, 높은 수준의 워드프레스를 만들고 싶은 에이전시, WP스퀘어 필진으로 참여하고 싶으신 분은 문의하기로 남겨 주시기 바랍니다.