title: vc_map: Unable to use shortcodes inside textarea_html block
body: <p>I've worked out a custom Visual Composer element using vc_map() that has a simple title, WISYWIG content, and background image. My issue is that any shortcode I use inside of the content block is not detected, and is either spit out as the raw shortcode, or, if I call via do_shortcode, is commented out when saved.</p>
  
  <pre><code>// Element Class
  class vcInfoBox extends WPBakeryShortCode {
  
  // Element Init
  function __construct() {
    //  add_action( 'init', array( $this, 'vc_infobox_mapping' ) );
    $this-&gt;vc_infobox_mapping();
  }
  
  // Element Mapping
  public function vc_infobox_mapping() {
  
      // Stop all if VC is not enabled
      if ( !defined( 'WPB_VC_VERSION' ) ) {
          return;
      }
  
      // Map the block with vc_map()
      vc_map(
          array(
              'name' =&gt; __('VC Infobox', 'text-domain'),
              'base' =&gt; 'vc_infobox',
              'description' =&gt; __('A simple callout box with backing image', 'text-domain'),
              'category' =&gt; __('Custom Elements', 'text-domain'),
              'icon' =&gt; get_template_directory_uri().'/assets/img/vc-icon.png',
              'params' =&gt; array(
  
                  array(
                      'type' =&gt; 'textfield',
                      'holder' =&gt; 'h2',
                      'class' =&gt; 'title-class',
                      'heading' =&gt; __( 'Title', 'text-domain' ),
                      'param_name' =&gt; 'title',
                      // 'value' =&gt; __( 'Default value', 'text-domain' ),
                      'description' =&gt; __( 'Box Title', 'text-domain' ),
                      'admin_label' =&gt; false,
                      'weight' =&gt; 0,
                      'group' =&gt; 'Custom Group',
                  ),
  
                  array(
                      'type' =&gt; 'textarea_html',
                      'holder' =&gt; 'div',
                      // 'class' =&gt; 'text-class',
                      'heading' =&gt; __( 'Content', 'text-domain' ),
                      'param_name' =&gt; 'content',
                      'value' =&gt; __( '', 'text-domain' ),
                      'description' =&gt; __( 'Main content inside block', 'text-domain' ),
                      // 'admin_label' =&gt; false,
                      // 'weight' =&gt; 0,
                      'group' =&gt; 'Custom Group',
                  ),
  
                  array(
                      'type' =&gt; 'attach_image',
                      'holder' =&gt; 'img',
                      //'class' =&gt; 'text-class',
                      'heading' =&gt; __( 'Background Image', 'text-domain' ),
                      'param_name' =&gt; 'bgimg',
                      // 'value' =&gt; __( 'Default value', 'text-domain' ),
                      'description' =&gt; __( 'Image to be displayed behind callout block', 'text-domain' ),
                      'admin_label' =&gt; false,
                      'weight' =&gt; 0,
                      'group' =&gt; 'Custom Group',
                  ),
  
                  array(
                      'type' =&gt; 'dropdown',
                      'class' =&gt; '',
                      'heading' =&gt; __( 'Alignment', 'text-domain' ),
                      'param_name' =&gt; 'align',
                      'value' =&gt; array(
                        'Left' =&gt; "align-left",
                        'Right' =&gt; "align-right",
                      ),
                      'description' =&gt; __( 'Left or right alignment for callout block?', 'text-domain' ),
                      'admin_label' =&gt; false,
                      'weight' =&gt; 0,
                      'group' =&gt; 'Custom Group',
                  ),
  
              ),
          )
      );
  
  }
  
  
  // Element HTML
  public function vc_infobox_html( $atts, $content ) {
  
      // Params extraction
      extract(
          shortcode_atts(
              array(
                  'title' =&gt; '',
                  'bgimg' =&gt; 'bgimg',
                  'align' =&gt; '',
              ),
              $atts
          )
      );
  
      $img_url = wp_get_attachment_image_src( $bgimg, "large");
      // die ( print_r($align, true) );
  
      // Fill $html var with data
      $html = '
      &lt;div class="info-callout '. $align .'" style="background-image:url('. $img_url[0] .');"&gt;
          &lt;div class="info-callout--content-wrap"&gt;
            &lt;h2 class="info-callout--title"&gt;'. $title .'&lt;/h2&gt;
            &lt;div class="info-callout--content"&gt;'. $content .'&lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;';
  
      return $html;
  
  }
  
  } // End Element Class
  </code></pre>
  
  <p>And in functions.php:</p>
  
  <pre><code>require_once( get_stylesheet_directory().'/vc-elements/custom-callout-block.php' );
  
  add_action( 'vc_before_init', 'vc_before_init_actions' );
  
  function vc_before_init_actions() {
  
      $InfoBox = new vcInfoBox();
      add_shortcode( 'vc_infobox', array( $InfoBox, 'vc_infobox_html' ) );
  
  }
  </code></pre>
  
  <p>I've compared my array with the default "Text Block" element in VC, they seem to match up... Anybody know what I'm missing?</p>