CKEDITOR.plugins.add("variables", { init: function(editor) { console.log("variables.init") editor.addCommand("insertVariable", { allowedContent: "span[contenteditable](*)" ,requiredContent: "span[contenteditable](*)" ,exec: function (editor) { console.log("insertVariable.exec"); editor.insertElement(CKEDITOR.dom.element.createFromHtml('[ variable ]')); } }) editor.ui.addButton("InsertVariableButton", { label: "Variable" ,title: "Insert variable" ,toolbar: "others" ,command: "insertVariable" }) } })