Home > wordpress revised > wordpress后台为wp-syntax添加快捷按钮

wordpress后台为wp-syntax添加快捷按钮

April 5th, 2008

以前用coolcode,结果发现跟OpenID插件和AJAXed Wordpress插件有冲突。
现在改成了wp-wp-syntax插件。还没检查与AJAXed Wordpress冲不冲突,与OpenID已经不冲突了。
公布修改方法,并提供修改过的文件下载。
打开wp-includes/js/quicktags.js
找到

edButtons[edButtons.length] =
new edButton('ed_code'
,'code'
,'<code>'
,'</code>'
,'c'
);

在其下方添加(我们保留了code按钮)

//add wp-syntax buttons*/
edButtons[edButtons.length] =
new edButton('ed_pre'
,'syntax'
,'<pre>'
,'< /pre>'
,'p'
,-1
);
//add wp-syntax over

注意上面的/pre前的空格,本文是为了正常显示,才加的空格,代码里不加空格。
再找到

else if (button.id == 'ed_link') {
		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(edCanvas, ' + i + ');" value="' + button.display + '" />');
	}

在其下方加入

else if (button.id == 'ed_pre'){
    document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertPre(edCanvas, ' + i + ');" value="' + button.display + '"  />');
  }

然后再在最后加入点击提示输入语言代码段,根据输入网址代码修改而来。

//wp-syntax add
function edInsertPre(myField, i, defaultValue) {
	if (!defaultValue) {
		defaultValue = '';
	}
	if (!edCheckOpenTags(i)) {
		var lang = prompt('Please insert code lang', defaultValue);
		if (lang) {
			edButtons[i].tagStart = '<pre lang="' + lang + '">';
			edInsertTag(myField, i);
		} else {
		edButtons[i].tagStart = '<pre>';
		edInsertTag(myField, i);
		}
	  }
	else {
		edInsertTag(myField, i);
	}
}//wp-syntax add over*/

修改好的wordpress2.5.1的quicktags.js文件:
quicktags

wordpress 2.7版本的请见 为WordPress代码高亮插件WP-Syntax添加后台快捷按钮

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Live
  • Google Bookmarks
  • MySpace
  • email

wordpress revised , , , , , ,