Title: Motiforms
Author: kierzniak
Published: <strong>2017년 11월 10일</strong>
Last modified: 2017년 11월 10일

---

플러그인 검색

이 플러그인은 **최근 3개의 주요 워드프레스 출시와 시험 되지 않았습니다**. 워드프레스의
좀 더 최근 버전으로 이용할 때 더 이상 관리되지 않고 지원되지 않고 호환성 문제가 
있을 수 있습니다.

![](https://s.w.org/plugins/geopattern-icon/motiforms.svg)

# Motiforms

 작성자: [kierzniak](https://profiles.wordpress.org/kierzniak/)

[다운로드](https://downloads.wordpress.org/plugin/motiforms.0.1.0.zip)

 * [세부사항](https://ko.wordpress.org/plugins/motiforms/#description)
 * [평가](https://ko.wordpress.org/plugins/motiforms/#reviews)
 *  [설치](https://ko.wordpress.org/plugins/motiforms/#installation)
 * [개발](https://ko.wordpress.org/plugins/motiforms/#developers)

 [지원](https://wordpress.org/support/plugin/motiforms/)

## 설명

#### WARNING

If you are not developer this plugin is not for you. Motiforms do not provide any
WordPress admin interface to creating forms.

#### Features

 * Handle form logic
 * Field sanitization
 * Field validation
 * Built in html rendering helpers
 * Flexibility
 * Based on advanced Symfony framework

#### Get started

To create simple contact form paste code bellow to your functions.php file. And 
paste `[contact]` shortcode to your contact page.

    ```
    use Symfony\Component\Form\Extension\Core\Type\TextType;
    use Symfony\Component\Form\Extension\Core\Type\EmailType;
    use Symfony\Component\Form\Extension\Core\Type\TextareaType;
    use Symfony\Component\Form\Extension\Core\Type\SubmitType;

    class ContactForm {

        /**
         * Form instance
         *
         * FormType
         */
        private $form;

        /**
         * ContacForm constructor
         *
         * @return ContacForm
         */
        public function __construct() {

            $this->define_hooks();
        }

        /**
         * Create and process contact form
         *
         * This method is executed by wp action hook.
         * It will be executed only on page which has contact
         * shortcode.
         *
         * @return void
         */
        public function controller() {

            global $post;

            // Check if current view is page and page has content shortcode
            if ( is_page() && has_shortcode( $post->post_content, 'contact' ) ) {

                $factory = mf_get_factory();

                // Create form
                $this->form = $factory->create();

                // Add fields to form
                $this->form->add( 'full_name', TextType::class );
                $this->form->add( 'email', EmailType::class );
                $this->form->add( 'message', TextareaType::class );
                $this->form->add( 'submit', SubmitType::class );

                // Get request object
                $request = mf_get_request();

                // Handle request
                $this->form->handleRequest( $request );

                // Check if form is valid
                if ( $this->form->isSubmitted() && $this->form->isValid() ) {

                    // Get data from the form
                    $data = $this->form->getData();

                    // Define filters
                    $filters = array(
                        'full_name' => FILTER_SANITIZE_STRING,
                        'email' => FILTER_SANITIZE_STRING | FILTER_SANITIZE_EMAIL,
                        'message' => FILTER_SANITIZE_STRING,
                    );

                    // Fields sanitization
                    $sanitized_data = filter_var_array( $data, $filters );

                    // Perform action with form data e.g. send an e-mail

                    // Redirect user with success parameter to prevent double submitting form
                    wp_safe_redirect( $this->get_redirect_url() );
                }
            }
        }

        /**
         * Render contact form.
         *
         * This method is executed by contact shortcode.
         *
         * @return string
         */
        public function render() {

            $success =  filter_input( INPUT_GET, 'success', FILTER_SANITIZE_NUMBER_INT );

            if( '1' === $success ) {
                return sprintf('<h2>%s</h2>', __('Thank you for submitting the form. We will contact you shortly.') );
            }

            $form_view = $this->form->createView();

            $engine = mf_get_engine();

            return $engine['form']->form( $form_view, array('attr' => array('novalidate' => 'novalidate') ) );

        }

        /**
         * Method executed by constructor to define hooks and
         * create and render contact form.
         *
         * @return void
         */
        private function define_hooks() {

            add_action( 'wp', array( $this, 'controller' ) );

            add_shortcode( 'contact', array( $this, 'render' ) );
        }

        /**
         * Build url for form redirect
         *
         * @return string
         */
        private function get_redirect_url() {

            $url = get_permalink();

            $query = parse_url($url, PHP_URL_QUERY);

            // Returns a string if the URL has parameters or NULL if not
            if ($query) {
                $url .= '&success=1';
            } else {
                $url .= '?success=1';
            }

            return $url;
        }
    }

    // Initialize contact form
    new ContactForm();
    ```

## 설치

 1. Visit Plugins > Add New
 2. Search for “Motiforms”
 3. Install and activate “Motiforms”
 4. Go to [get started](https://github.com/motivast/motiforms#user-content-get-started)
    section to see a simple example.

or

 1. Download plugin from wordpres.org repository or [release section](https://github.com/motivast/motiforms/releases/latest).
 2. Upload the motiforms directory to your /wp-content/plugins/ directory
 3. Activate the plugin through the”‘Plugins” menu in WordPress
 4. Go to [get started](https://github.com/motivast/motiforms#user-content-get-started)
    section to see a simple example.

## FAQ

  Installation Instructions

 1. Visit Plugins > Add New
 2. Search for “Motiforms”
 3. Install and activate “Motiforms”
 4. Go to [get started](https://github.com/motivast/motiforms#user-content-get-started)
    section to see a simple example.

or

 1. Download plugin from wordpres.org repository or [release section](https://github.com/motivast/motiforms/releases/latest).
 2. Upload the motiforms directory to your /wp-content/plugins/ directory
 3. Activate the plugin through the”‘Plugins” menu in WordPress
 4. Go to [get started](https://github.com/motivast/motiforms#user-content-get-started)
    section to see a simple example.

  Where I can find documentation?

Documentation for Motiforms can be found on github [wiki pages](https://github.com/motivast/motiforms/wiki).

## 후기

이 플러그인에 대한 평가가 없습니다.

## 기여자 & 개발자

“Motiforms”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

 *   [ kierzniak ](https://profiles.wordpress.org/kierzniak/)

[자국어로 “Motiforms”(을)를 번역하세요.](https://translate.wordpress.org/projects/wp-plugins/motiforms)

### 개발에 관심이 있으십니까?

[코드 탐색하기](https://plugins.trac.wordpress.org/browser/motiforms/)는, [SVN 저장소](https://plugins.svn.wordpress.org/motiforms/)
를 확인하시거나, [개발 기록](https://plugins.trac.wordpress.org/log/motiforms/)을
[RSS](https://plugins.trac.wordpress.org/log/motiforms/?limit=100&mode=stop_on_copy&format=rss)
로 구독하세요.

## 변경이력

#### 0.1.0

 * Motiforms

## 기초

 *  버전 **0.1.0**
 *  최근 업데이트: **9년 전**
 *  활성화된 설치 **10+**
 *  워드프레스 버전 ** 3.8 또는 그 이상 **
 *  다음까지 시험됨: **4.8.28**
 *  언어
 * [English (US)](https://wordpress.org/plugins/motiforms/)
 * 태그:
 * [contact form](https://ko.wordpress.org/plugins/tags/contact-form/)[custom form](https://ko.wordpress.org/plugins/tags/custom-form/)
   [form](https://ko.wordpress.org/plugins/tags/form/)[forms](https://ko.wordpress.org/plugins/tags/forms/)
   [symfony](https://ko.wordpress.org/plugins/tags/symfony/)
 *  [고급 보기](https://ko.wordpress.org/plugins/motiforms/advanced/)

## 평점

아직 제출된 리뷰가 없습니다.

[Your review](https://wordpress.org/support/plugin/motiforms/reviews/#new-post)

[모든  리뷰 보기](https://wordpress.org/support/plugin/motiforms/reviews/)

## 기여자

 *   [ kierzniak ](https://profiles.wordpress.org/kierzniak/)

## 지원

할 말 있으신가요? 도움이 필요하신가요?

 [지원 포럼 보기](https://wordpress.org/support/plugin/motiforms/)