تست فرم ساخته شده در گراویتی را سریع تر کنید : هیچ گزینه ای الزامی نباشد !

7 خرداد 1395 | آموزش وردپرس, افزونه های وردپرس | 0 comments

قبلا با افزونه گراویتی آشنایی مختصری پیدا کردیم . در این پست می خواهیم یاد بگیریم چطور فرمی را که ساختیم سریع تر آزمایش کنیم . شاید برای شما هم پیش آمده باشد که فرمی را ساختین و گزینه های الزامی آن را تعیین نمودید . در موقع تست فرم مجبور بودید همه گزینه ها را پر کنید تا بتوانید روند ارسال و یا ثبت فرم را آزمایش کنید . این کار وقتی سخت تر می شود که به طور مثال شما گزینه سختی مثل کد ملی نیز در فرم داشته باشید که بایستی دقیق و صحیح آن را وارد نمایید .

برای حل این مشکل می توانید مراحل زیر را طی نمایید .

۱- ابتدا کد زیر را در فایل functions.php قالب خود اضافه نمایید .

<?php
/**
 * Gravity Wiz // Gravity Forms Unrequire Required Fields for Testing
 *
 * When bugs pop up on your forms, it can be really annoying to have to fill out all the required fields for every test
 * submission. This snippet saves you that hassle by unrequiring all required fields so you don't have to fill them out.
 *
 * @version	  ۱٫۰
 * @author    David Smith <david@gravitywiz.com>
 * @license   GPL-2.0+
 * @link      https://gravitywiz.com/speed-up-gravity-forms-testing-unrequire-required-fields/
 * @copyright 2013 Gravity Wiz
 *
 * @wordpress-plugin
 * Plugin Name:       Gravity Forms Unrequire
 * Plugin URI:        https://gravitywiz.com/speed-up-gravity-forms-testing-unrequire-required-fields/
 * Description:       When bugs pop up on your forms, it can be really annoying to have to fill out all the required fields for every test submission. This snippet saves you that hassle by unrequiring all required fields so you don't have to fill them out.
 * Version:           1.0
 * Author:            Gravity Wiz
 * Author URI:        https://gravitywiz.com/
 * License:           GPL-2.0+
 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
 * Text Domain:       gwu
 */
class GWUnrequire {
    
    var $_args = null;
    
    public function __construct( $args = array() ) {
        
        $this->_args = wp_parse_args( $args, array(
            'admins_only' => true,
            'require_query_param' => true
        ) );
        
        add_filter( 'gform_pre_validation', array( $this, 'unrequire_fields' ) );
        
    }
    
    function unrequire_fields( $form ) {
        if( $this->_args['admins_only'] && ! current_user_can( 'activate_plugins' ) )
            return $form;
        if( $this->_args['require_query_param'] && ! isset( $_GET['gwunrequire'] ) )
            return $form;
        
        foreach( $form['fields'] as &$field ) {
            $field['isRequired'] = false;
        }
        
        return $form;
    }
        
}
# Basic Usage
#   requires that the user be logged in as an administrator and that a 'gwunrequire' parameter be added to the query string
#   http://youurl.com/your-form-page/?gwunrequire=1
new GWUnrequire();

۲- پارامتر gwunrequire را به انتهای آدرس فرم خود اضافه کنید . مانند زیر

http://www.paaz.ir/my-form-page/?gwunrequire=1
  • توجه داشته باشید که این کد فقط برای مدیران سایت شما قابل استفاده خواهد بود و کاربران به این طریق نمی توانند گزینه های الزامی را دور بزنند !
  • اگر می خواهید همیشه برای مدیران سایت گزینه های الزامی غیرفعال باشد در خط ۳۴ مقدار را false قرار دهید .
  •     'require_query_param' => false

     

0
افکار شما را دوست داریم، لطفا نظر دهید.x