wordpress提供有more标签,其作用就是在index里只显示文章的一部分,避免一页太长,点击链接后则可以看到全文。使用方法非常简单,在你想截断的地方加一个html注释

<!--more-->

就可以了。在mandigo主题里产生的超链接的文字为”Read the rest of this entry”,这是可以通过对主题代码的修改来个性化的。

个性化more标签我一直很想要的效果就是东方系列里载入过程的那段”少女祈祷中…”动画。不过我没有在网上找到其gif动画,自己尝试从东方花映冢中提取素材也以失败告终,所以就只好使用文字版的了。一个偶然的机会,我在这里意外发现了其flash动画版,而且颜色还正是我要的粉红色,真是踏破铁鞋无觅处 ,得来全不费工夫。当然虽然我无耻的rob了这个flash,但把它实际加到blog里还是要花点功夫的。这个flash动画不知为什么留了很奇怪的白边,而我不会flash,修改不能,向范叔求教,结果被鄙视了。然后考虑用工具把flash转成gif动画,再把多余的边剪掉,结果发现转换出来的gif变大了几十倍不说,效果也差很多,于是此路不通。最后想了一招,flash保留原样,在blog里通过css把多余的边“剪”掉。几经修改,最后html代码

<object
    style="margin: -40px -81px 0 -192px" standby="少女祈祷中..."
    data="http://watashi.ws/blog/wp-content/uploads/2009/12/NowLoading.swf"
    type="application/x-shockwave-flash" width="375" height="82">
    <param value="http://watashi.ws/blog/wp-content/uploads/2009/12/NowLoading.swf" name="movie">
    <param value="false" name="menu"><param value="high" name="quality">
    <param value="transparent" name="wmode">
</object>

的效果



比较满意。

最后把这个效果加到blog里去,实际加的时候把html和css分离开来。首先修改主题的Stylesheet (style.css),在最后加上

.more_flash {
    margin: -40px -81px 0 -192px;
}

然后修改主题的Main Index Template (index.php),在里面找到定义more标签显示内容的那一行(最简单的定位办法就是用你当前more标签的显示文字去搜),在我这里是

if (function_exists('has_excerpt') && has_excerpt()) the_excerpt();
else the_content(__('Read the rest of this entry', 'mandigo') .' &raquo;');

把’Read the rest of this entry’换成

<object
    class="more_flash"
    standby="少女祈祷中..."
    data="http://watashi.ws/blog/wp-content/uploads/2009/12/NowLoading.swf"
    type="application/x-shockwave-flash"
    width="375"
    height="82">
    <param value="http://watashi.ws/blog/wp-content/uploads/2009/12/NowLoading.swf" name="movie">
    <param value="false" name="menu">
    <param value="high" name="quality">
    <param value="transparent" name="wmode">
</object>

最后到blog里刷新一下,more标签都换成了”少女祈祷中…”的flash动画。这个flash实在太赞了,同主题结合得相当和谐。

  • 感谢此flash的作者和うp主;
  • 如果你看到的flash显示效果还有多余留边的话,估计是css缓存的缘故,试一下Ctrl+F5强制刷新;
  • 现在还有个小问题,就是“剪”掉的那部分仍然有超链接;
  • 不知道有没有牛人能指导一下像我这样小白真正把flash多余留边裁剪掉的办法。
Leave a Reply