Я создал шорткод WordPress для отображения простого баннера с плавающей рамкой из двух столбцов. В шорткоде используется стандартный API WordPress Shortcode в сочетании с функцией fusion_builder_map () для добавления шорткода в внутренний редактор Avada Theme Fusion Builder.
В редакторе WordPress возникают проблемы с типом ввода tinyMCE. Когда содержимое вводится в редактор, оно обычно исчезает перед сохранением страницы, если я не переключу редактор в текстовый режим, а затем не нажму «Сохранить». Кроме того, поле tinyMCE, по-видимому, также неправильно принимает мультимедиа, просто обычный текст.
Это также происходит в других инструментах визуального редактора, таких как визуальный редактор WP Bakery, снова с использованием поля tinyMCE в пользовательском шорткод.
Кто-нибудь может пролить свет на это? Спасибо
<?php
function nu_hero_gradient($atts, $content = null) {
//1. create attributes
extract(shortcode_atts([
'title' =>'',
'leftcol' =>'',
'rightcol' =>''
], $atts));
//2. begin output buffer
ob_start(); ?>
<div class="nu-hero-gradient">
<h1 class="nu-title"><?php echo $title; ?></h1>
</div>
<div class="nu-hero-grey-box">
<div class="nu-hero-grey-box-left"><?php echo $leftcol; ?></div>
<div class="nu-hero-grey-box-right"><?php echo $rightcol; ?></div>
</div>
<?php return ob_get_clean();
//end output buffer
}
//end function
//4. add shortcode
add_shortcode('nu_hero_gradient', 'nu_hero_gradient');
//5. register shortcode with fusion builder
function register_nu_hero_gradient() {
fusion_builder_map(
array(
'name' => esc_attr__( 'Hero Gradient', 'fusion-builder' ),
'shortcode' => 'nu_hero_gradient',
'icon' => 'fusiona-newspaper',
'allow_generator' => true,
'params' => array(
array(
'type' => 'textfield',
'heading' => esc_attr__( 'Title', 'fusion-builder' ),
'description' => esc_attr__( 'Title', 'fusion-builder' ),
'param_name' => 'title',
'value' => '',
),
array(
'type' => 'tinymce',
'heading' => esc_attr__( 'Left Column', 'fusion-builder' ),
'description' => esc_attr__( 'Left Content', 'fusion-builder' ),
'param_name' => 'leftcol',
'value' => esc_attr__( 'Click edit button to change this text.', 'fusion-builder' ),
'placeholder' => true,
),
array(
'type' => 'tinymce',
'heading' => esc_attr__( 'Right Column', 'fusion-builder' ),
'description' => esc_attr__( 'Right Content', 'fusion-builder' ),
'param_name' => 'rightcol',
'value' => esc_attr__( 'Click edit button to change this text.', 'fusion-builder' ),
'placeholder' => true,
),
),
)
);
}
add_action( 'fusion_builder_before_init', 'register_nu_hero_gradient' );