title: woocommerce custom shipping method not appearing in shipping zone
body: <p><strong>EDITED - Progress made on original post</strong></p>
  
  <p>I have created a simple custom shipping method plugin stub (see code below). </p>
  
  <p>The plugin is registered and <strong>now</strong> appears in the shipping method dropdown when I'm creating a shipping zone. However when selected the custom field doesn't appear for the shipping zone (see gif)</p>
  
  <pre class="lang-php prettyprint-override"><code>&lt;?php
  
  if ( ! defined( 'ABSPATH' ) ) {
      exit; // Exit if accessed directly
  }
  
  if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
  
      function launch_shipping_method() {
          if (!class_exists('Launch_Shipping_Method')) {
  
              class Launch_Shipping_Method extends WC_Shipping_Method {
  
                  public function __construct( $instance_id = 0 ) {
                      $this-&gt;id = 'launch_shipping';
                      $this-&gt;instance_id          = absint( $instance_id );
                      $this-&gt;method_title         = __('Launch Simple Shipping', 'launch_shipping');
                      $this-&gt;method_description   = __('Custom Simple Shipping Method', 'launch_shipping');
                      $this-&gt;supports             = array(
                          'shipping-zones',
                          'instance-settings',
                          'instance-settings-modal',
                      );
  
                      $this-&gt;init();
                  }
  
                  /**
                   * Initialize Launch Simple Shipping.
                   */
                  public function init() {
                      // Load the settings.
                      $this-&gt;init_form_fields();
                      $this-&gt;init_settings();
  
                      // Define user set variables.
                      $this-&gt;title    = isset($this-&gt;settings['title']) ? $this-&gt;settings['title'] : __('Launch Shipping', 'launch_shipping');
  
                      add_action('woocommerce_update_options_shipping_' . $this-&gt;id, array($this, 'process_admin_options'));
                  }
  
                  /**
                   * Init form fields.
                   */
                  public function init_form_fields() {
                      $this-&gt;form_fields = array(
                          'title'      =&gt; array(
                              'title'         =&gt; __( 'Title', 'launch_shipping' ),
                              'type'          =&gt; 'text',
                              'description'   =&gt; __( 'This controls the title which the user sees during checkout.', 'launch_shipping' ),
                              'default'       =&gt; $this-&gt;method_title,
                              'desc_tip'      =&gt; true,
                          )
                      );
                  }
  
                  /**
                   * Get setting form fields for instances of this shipping method within zones.
                   *
                   * @return array
                   */
                  public function get_instance_form_fields() {
                      return parent::get_instance_form_fields();
                  }
  
                  /**
                   * Always return shipping method is available
                   *
                   * @param array $package Shipping package.
                   * @return bool
                   */
                  public function is_available( $package ) {
                      $is_available = true;
                      return apply_filters( 'woocommerce_shipping_' . $this-&gt;id . '_is_available', $is_available, $package, $this );
                  }
  
                  /**
                   * Free shipping rate applied for this method.
                   *
                   * @uses WC_Shipping_Method::add_rate()
                   *
                   * @param array $package Shipping package.
                   */
                  public function calculate_shipping( $package = array() ) {
                      $this-&gt;add_rate(
                          array(
                              'label'   =&gt; $this-&gt;title,
                              'cost'    =&gt; 0,
                              'taxes'   =&gt; false,
                              'package' =&gt; $package,
                          )
                      );
                  }
              }
          }
      }
      add_action('woocommerce_shipping_init', 'Launch_Shipping_Method');
  
      function add_launch_shipping_method($methods) {
      $methods[] = 'launch_shipping_method';
      return $methods;
      }
      add_filter('woocommerce_shipping_methods', 'add_launch_shipping_method');
  
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/AbHg4.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/AbHg4.gif" alt="enter image description here"></a></p>