I want to allow code inside a textarea to write code with PHP, SQL or HTML...

What i want to do is create an element inside the Visual Composer where I can put some code to show it as i write it on my posts.

Here you can find the type values:


But no one of these works for me.

There is a proper way to do that?

  "type" => "textarea_html",
  "heading" => esc_html__("Text", "js_composer"),
  "param_name" => "text_code_snippet",
  "admin_label" => true,
  "description" => esc_html__("The text for your button." , "js_composer")


1 Answer 1


You can't write directly PHP or MySQL in a Visual Composer element. You can only write HTML and VC has a default element for that - "Raw HTML". If you would like to use PHP functionality, you can map it to a shortcode and then put the shortcode in a simple Text Block, or using 'vc_map', which you linked, you can create a new custom element and then in the 'base' parameter you can map it to a shortcode, you created.

vc_map( array(
'base' => 'svg_icon',
'name' => __( 'Svg Icon', 'ss' ),
'class' => '',
'icon' => 'icon-heart',
'params' => array(
        'type' => 'textfield',
        'class' => '',
        'heading' => __( 'Id', 'ss' ),
        'param_name' => 'id',
        'value' => 'fb',
) );

function sc_svg_icon($attr) {
$attr = shortcode_atts(array(
  'id' => '',

ob_start(); ?>
  <svg class="icon"><use xlink:href="#<?php echo $attr['id']; ?>" /></svg>
  <?php return ob_get_clean();

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.