嗯哼,这就是那个叫做“锚”的按钮,今天讲的就是它的故事
从产生想法,到刚刚终于完成,我用了n个小时…… 3<n<6
想法:我要在这个站点的文章中加一个内页链接,可以在同一个页面上跳上跳下那种。这不是什么高科技的玩意儿,早就已经烂大街了的,百度百科什么的站点上随处可见。像这样:去页面底部->
问题:这是一个wordpress站,在wordpress的默认编辑器上我只找到了添加链接,但链接不支持自动的内页链接,怎么实现呢?
作为一只小白,搜索了很多帖子以后,很快搞明白了这个东西需要一个“锚”来实现,而它有很多名字,锚文本、锚链接、内页锚链接,各种。
于是问题变成了:如何在wordpress的默认编辑器中插入“锚”。
百度一搜,答案好多啊!!
于是决定试。
然后悲剧了。
其实也还好,没有灾难性的后果,只是无论把函数添加在文件的哪个位置,似乎都不执行啊阿啊啊……
但是作为一个喜欢折腾的处女座,既不会放弃也不会接受装插件这种简单粗暴的方法的。
后来发现了问题,然后被自己蠢Cry了……
这么长时间以来,我都没有注意到编辑器上有一个按钮,长这样:,叫做“显示/隐藏工具栏”,功能是展开编辑器下面第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一次,不过比前一次好一点)

后来的过程就简单了,下载完整的TinyMCE包,把class-wp-editor.php 文件里刚才注释掉的修改都恢复出来,顺便按自己心意调整了按钮的排布,上传下载了的插件到服务器,上传修改的文件,刷新页面,DONE。
本来如此简单的过程,却变得如此折磨和复杂…… 不爽……
所以接下来吐槽百度,不多说,上图:


然后吐槽一下其他的博主们。wordpress升级到3.9版本已经好几个月了,时至今日,依然没人把这个方法更新出来,而唯一的正解来自与wordpress的英文论坛。我是应该理解为国内的站长们普遍因循守旧呢,还是因该理解为前辈们都太牛,随便看看就解决了问题,于是既不需要分享也不求助于别人呢,或者,是大家都关心着主题皮肤插件,根本没人关心编辑器这样“无关紧要”的部分了呢。
当然还有一个原因,因为Google被封,无数国内的wordpress站点都选择了避免升级,从而避免再修改一遍文件的麻烦。因为同样的原因,无论是wordpress论坛还是主站,访问速度都会非常慢,慢得大多数人都会失去耐心吧。
whatever,终于搞定这样一个奇怪的功能,还是很值得开心的咯。
晚安
OK,还可以这样:回去继续读->