视觉作曲家前编辑不工作

时间:2015-12-02 15:07:54

标签: wordpress

您好我使用Word按视觉作曲家..问题是,对于某些页面(并非所有页面),前编辑器不工作,它只是不断加载,起初它不是使用所有页面..但是当我添加一个空白页面时,Front编辑器使用空白页面和其他一些页面,那么如何使可视化作曲家前编辑器与这些页面一起使用? 我正在使用word按7主题。 这是我的痛苦:

Example

3 个答案:

答案 0 :(得分:1)

这可能有很多原因,但根是js错误。 1.首先禁用页面" preloader"并尝试。 2.如果不工作,请尝试禁用可能存在js冲突的wordpress的其他插件。 3.最好的方法:在浏览器的开发人员工具中查看控制台日志中的js错误并修复它们。

答案 1 :(得分:1)

我有视觉问题。在我的情况下帮助我改变了经典模式并返回到后端编辑器。

答案 2 :(得分:1)

这个问题主要与composer-view.js有关,我遇到了同样的问题,经过以下链接后得到了解决 - visual-composer-templateget-is-not-a-functiVisual Composer is not working

您需要替换composer-view.js的旧代码,如下所示。 (ps: - 在替换此代码之前备份旧文件。) 您可以在以下位置找到此文件 -

  

可湿性粉剂内容/插件/ js_composer /资产/ JS /后端

旧代码

html2element: function ( html ) {
        var attributes = {},
            $template;
        if ( _.isString( html ) ) {
            this.template = _.template( html );
            $template = $( this.template( this.model.toJSON(), vc.templateOptions.default ).trim() );
        } else {
            this.template = html;
            $template = html;
        }
        _.each( $template.get( 0 ).attributes, function ( attr ) {
            attributes[ attr.name ] = attr.value;
        } );
        this.$el.attr( attributes ).html( $template.html() );
        this.setContent();
        this.renderContent();
    }

替换为新的 -

html2element:function (html) {
            var attributes = {},
                $template;
            if (_.isString(html)) {
                this.template = _.template(html);
            } else {
                try {
                    this.template = _.template(html());
                } catch (err) {
                    this.template = html;
                }
            }
            $template = $(this.template(this.model.toJSON()).trim());
            _.each($template.get(0).attributes, function (attr) {
                attributes[attr.name] = attr.value;
            });
            this.$el.attr(attributes).html($template.html());
            this.setContent();
            this.renderContent();
        }

然后还替换渲染函数

旧代码

render: function () {
        var $shortcode_template_el = $( '#vc_shortcode-template-' + this.model.get( 'shortcode' ) );
        if ( $shortcode_template_el.is( 'script' ) ) {
            this.html2element( _.template( $shortcode_template_el.html(),
                this.model.toJSON(),
                vc.templateOptions.default ) );
        } else {
            var params = this.model.get( 'params' );
            $.ajax( {
                type: 'POST',
                url: window.ajaxurl,
                data: {
                    action: 'wpb_get_element_backend_html',
                    data_element: this.model.get( 'shortcode' ),
                    data_width: _.isUndefined( params.width ) ? '1/1' : params.width,
                    _vcnonce: window.vcAdminNonce
                },
                dataType: 'html',
                context: this
            } ).done( function ( html ) {
                this.html2element( html );
            } );
        }
        this.model.view = this;
        this.$controls_buttons = this.$el.find( '.vc_controls > :first' );
        return this;
    }

替换为新代码,如下所示 -

 render: function () {
            var $shortcode_template_el = $( '#vc_shortcode-template-' + this.model.get( 'shortcode' ) );
            if ( $shortcode_template_el.is( 'script' ) ) {
                var newHtmlCode =  _.template( $shortcode_template_el.html(),
                                                this.model.toJSON(),
                                                vc.templateOptions.default );
                if(!_.isString(newHtmlCode)){
                    newHtmlCode = $shortcode_template_el.html();
                }
                this.html2element( newHtmlCode );
            } else {
                var params = this.model.get( 'params' );
                $.ajax( {
                    type: 'POST',
                    url: window.ajaxurl,
                    data: {
                        action: 'wpb_get_element_backend_html',
                        data_element: this.model.get( 'shortcode' ),
                        data_width: _.isUndefined( params.width ) ? '1/1' : params.width,
                        _vcnonce: window.vcAdminNonce
                    },
                    dataType: 'html',
                    context: this
                } ).done( function ( html ) {
                    this.html2element( html );
                } );
            }
            this.model.view = this;
            this.$controls_buttons = this.$el.find( '.vc_controls > :first' );
            return this;
        }