一个叫做“锚”的按钮的故事

屏幕快照 2014-09-15 下午11.41.49 嗯哼,这就是那个叫做“锚”的按钮,今天讲的就是它的故事

从产生想法,到刚刚终于完成,我用了n个小时…… 3<n<6

想法:我要在这个站点的文章中加一个内页链接,可以在同一个页面上跳上跳下那种。这不是什么高科技的玩意儿,早就已经烂大街了的,百度百科什么的站点上随处可见。像这样:去页面底部->

问题:这是一个wordpress站,在wordpress的默认编辑器上我只找到了添加链接,但链接不支持自动的内页链接,怎么实现呢?

作为一只小白,搜索了很多帖子以后,很快搞明白了这个东西需要一个“锚”来实现,而它有很多名字,锚文本、锚链接、内页锚链接,各种。

于是问题变成了:如何在wordpress的默认编辑器中插入“锚”。

百度一搜,答案好多啊!!

于是决定试。

然后悲剧了。

其实也还好,没有灾难性的后果,只是无论把函数添加在文件的哪个位置,似乎都不执行啊阿啊啊……

但是作为一个喜欢折腾的处女座,既不会放弃也不会接受装插件这种简单粗暴的方法的。

后来发现了问题,然后被自己蠢Cry了……

这么长时间以来,我都没有注意到编辑器上有一个按钮,长这样:屏幕快照 2014-09-15 下午11.59.27,叫做“显示/隐藏工具栏”,功能是展开编辑器下面第2、3、4行工具菜单……太蠢了太蠢了太蠢了实在是……

好吧,现在可以修改工具栏了,但是问题并没有解决——无论是在模板里建立函数添加按钮,还是在class-wp-editor.php文件里直接修改按钮列表,这个该死的“锚”就是不出现。

这里顺便说一下,目前网上主流的修改方法都是在模板的functions.php文件中插入下面这样的代码实现的:

这个方法中,如果不进一步修改,上标、下标和锚点一样,都是失效的。而这段代码的适用范围,应该是3.8以前版本的wordpress。

不知道跟百度的排位逻辑有没有关系,不管我怎么调整关键词,这个已经失效的解决方案都排在最前列,被各类站长博客广泛转载。而且,不知道是不是百度的bug,在我搜索的时候百度的时间筛选是显然失效的。

后来,搜索了一下wordpress 3.9 版本编辑器增强的问题,才知道原来3.9版本之后的wordpress升级了编辑器到TinyMCE 4 版本,之前的很多修改都已经失效。但是始终,都没有搜到能用的解决办法。

这期间我用spotlight检索了wordpress的所有文件,期间甚至找到了相关代码,了解到在这个版本里,“锚”是需要编辑器插件来实现的。

直到换用bing,濒临放弃得检索了一下,才忽然在wordpress论坛中找到了解决方法。而这个解决方法是如此简单,它只有一句话:

Not all plugins for TinyMCE are installed in the base WP codebase.

简直醍醐灌顶!怪不得添加相关代码后编辑器加载不正常!怪不得插件文件夹里东西这么少!怪不得a开头得anchor都找不到!!!不是藏到了别的地方或者改了别的名字,是干!脆!就!没!有!!!(又被自己蠢Cry一次,不过比前一次好一点)

wordpress论坛中有效答案的截图
wordpress论坛中有效答案的截图

后来的过程就简单了,下载完整的TinyMCE包,把class-wp-editor.php 文件里刚才注释掉的修改都恢复出来,顺便按自己心意调整了按钮的排布,上传下载了的插件到服务器,上传修改的文件,刷新页面,DONE。

本来如此简单的过程,却变得如此折磨和复杂…… 不爽……

所以接下来吐槽百度,不多说,上图:

这是百度的搜索结果,这都是些什么废物点心
这是百度的搜索结果,这都是些什么废物点心
这是bing的搜索结果,真正有帮助的连接出现在第三条,这是个纯英文页面,而我的搜索关键词中只有两个英文词
这是bing的搜索结果,真正有帮助的连接出现在第三条,这是个纯英文页面,而我的搜索关键词中只有两个英文词

然后吐槽一下其他的博主们。wordpress升级到3.9版本已经好几个月了,时至今日,依然没人把这个方法更新出来,而唯一的正解来自与wordpress的英文论坛。我是应该理解为国内的站长们普遍因循守旧呢,还是因该理解为前辈们都太牛,随便看看就解决了问题,于是既不需要分享也不求助于别人呢,或者,是大家都关心着主题皮肤插件,根本没人关心编辑器这样“无关紧要”的部分了呢。

当然还有一个原因,因为Google被封,无数国内的wordpress站点都选择了避免升级,从而避免再修改一遍文件的麻烦。因为同样的原因,无论是wordpress论坛还是主站,访问速度都会非常慢,慢得大多数人都会失去耐心吧。

whatever,终于搞定这样一个奇怪的功能,还是很值得开心的咯。

晚安

OK,还可以这样:回去继续读->

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.