Пользовательский элемент Fusion Builder в WordPress - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь создать пользовательский элемент с Fusion Builder в WordPress.Я добавил ниже код в моем файле функций, который показывает элемент в списке элементов.

function fusion_element_image_with_text_overlay() {
    fusion_builder_map( 
        array(
            'name'            => esc_attr__( 'Image with Text Overlay', 'fusion-builder' ),
            'shortcode'       => 'fusion_image_with_text_overlay',
            'icon'            => 'fusiona-image',
            'preview'         =>  get_stylesheet_directory().'/avada-templates/js/previews/fusion-image-with-text-overlay.php',
            'preview_id'      => 'fusion-builder-block-module-image-with-text-overlay-preview-template',
            'allow_generator' => true,
            'params'          => array(
                array(
                    'type'        => 'textfield',
                    'heading'     => esc_attr__( 'Title', 'fusion-builder' ),
                    'description' => esc_attr__( 'Enter overlay text of image.', 'fusion-builder' ),
                    'param_name'  => 'element_image_overlay_text',
                    'value'       => esc_attr__( '', 'fusion-builder' ),
                ),
                array(
                    'type'        => 'range',
                    'heading'     => esc_attr__( 'Title Font Size', 'fusion-builder' ),
                    'description' => esc_attr__( 'Select the font size to be used ( In pixel ).', 'fusion-builder' ),
                    'param_name'  => 'element_image_overlay_text_size',
                    'value'       => '24',
                    'min'         => '24',
                    'max'         => '250',
                    'step'        => '1',
                ),
                array(
                    'type'        => 'colorpicker',
                    'heading'     => esc_attr__( 'Select Title Color.', 'fusion-builder' ),
                    'description' => esc_attr__( 'This field allows you to select the color with a hex value.', 'fusion-builder' ),
                    'param_name'  => 'element_image_overlay_text_color',
                    'value'       => '#FFFFFF',
                ), 
                array(
                    'type'        => 'upload_images',
                    'heading'     => esc_attr__( 'Background Image', 'fusion-builder' ),
                    'description' => esc_attr__( 'Upload or select images.', 'fusion-builder' ),
                    'param_name'  => 'element_background_image',
                    'value'       => '',
                ),
                array(
                    'type'        => 'select',
                    'heading'     => esc_attr__( 'Background Position', 'fusion-builder' ),
                    'description' => esc_attr__( 'Select background position', 'fusion-builder' ),
                    'param_name'  => 'element_background_image_position',
                    'value'       => array(
                        'left top'     => esc_attr__( 'Left Top', 'fusion-builder' ),
                        'left center'     => esc_attr__( 'Left Center', 'fusion-builder' ),
                        'left bottom'     => esc_attr__( 'Left Bottom', 'fusion-builder' ),
                        'right top'     => esc_attr__( 'Right Top', 'fusion-builder' ),
                        'right center'     => esc_attr__( 'Right Center', 'fusion-builder' ),
                        'right bottom'     => esc_attr__( 'Right Bottom', 'fusion-builder' ),
                        'center top'     => esc_attr__( 'Center Top', 'fusion-builder' ),
                        'center center'     => esc_attr__( 'Center Center', 'fusion-builder' ),
                        'center bottom'     => esc_attr__( 'Center Bottom', 'fusion-builder' ),
                    ),
                ),
                array(
                    'type'        => 'dimension',
                    'heading'     => esc_attr__( 'Custom Background Position', 'fusion-builder' ),
                    'description' => esc_attr__( 'Background position selection will be ignored if custom background position is avaialbel. E.g. 50%', 'fusion-builder' ),
                    'param_name'  => 'element_custom_background_image_position',
                    'class'       => 'hide', 
                    'value'       => array(
                        'position_top'    => '',
                        'position_left'  => '',
                    ),
                ),
            ),
        )   
    ); 
} 
add_action( fusion_builder_before_init','fusion_element_image_with_text_overlay' );

Я получаю ошибку в консоли разработчика, как показано ниже.

load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,jquery-color,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,underscore,moxiejs,plupload&ver=5.0.3:51 Uncaught TypeError: Cannot read property 'replace' of undefined
    at Function.m.template (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,jquery-color,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,underscore,moxiejs,plupload&ver=5.0.3:51)
    at n.template (fusion-builder.js?ver=1.8.1:1)
    at n.render (fusion-builder.js?ver=1.8.1:1)
    at n.generatePreview (fusion-builder.js?ver=1.8.1:1)
    at n.saveSettings (fusion-builder.js?ver=1.8.1:1)
    at HTMLDivElement.dispatch (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,jquery-color,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,underscore,moxiejs,plupload&ver=5.0.3:3)
    at HTMLDivElement.r.handle (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,jquery-color,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,underscore,moxiejs,plupload&ver=5.0.3:3)

Также я обнаружил, что когда янажмите кнопку Сохранить, это добавляет ниже шорткод, который не является правильным.Пожалуйста, помогите мне, где я не прав.[fusion_image_with_text_overlay element_image_overlay_text="[object Object]" element_image_overlay_text_size="[object Object]" element_image_overlay_text_color="[object Object]" element_background_image="[object Object]" element_background_image_position="[object Object]" element_custom_background_image_position="[object Object]" /]

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...