function check_vc($content) { if (class_exists('Vc_Base')) { global $post; $course_status = vibe_get_option('start_course'); $force_include_pages = apply_filters('wplms_vc_force_include_pages', array($course_status)); $force_include_post_types = apply_filters('wplms_vc_force_include_custom_post_types', array('course', 'unit', 'quiz', 'question')); if (in_array($post->ID, $force_include_pages) || in_array($post->post_type, $force_include_post_types)) { if (strpos($content, 'vc_row')) { /* wp_register_style( 'js_composer_front', vc_asset_url( 'css/js_composer.min.css' ), array(), WPB_VC_VERSION ); wp_register_script( 'wpb_composer_front_js', vc_asset_url( 'js/dist/js_composer_front.min.js' ), array( 'jquery' ), WPB_VC_VERSION, true ); wp_enqueue_style( 'js_composer_front'); wp_enqueue_script( 'wpb_composer_front_js'); */ echo "<link rel='stylesheet' id='swiftype-css' href='" . vc_asset_url('css/js_composer.min.css') . "' type='text/css' media='all'/>"; echo "<script type='text/javascript' src='" . vc_asset_url('js/dist/js_composer_front.min.js') . "'></script>"; global $vc_manager; foreach (WPBMap::getShortCodes() as $sc_base => $el) { $vc_manager->shortcodes[$sc_base] = new WPBakeryShortCodeFishBones($el); } } } } return $content; }
public function createShortCodes() { remove_all_shortcodes(); foreach (WPBMap::getShortCodes() as $sc_base => $el) { $name = 'WPBakeryShortCode_' . $el['base']; if (class_exists($name) && is_subclass_of($name, 'WPBakeryShortCode')) { $this->shortcodes[$sc_base] = new $name($el); } } $this->createColumnShortCode(); }
/** * Add shared Mm parameters/atts to all VC components. * * @since 1.0.0 */ function mm_vc_custom_component_atts() { // Get all available VC components. $components = WPBMap::getShortCodes(); // Create custom group title. $custom_group = __('Mm Custom Settings', 'mm-components'); // Text color. $atts[] = array('type' => 'dropdown', 'heading' => __('Text Color Scheme', 'mm-components'), 'param_name' => 'mm_class_text_color', 'group' => $custom_group, 'value' => array(__('Default', 'mm-components ') => '', __('Dark', 'mm-components ') => 'dark', __('Light', 'mm-components ') => 'light', __('Medium', 'mm-components ') => 'medium')); // Text alignment. $atts[] = array('type' => 'dropdown', 'heading' => __('Text Alignment', 'mm-components'), 'param_name' => 'mm_class_text_align', 'group' => $custom_group, 'value' => array(__('Default', 'mm-components ') => '', __('Left', 'mm-components ') => 'left', __('Center', 'mm-components ') => 'center', __('Right', 'mm-components ') => 'right')); // Custom Class. $atts[] = array('type' => 'textfield', 'heading' => __('Custom Class', 'mm-components'), 'param_name' => 'mm_custom_class', 'group' => $custom_group); // Add each param to each VC component. foreach ($atts as $att) { foreach ($components as $component) { vc_add_param($component['base'], $att); } } }
/** * Access groups * @deprecated 4.8 */ public function groups_access_rules_callback() { // _deprecated_function( '\Vc_Settings::groups_access_rules_callback', '4.8 (will be removed in 4.11)' ); global $wp_roles; $groups = is_object($wp_roles) ? $wp_roles->roles : array(); $settings = ($settings = get_option(self::$field_prefix . 'groups_access_rules')) ? $settings : array(); $show_types = array('all' => __('Show Visual Composer & default editor', 'js_composer'), 'only' => __('Show only Visual Composer', 'js_composer'), 'no' => __("Don't allow to use Visual Composer", 'js_composer')); $shortcodes = WPBMap::getShortCodes(); $size_line = ceil(count(array_keys($shortcodes)) / 3); ?> <div class="wpb_settings_accordion" id="wpb_js_settings_access_groups" xmlns="http://www.w3.org/1999/html"> <?php if (is_array($groups)) { foreach ($groups as $key => $params) { if (isset($params['capabilities']['edit_posts']) && true === $params['capabilities']['edit_posts'] || isset($params['capabilities']['edit_pages']) && true === $params['capabilities']['edit_pages']) { $allowed_setting = isset($settings[$key]['show']) ? $settings[$key]['show'] : 'all'; $shortcode_settings = isset($settings[$key]['shortcodes']) ? $settings[$key]['shortcodes'] : array(); ?> <h3 id="wpb-settings-group-<?php echo $key; ?> -header"> <a href="#wpb-settings-group-<?php echo $key; ?> "> <?php echo $params['name']; ?> </a> </h3> <div id="wpb-settings-group-<?php echo $key; ?> " class="accordion-body"> <div class="visibility settings-block"> <label for="wpb_composer_access_<?php echo $key; ?> "><b><?php _e('Visual Composer access', 'js_composer'); ?> </b></label> <select id="wpb_composer_access_<?php echo $key; ?> " name="<?php echo self::$field_prefix . 'groups_access_rules[' . $key . '][show]'; ?> "> <?php foreach ($show_types as $i_key => $name) { ?> <option value="<?php echo $i_key; ?> "<?php echo $allowed_setting == $i_key ? ' selected="true"' : ''; ?> ><?php echo $name; ?> </option> <?php } ?> </select> </div> <div class="shortcodes settings-block"> <div class="title"><b><?php _e('Enabled shortcodes', 'js_composer'); ?> </b></div> <?php $z = 1; foreach ($shortcodes as $sc_base => $el) { ?> <?php if (!in_array($el['base'], array('vc_column', 'vc_row', 'vc_row_inner', 'vc_column_inner'))) { ?> <?php if (1 === $z) { ?> <div class="pull-left"><?php } ?> <label> <input type="checkbox" <?php if (isset($shortcode_settings[$sc_base]) && 1 === (int) $shortcode_settings[$sc_base]) { ?> checked="true" <?php } ?> name="<?php echo self::$field_prefix . 'groups_access_rules[' . $key . '][shortcodes][' . $sc_base . ']'; ?> " value="1"/> <?php echo $el['name']; if (isset($el['deprecated']) && false !== $el['deprecated']) { echo ' <i>' . sprintf(__('(deprecated since v%s)', 'js_composer'), $el['deprecated']) . '</i>'; } ?> </label> <?php if ($z == $size_line) { ?> </div><?php $z = 0; } $z += 1; ?> <?php } ?> <?php } ?> <?php if (1 !== $z) { ?> </div><?php } ?> <div class="vc_clearfix"></div> <div class="select-all"> <a href="#" class="wpb-settings-select-all-shortcodes"><?php echo __('Select All', 'js_composer'); ?> </a> | <a href="#" class="wpb-settings-select-none-shortcodes"><?php echo __('Select none', 'js_composer'); ?> </a> </div> </div> </div> <?php } } } ?> </div> <p class="description"><?php _e('Define access rules for different user groups.', 'js_composer'); ?> </p> <?php }
public static function shortcodesRegexp() { $tagnames = array_keys( WPBMap::getShortCodes() ); $tagregexp = join( '|', array_map( 'preg_quote', $tagnames ) ); // WARNING from shortcodes.php! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag() // Also, see shortcode_unautop() and shortcode.js. return '\\[' // Opening bracket . '(\\[?)' // 1: Optional second opening bracket for escaping shortcodes: [[tag]] . "($tagregexp)" // 2: Shortcode name . '(?![\\w-])' // Not followed by word character or hyphen . '(' // 3: Unroll the loop: Inside the opening shortcode tag . '[^\\]\\/]*' // Not a closing bracket or forward slash . '(?:' . '\\/(?!\\])' // A forward slash not followed by a closing bracket . '[^\\]\\/]*' // Not a closing bracket or forward slash . ')*?' . ')' . '(?:' . '(\\/)' // 4: Self closing tag ... . '\\]' // ... and closing bracket . '|' . '\\]' // Closing bracket . '(?:' . '(' // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags . '[^\\[]*+' // Not an opening bracket . '(?:' . '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag . '[^\\[]*+' // Not an opening bracket . ')*+' . ')' . '\\[\\/\\2\\]' // Closing shortcode tag . ')?' . ')' . '(\\]?)'; // 6: Optional second closing brocket for escaping shortcodes: [[tag]] }
//read the custom single post settings - this setting overids all of them $td_page = get_post_meta($post->ID, 'td_page', true); if (!empty($td_page['td_sidebar_position'])) { $loop_sidebar_position = $td_page['td_sidebar_position']; } // sidebar position used to align the breadcrumb on sidebar left + sidebar first on mobile issue $td_sidebar_position = ''; if ($loop_sidebar_position == 'sidebar_left') { $td_sidebar_position = 'td-sidebar-left'; } /** * detect the page builder */ $td_use_page_builder = false; if (method_exists('WPBMap', 'getShortCodes')) { $td_page_builder_short_codes = array_keys(WPBMap::getShortCodes()); if (td_util::strpos_array($post->post_content, $td_page_builder_short_codes) === true) { $td_use_page_builder = true; } } //no page builder detected, we load a default page template with sidebar / no sidebar ?> <div class="td-main-content-wrap"> <div class="td-container <?php echo $td_sidebar_position; ?> "> <div class="td-crumb-container"> <?php echo td_page_generator::get_page_breadcrumbs(get_the_title()); ?>
$vc_vendor_settings_presets = array(); } // [/shortcodes presets data] ?> <input type="hidden" name="vc_post_custom_css" id="vc_post-custom-css" value="<?php echo esc_attr($editor->post_custom_css); ?> " autocomplete="off"/> <script type="text/javascript"> var vc_user_mapper = <?php echo json_encode(WPBMap::getUserShortCodes()); ?> , vc_mapper = <?php echo json_encode(WPBMap::getShortCodes()); ?> , vc_vendor_settings_presets = <?php echo json_encode($vc_vendor_settings_presets); ?> , vc_settings_presets = <?php echo json_encode($vc_settings_presets); ?> , vc_roles = [], // @todo fix_roles BC for roles vcAdminNonce = '<?php echo vc_generate_nonce('vc-admin-nonce'); ?> ';
public function output($post = null) { $output = $this->getNavBar()->getElementsModal(); $output .= $this->getNavBar()->output(); $output .= ' <div class="metabox-composer-content"> <div id="wpb-convert-message"> <div class="messagebox_text"><p>' . __('Your page layout was created with previous Visual Composer version. Before converting your layout to the new version, make sure to <a target="_blank" href="http://kb.wpbakery.com/index.php?title=Update_Visual_Composer_from_3.4_to_3.5">read this page</a>.', LANGUAGE_ZONE) . '</p> <div class="wpb-convert-buttons"> <a class="wpb_convert button" id="wpb-convert"><i class="icon"></i>' . __('Convert to new version', LANGUAGE_ZONE) . '</a> </div> </div> </div> <div class="vc_loading_block" style="display: none;"> <img src="' . get_site_url() . '/wp-admin/images/wpspin_light.gif" /> ' . __("Loading, please wait...", LANGUAGE_ZONE) . ' </div> <div id="visual_composer_content" class="wpb_main_sortable main_wrapper"></div> <div id="wpb-empty-blocks"> <h2>' . __("No content yet! You should add some...", LANGUAGE_ZONE) . '</h2> <table class="helper-block"> <tr> <td><span>1</span></td> <td><p> ' . __("This is a visual preview of your page. Currently, you don't have any content elements. Click or drag the button <a href='#' class='add-element-to-layout'><i class='icon'></i> Add element</a> on the top to add content elements on your page. Alternatively add <a href='#' class='add-text-block-to-content' parent-container='#visual_composer_content'><i class='icon'></i> Text block</a> with single click.", LANGUAGE_ZONE) . '</p></td> </tr> </table> <table class="helper-block"> <tr> <td><span>2</span></td><td><p class="one-line"> ' . __("Click the pencil icon on the content elements to change their properties.", LANGUAGE_ZONE) . '</p></td> </tr> <tr> <td colspan="2"> <div class="edit-picture"></div> </td> </tr> </table> </div> </div> <div id="container-helper-block" style="display: none;">' . $this->getContainerHelper() . '</div>'; ?> <script type="text/javascript"> var vc_user_mapper = <?php echo json_encode(WPBMap::getUserShortCodes()); ?> , vc_mapper = <?php echo json_encode(WPBMap::getShortCodes()); ?> ; </script> <?php $wpb_vc_status = get_post_meta($post->ID, '_wpb_vc_js_status', true); $wpb_post_custom_css = get_post_meta($post->ID, '_wpb_post_custom_css', true); if ($wpb_vc_status == "" || !isset($wpb_vc_status)) { $wpb_vc_status = 'false'; } $output .= '<input type="hidden" id="wpb_custom_post_css_field" name="wpb_vc_post_custom_css" value="' . htmlspecialchars($wpb_post_custom_css) . '" />'; $output .= '<input type="hidden" id="wpb_vc_js_status" name="wpb_vc_js_status" value="' . $wpb_vc_status . '" />'; $output .= '<input type="hidden" id="wpb_vc_loading" name="wpb_vc_loading" value="' . __("Loading, please wait...", LANGUAGE_ZONE) . '" />'; $output .= '<input type="hidden" id="wpb_vc_loading_row" name="wpb_vc_loading_row" value="' . __("Crunching...", LANGUAGE_ZONE) . '" />'; $output .= '<input type="hidden" id="wpb_vc_js_interface_version" name="wpb_vc_js_interface_version" value="' . vc_get_initerface_version() . '" />'; echo $output; require_once WPBakeryVisualComposer::config('COMPOSER') . 'templates/media_editor.php'; require_once WPBakeryVisualComposer::config('COMPOSER') . 'lib/params/loop/templates.html'; require_once WPBakeryVisualComposer::config('COMPOSER') . 'lib/params/options/templates.html'; }
/** * Add Visual Composer plugin support * * @link texthttp://vc.wpbakery.com/ * * @todo Support for Frontend Editor (VC4+) * * @since 1.0 * @version 1.2.3 * * @access public */ public function visual_composer_support() { //VC 4+ disabling Frontend Editor if (function_exists('vc_disable_frontend')) { vc_disable_frontend(); } //VC additional shortcodes admin interface $vc_shortcodes_admin_tweaks = apply_filters('wmhook_shortcode_' . 'vc_shortcodes_admin_tweaks_file', $this->page_builder_dir . 'visual-composer/visual-composer.php'); require_once $vc_shortcodes_admin_tweaks; //VC setup screen modifications add_filter('vc_settings_tabs', array($this, 'visual_composer_setup')); delete_option('wpb_js_use_custom'); //Disable VC Guide Tour if (function_exists('vc_editor_post_types')) { foreach (vc_editor_post_types() as $post_type) { add_filter('vc_ui-pointers-' . $post_type, '__return_empty_array', 999); } } //VC extending shortcode parameters add_shortcode_param('wm_radio', array($this, 'visual_composer_custom_field_wm_radio')); //Remove default VC elements (only if current theme supports this) if (function_exists('vc_remove_element') && (wma_supports_subfeature('remove_vc_shortcodes') || wma_supports_subfeature('remove-vc-shortcodes')) && class_exists('WPBMap')) { $vc_shortcodes_all = array_keys(WPBMap::getShortCodes()); $vc_shortcodes_keep = array('vc_row', 'vc_row_inner', 'vc_column', 'vc_column_inner', 'vc_raw_html', 'vc_raw_js', 'contact-form-7', 'gravityform', 'layerslider_vc', 'rev_slider_vc'); // Do not remove custom mapped shortcodes via WP admin if (class_exists('Vc_Automap_Model') && is_callable('Vc_Automap_Model::findAll')) { $vc_shortcodes_custom = Vc_Automap_Model::findAll(); foreach ($vc_shortcodes_custom as $shortcode) { $vc_shortcodes_keep[] = $shortcode->tag; } } $vc_shortcodes_keep = apply_filters('wmhook_shortcode_' . 'vc_keep', $vc_shortcodes_keep); $vc_shortcodes_remove = apply_filters('wmhook_shortcode_' . 'vc_remove', array_diff($vc_shortcodes_all, $vc_shortcodes_keep)); //Array check required due to filter applied above if (is_array($vc_shortcodes_remove) && !empty($vc_shortcodes_remove)) { foreach ($vc_shortcodes_remove as $shortcode) { vc_remove_element($shortcode); } } } //Add custom VC elements if (function_exists('vc_map') && !empty(self::$codes['vc_plugin'])) { ksort(self::$codes['vc_plugin']); foreach (self::$codes['vc_plugin'] as $shortcode) { //simple validation (as of http://kb.wpbakery.com/index.php?title=Vc_map, the below 2 parameters are required) if (!isset($shortcode['name']) || !isset($shortcode['base'])) { continue; } //sort shortcode parameters array if (isset($shortcode['params'])) { ksort($shortcode['params']); } // Fix required for Visual Composer 4.5.2+ $shortcode['params'] = array_values($shortcode['params']); vc_map($shortcode); } } }
/** * Access groups * */ public function groups_access_rules_callback() { global $wp_roles; $groups = is_object($wp_roles) ? $wp_roles->roles : array(); // get_editable_roles(); $settings = ($settings = get_option(self::$field_prefix . 'groups_access_rules')) ? $settings : array(); $show_types = array('all' => __('Show Visual Composer & default editor', LANGUAGE_ZONE), 'only' => __('Show only Visual Composer', LANGUAGE_ZONE), 'no' => __("Don't allow to use Visual Composer", LANGUAGE_ZONE)); $shortcodes = WPBMap::getShortCodes(); $size_line = ceil(count(array_keys($shortcodes)) / 3); ?> <div class="wpb_settings_accordion" id="wpb_js_settings_access_groups" xmlns="http://www.w3.org/1999/html"> <?php if (is_array($groups)) { foreach ($groups as $key => $params) { if (isset($params['capabilities']['edit_posts']) && $params['capabilities']['edit_posts'] === true) { $allowed_setting = isset($settings[$key]['show']) ? $settings[$key]['show'] : 'all'; $shortcode_settings = isset($settings[$key]['shortcodes']) ? $settings[$key]['shortcodes'] : array(); ?> <h3 id="wpb-settings-group-<?php echo $key; ?> -header"> <a href="#wpb-settings-group-<?php echo $key; ?> "> <?php echo $params['name']; ?> </a> </h3> <div id="wpb-settings-group-<?php echo $key; ?> " class="accordion-body"> <div class="visibility settings-block"> <label for="wpb_composer_access_<?php echo $key; ?> "><b><?php _e('Visual Composer access', LANGUAGE_ZONE); ?> </b></label> <select id="wpb_composer_access_<?php echo $key; ?> " name="<?php echo self::$field_prefix . 'groups_access_rules[' . $key . '][show]'; ?> "> <?php foreach ($show_types as $i_key => $name) { ?> <option value="<?php echo $i_key; ?> "<?php echo $allowed_setting == $i_key ? ' selected="true"' : ''; ?> ><?php echo $name; ?> </option> <?php } ?> </select> </div> <div class="shortcodes settings-block"> <div class="title"><b><?php echo _e('Enabled shortcodes', LANGUAGE_ZONE); ?> </b></div> <?php $z = 1; foreach ($shortcodes as $sc_base => $el) { ?> <?php if (!isset($el['content_element']) || $el['content_element'] == true) { ?> <?php if ($z == 1) { ?> <div class="pull-left"><?php } ?> <label> <input type="checkbox" <?php if (isset($shortcode_settings[$sc_base]) && (int) $shortcode_settings[$sc_base] == 1) { ?> checked="true" <?php } ?> name="<?php echo self::$field_prefix . 'groups_access_rules[' . $key . '][shortcodes][' . $sc_base . ']'; ?> " value="1"/> <?php _e($el["name"], LANGUAGE_ZONE); ?> </label> <?php if ($z == $size_line) { ?> </div><?php $z = 0; } $z += 1; ?> <?php } ?> <?php } ?> <?php if ($z != 1) { ?> </div><?php } ?> <div class="clearfix"></div> <div class="select-all"> <a href="#" class="wpb-settings-select-all-shortcodes"><?php echo __('Select All', LANGUAGE_ZONE); ?> </a> | <a href="#" class="wpb-settings-select-none-shortcodes"><?php echo __('Select none', LANGUAGE_ZONE); ?> </a> </div> </div> </div> <?php } } } ?> </div> <?php }
vc_mode = '<?php echo vc_mode(); ?> '; </script> <script type="text/html" id="vc_settings-image-block"> <li class="added"> <div class="inner" style="width: 80px; height: 80px; overflow: hidden;text-align: center;"> <img rel="<%= id %>" src="<%= url %>"/> </div> <a href="#" class="icon-remove"></a> </li> </script> <?php foreach (WPBMap::getShortCodes() as $sc_base => $el) { ?> <script type="text/html" id="vc_shortcode-template-<?php echo $sc_base; ?> "> <?php echo visual_composer()->getShortCode($sc_base)->template(); ?> </script> <?php } ?> <script type="text/html" id="vc_row-inner-element-template"> <?php echo visual_composer()->getShortCode('vc_row_inner')->template();
/** * @return string */ public static function shortcodesRegexp() { $tagnames = array_keys(WPBMap::getShortCodes()); $tagregexp = join('|', array_map('preg_quote', $tagnames)); // WARNING from shortcodes.php! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag() // Also, see shortcode_unautop() and shortcode.js. return '\\[' . '(\\[?)' . "({$tagregexp})" . '(?![\\w-])' . '(' . '[^\\]\\/]*' . '(?:' . '\\/(?!\\])' . '[^\\]\\/]*' . ')*?' . ')' . '(?:' . '(\\/)' . '\\]' . '|' . '\\]' . '(?:' . '(' . '[^\\[]*+' . '(?:' . '\\[(?!\\/\\2\\])' . '[^\\[]*+' . ')*+' . ')' . '\\[\\/\\2\\]' . ')?' . ')' . '(\\]?)'; // 6: Optional second closing brocket for escaping shortcodes: [[tag]] }
/** * Rewrite code or name * @since 4.2 */ public function createShortCodes() { remove_all_shortcodes(); foreach (WPBMap::getShortCodes() as $sc_base => $el) { $this->shortcodes[$sc_base] = new WPBakeryShortCodeFishBones($el); } }
public function getContentLayouts() { $output = ''; foreach (WPBMap::getShortCodes() as $sc_base => $el) { $element_button = new WPBakeryVisualComposerElementButton(); $output .= $element_button->setBase($sc_base)->setup($el)->output(); } return $output; }
public function output($post = null) { $output = $this->getNavBar()->getElementsModal(); $output .= $this->getNavBar()->output(); $output .= ' <div class="metabox-composer-content"> <div class="vc_loading_block" style="display: none;"> <img src="' . get_site_url() . '/wp-admin/images/wpspin_light.gif" /> ' . __("Loading, please wait...", "js_composer") . ' </div> <div id="visual_composer_content" class="wpb_main_sortable main_wrapper"></div> <div id="wpb-empty-blocks"> <h2>' . __("No content yet! You should add some...", "js_composer") . '</h2> <table class="helper-block"> <tr> <td><span>1</span></td> <td><p> ' . __("This is a visual preview of your page. Currently, you don't have any content elements. Click or drag the button <a href='#' class='add-element-to-layout'><i class='icon'></i> Add element</a> on the top to add content elements on your page. Alternatively add <a href='#' class='add-text-block-to-content' parent-container='#visual_composer_content'><i class='icon'></i> Text block</a> with single click.", "js_composer") . '</p></td> </tr> </table> <table class="helper-block"> <tr> <td><span>2</span></td><td><p class="one-line"> ' . __("Click the pencil icon on the content elements to change their properties.", "js_composer") . '</p></td> </tr> <tr> <td colspan="2"> <div class="edit-picture"></div> </td> </tr> </table> </div> </div> <div id="container-helper-block" style="display: none;">' . $this->getContainerHelper() . '</div>'; ?> <script type="text/javascript"> var vc_user_mapper = <?php echo json_encode(WPBMap::getUserShortCodes()); ?> , vc_mapper = <?php echo json_encode(WPBMap::getShortCodes()); ?> , vc_frontend_enabled = <?php echo vc_enabled_frontend() ? 'true' : 'false'; ?> ; </script> <?php $wpb_vc_status = apply_filters('wpb_vc_js_status_filter', vc_get_param('wpb_vc_js_status', get_post_meta($post->ID, '_wpb_vc_js_status', true))); $wpb_post_custom_css = get_post_meta($post->ID, '_wpb_post_custom_css', true); if ($wpb_vc_status == "" || !isset($wpb_vc_status)) { $wpb_vc_status = 'false'; } $output .= '<input type="hidden" id="wpb_custom_post_css_field" name="wpb_vc_post_custom_css" value="' . htmlspecialchars($wpb_post_custom_css) . '" />'; $output .= '<input type="hidden" id="wpb_vc_js_status" name="wpb_vc_js_status" value="' . $wpb_vc_status . '" />'; $output .= '<input type="hidden" id="wpb_vc_loading" name="wpb_vc_loading" value="' . __("Loading, please wait...", "js_composer") . '" />'; $output .= '<input type="hidden" id="wpb_vc_loading_row" name="wpb_vc_loading_row" value="' . __("Crunching...", "js_composer") . '" />'; $output .= '<input type="hidden" id="wpb_vc_js_interface_version" name="wpb_vc_js_interface_version" value="' . vc_get_initerface_version() . '" />'; echo $output; require_once vc_path_dir('TEMPLATES_DIR', 'backend_editor/templates.php'); do_action('vc_backend_editor_render'); }
</div> </div> </div> <div class="panel-footer"> <button type="button" class="btn btn-default vc-close" data-dismiss="panel"><?php _e( 'Close', 'js_composer' ) ?></button> </div> </div> <ol id="vc-breadcrumb" class="breadcrumb"> <li class="root">Visual Composer</li> </ol> <script type="text/javascript"> var vc_user_mapper = <?php echo json_encode(WPBMap::getUserShortCodes()) ?>, vc_mapper = <?php echo json_encode(WPBMap::getShortCodes()) ?>; </script> <div data-type="text/html" id="vc-template-post-content" style="display: none;"> <?php $this->getPageShortcodes() ?> <div id="vc-no-content-helper" class="vc-no-content-helper"> <span class="icon"></span> <h5><?php _e('Welcome to Blank Page', 'js_composer') ?></h5> <h3><?php _e('You Have No Content Yet! Add Some...', 'js_composer') ?></h3> <div class="vc-buttons"> <a id="vc-not-empty-add-element" class="vc-add-element-not-empty-button vc-add-element-action" title="<?php _e( 'Add element', 'js_composer' ) ?>"></a> <a id="vc-no-content-add-element" class="vc-add-element-button vc-add-element-action vc_btn vc_btn_pink vc_btn_md vc_btn_3d" href="#"