php语句创建按钮,为WordPress编辑器添加或删除自定义按钮(QTags)

WordPress是一款由PHP语言开发的博客系统,因其易用性、易扩展性、 功能强大、美观和对搜索引擎友好等而闻名于世,其市场占有率超过30%。尽管WordPress系统具有以上的优点,但是其编辑器一直以来都饱受诟病。特别是可视化编辑器,其排版不符合中文习惯,使用起来浪费时间。Wordpress 5.0以后使用了区块编辑器,大量博主试用后吐槽新的编辑器还不如经典编辑器好用,纷纷寻找切换回经典编辑器的方法。好在官方出了一个经典编辑器的插件,才解决了众多博主的烦恼。

笔者从建站之初就开始使用WordPress系统,至今已有八个年头。一直以来,笔者都禁用了WordPress的可视化编辑器,而使用其代码编辑器。在代码编辑器中,可以使用html代码来准确地控制文章版式。但编写html代码也需要耗费一定的时间,如果能将常用的html代码定义成编辑器上的按钮, 那么在写作时就方便多了。同时,也可以将不常用的按钮删除,以保持编辑器界面的清爽。

1. 修改思路

笔者早年曾经写过两篇为WordPress编辑器添加自定按钮的文章,分别是《为WordPress的HTML编辑界面添加按钮》和《为WordPress 3.3.2的编辑器添加自定义按钮》这两篇文章均是通过修改WordPress的系统文件quicktags.js来实现为WordPress编辑器添加自定按钮的功能。随着WordPress版本的更迭,这种方法已经失效。即使未失效,修改系统文件也存在一定的风险,因此不再推荐。

笔者通过上网搜索发现,通过修改模板函数可以实现为WordPress编辑器添加/删除自定按钮。添加按钮时采用QTags.addButton( ”, ”, ”, ”)函数来实现。该函数共有四个参数,分别表示自定义按钮的ID、按钮的显示名称、输入内容以及关闭内容。

同时,通过修改edButtons[index]=null语句中index的数值,可以删除对应的按钮。不同按钮对应的index值如下。

edButtons[10] = new qt.TagButton( 'strong', 'b', '', '', '', '');

edButtons[20] = new qt.TagButton( 'em', 'i', '', '', '', '', '');

edButtons[30] = new qt.LinkButton(); // special case

edButtons[40] = new qt.TagButton( 'block', 'b-quote', '\n\n

', '
\n\n', '', '', '');

edButtons[50] = new qt.TagButton( 'del', 'del', '', '', '', '', '');

edButtons[60] = new qt.TagButton( 'ins', 'ins', '', '', '', '', '');

edButtons[70] = new qt.ImgButton(); // special case

edButtons[80] = new qt.TagButton( 'ul', 'ul', '

  • \n', '
\n\n', '', '', '');

edButtons[90] = new qt.TagButton( 'ol', 'ol', '

  1. \n', '
\n\n', '', '', '');

edButtons[100] = new qt.TagButton( 'li', 'li', '\t

', '\n', '', '', '');

edButtons[110] = new qt.TagButton( 'code', 'code', '', '', '', '', '');

edButtons[120] = new qt.TagButton( 'more', 'more', '\n\n', '', '', '', '');

edButtons[140] = new qt.CloseButton();

2. 修改模板函数文件(function.php)

找到当前使用主题所在的文件夹,用Notepad++或者Sublime text打开其中的function.php文件,在该文件的最后添加以下代码。

//添加HTML编辑器自定义快捷标签按钮

add_action('after_wp_tiny_mce', 'add_button_mce');

function add_button_mce($mce_settings) {

?>

edButtons[110]=null;

QTags.addButton( 'p', 'p', '

', '

');

QTags.addButton( 'h2', 'h2', '

', '
');

QTags.addButton( 'h3', 'h3', '

', '
');

QTags.addButton( 'h4', 'h4', '

', '
');

QTags.addButton( 'h5', 'h5', '

', '
');

QTags.addButton( 'inline-highlight', 'inline-highlight', '', '');

}

上述代码中笔者共添加了5个自定义按钮,均是笔者写作时常用的html标签,分别是段落标签p,标题标签h3、h4、h5以及span标签。为了节省写作时间,笔者还将常用的标签样式集成到了自定义标签中。比如为段落标签p集成了一个首行缩进两字符的样式,以符合中文的写作习惯。为inline-highlight按钮集成了一个id名称为inline-code-highlight的样式。

3. 修改主题样式文件

如果在上述添加的标签中没有集成css样式的id名称/class名称,或者如上述p标签一样将css样式直接集成在了按钮中,可以忽略本节。如果集成了css样式的id名称/class名称,需要在主题的样式文件中定义该样式,否则标签将无法正常使用。

比如笔者自定义按钮中的inline-highlight标签,就需要在模板样式文件中添加如下代码才能正常使用。

#inline-code-highlight {

border: solid 1px #E7EAED;

background-color: #F3F4F4;

border-radius: 5px;

padding: 0px 5px;

font-size: 0.875rem;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值