有朋自远方来,不亦乐乎。
WPBakery Visual Composer 提示 $template.get is not a function 解决方法
发布于 2年前 ( 2016-11-20 ) 阅读: 1,329 次 评论: 4 条 百度已收录 隐藏边栏

是一个插件,比起WP自带的编辑器使用起来更加方便,功能更加强大,完全可视化操作。

在使用过程中,我使用的v4.4.3的版本,一直遇到了$template.get is not a function

一开始我还以为是jQuery版本号的问题,更换后还是一样的错误

后来跟踪代码找到了是html2element出现问题

在网上找到了解决方法

在 /wp-content/plugins/js_composer/assets/js/backend/composer-view.js

找到以下相关代码

html2element:function (html) {
            var attributes = {},
                $template;
            if (_.isString(html)) {
                this.template = _.template(html);
                $template = $(this.template(this.model.toJSON()).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 $template, attributes = {},
	            template = html;

	        $template = $(template(this.model.toJSON()).trim());
	        if($template.get(0))
	        {
	            _.each($template.get(0).attributes, function(attr) {
	            attributes[attr.name] = attr.value
	        })};

	        this.$el.attr(attributes).html($template.html()),
	        this.setContent(),
	        this.renderContent()
	    },

即可完成操作,增删改都没有问题。

目前评论:4   其中:访客  2   博主  2

发表评论

有人回复时邮件通知我

请稍候,正在加载新评论...
  1. 橘子书 ( 2016.11.20 18:20:09 ) 福建省漳州市 电信 | Windows 10 | Chrome 53.0.2785.104 #1

    :mrgreen: 看不懂!

    • 晓庄 ( 2016.12.10 19:19:02 ) 广东省深圳市 电信 | Windows 8.1 | Chrome 54.0.2840.99

      @橘子书 等你用到的时候就看得懂了 :razz:

  2. 摩天之星 ( 2016.12.08 11:27:07 ) 广东省深圳市 电信 | Windows 7 | Firefox 50.0 #2

    膜拜下

    • 晓庄 ( 2016.12.10 19:19:28 ) 广东省深圳市 电信 | Windows 8.1 | Chrome 54.0.2840.99