终于受不了Bloglines了!
从头说起:WordPress写文章是可以插入一个more标签,用于截断文章做摘要。在Blog首页显示时,more标签之前的部分会被显示出来,后面加上个"(more...)"之类的字样。在文章的独立页面里,自然文章会完整的显示。在more标签的位置,WordPress会输出一个html锚,类似<a id="more-123"></a>这样子。more-123中的123是文章的id。这样做的目的是在"(more...)"字样上加一个链接,这样当读者读到这里时,如果还想继续读下去的话可以直接点这个链接进入文章的独立页面,并自动跳转到截断的位置,这样就很方便了。
好了,说完WordPress,再说Bloglines。Bloglines会对<a>标签进行处理,加一个class再加一个"Link outside of this blog"的title。处理也就处理吧,处理个带href的<a>标签也就算了,它还要处理带name属性的<a>标签。又不给处理好,处理出来的代码有错误,结果从more标签的位置一直到下一个<a>标签之前的部分全部显示成链接的颜色——蓝色。我在Bloglines订了自己的feed,看到自己的文章变成这个样子着实难受。
在WordPress的代码里找了一下,具体代码的位置在/wp-include/template-functions-post.php文件里的89行。把原来的
$output .= '<a id="more-'.$id.'"></a>' . $content[1];
修改为
{if ( !is_feed() ) $output .= '<a id="more-'.$id.'"></a>';
$output .= $content[1];}
这样就可以了,锚只在文章里输出,feed里不输出。在Bloglines里测试了一下,没(mo)问题。
本文共有 2 条评论