从 Blogger 转移到 WordPress 的技巧

本站已经由 GoogleBlogger 转移到 WordPress,这是转移到 WordPress 之后的第一篇文章。

用过 WordPress 之后才知道 WordPress 的好,WordPress 相对于 Blogger 的优点如下:

  1. 标签云、搜寻、继续阅读、最新文章、最新留言、分页…等等基本功能,已经内建在 WordPress 里了,不需要辛辛苦苦去改范本、研究程式码,而 Blogger 往往因为手动加了这些功能,而变得极为拥肿。
  2. 可以上传图片、影片、音乐…等档案,以往这些在 Blogger 里,都需要再寻找额外的网页空间存放,并且 WordPress 上传的图片会自制缩图。
  3. 对于读取权限的控管,WordPress 可以做到完全公开、公开给特用用户、单篇密码保护、禁止搜寻引挚、完全隐藏。
  4. WordPress 已经内建几个知名部落格系统的转移工具,当然包括 Blogger。
  5. WordPress 同时有免费线上部落格(BSP)部落格架站程式
  6. WordPress 的布景主题(Themes)更多、更漂亮。
  7. 琳瑯满目的外挂程式,很难找不到你想要的功能。

继续阅读

下载本站的 Template

访客留言要索取本站的 Template,不过他没有留下 E-Mail,所以我就直接打包释出给大家下载。

这是 Blogger 的 Template,而不是 WordPress 的 Template。

这个 Template 的原始版本应该是来自 DesignfruitBlogcrowds,我把这个 Template 改成 Blogger 可用,并且是 “不限宽度” 的版本,也加入了一些我自己写的 Script,如果觉得改得还可以的,请直接取用。

安装至 blogger 时须选取 “展开小装置范本”,将 template.txt 的内容全部贴上即可,里面很多连结至 http://citypig.googlepages.com/ 的项目,请自己上传、更改至自己的网络空间,本站下次如有改版,可能就会全部删除了。

另外,这个 Template 在 IE 下是有 Bug 的,如果萤幕不够宽,内容的部份会跑到侧边栏的下面,就等待 CSS 能力比较强的人来解决了。

解决当 Blogger 的 "隐藏全文/继续阅读" 功能因为点选较新或较旧的文章而失效的状况

在 Blogger 加入 “隐藏全文/继续阅读” 的功能之后,会因为点选 Blogger 下方的 "较新" 或 "较旧" 的文章连结而导致功能失效!!

会失效原因是因为你在点 "较新" 或 "较旧" 的连结时,所要切换的内容会以 AJAX 的方式加载,而大家所写的 “隐藏全文/继续阅读” 都是以 JavaScript 所写的,当 AJAX 直接切换内容时,并没有触发到用 JavaScript 所写的程式,所以,我们要做的就是让 AJAX 的这个功能失效。

修改 Blogger 范本,点选 “展开小装置范本”,找到下列原始码,这些原始码就是新旧文章的连结,将 “红色” 的字串去掉,最后再存盘即可:

<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>

将 Blogger 中的标签改成标签云(Tag Cloud)

当 Blogger 中的文章一多,标签也跟着变多,而 Blogger 的标签元件就会变得落落长,不好看也不好搜寻。

这时候如果改成 “标签云” 就会是一个不错的作法。在标签云中运用字体大小及颜色的变化,就可以很快的找你要的标签。

修改步骤

  1. 编辑 Blogger 样板,并 “展开小装置范本”。
  2. 在 <Style> 区块内加入:
    #Label1 ul { font-family:Arial; padding:0px; text-align:justify; }
    #Label1 li { display:inline; }
  3. 搜寻 </head>,在上一行加入:
    <script>
    function parseTag(){
      var tagA = document.getElementsByTagName('a');
      for(var i=0; i<tagA.length; i++){
        if(tagA[i].id == 'tag'){
          var tag = tagA[i];
          var width = tagA[i].title;
          tag.style.fontSize = 14 + parseInt(width/5);
          tag.style.color = 'rgb(0,0,' + width*5 + ')';
        }
      }
    }
    </script>

    其中的第 8 行可用来调整字体大小,第 9 行用来调整颜色变化。

  4. 继续搜寻 <body>,在标签内的 onload 事件加入:
    parseTag();
  5. 继续搜寻:
    <li>
      <b:if cond='data:blog.url == data:label.url'>
        <data:label.name/>
      <b:else/>
        <a expr:href='data:label.url'><data:label.name/></a>
      </b:if>
      (<data:label.count/>)
    </li>

    取代成:

    <li>
      <b:if cond='data:blog.url == data:label.url'>
        <a id="tag" expr:title='data:label.count' expr:href='data:label.url'><u><data:label.name/></u></a>
      <b:else/>
        <a id="tag" expr:title='data:label.count' expr:href='data:label.url'><data:label.name/></a>
      </b:if>
    </li>
  6. 存盘完成。

blogger 资料整理

RSS 相关

  • blogger 的 ATOM/RSS 默认是依更新时间排序,网址为:
    • http://vixual.blogspot.com/feeds/posts/default
    • http://vixual.blogspot.com/feeds/posts/default?alt=rss

    如果要让它依发表时间排序,网址须改为:

    • http://vixual.blogspot.com/feeds/posts/default?orderby=published
    • http://vixual.blogspot.com/feeds/posts/default?alt=rss&orderby=published
  • Label(标签)的 RSS 网址:
    • http://vixual.blogspot.com/feeds/posts/default/-/label
    • 将上方的”label“换成 Blogger 上的标签名称即可。

  • blogger 的留言的 ATOM/RSS 网址为:
    • http://vixual.blogspot.com/feeds/comments/default
    • http://vixual.blogspot.com/feeds/comments/default?alt=rss

如何让 blogger 不自动加载 ajax

    在 <body> 的下一行加上:

    <script type='text/freezescript'>
    _WidgetManager._Init=function(){};
    _WidgetManager._SetPageActionUrl=function(){};
    _WidgetManager._SetDataContext=function(){};
    WidgetManager._SetSystemMarkup=function(){};
    WidgetManager._RegisterWidget=function(){};
    </script>

如何让版面依内文或列示加载不同项目

  • 判断是否为内文:
    <b:if cond='data:blog.pageType == "item"'>
    加载的项目
    </b:if>
  • 判断是否为文章列示:
    <b:if cond='data:blog.pageType != "item"'>
    加载的项目
    </b:if>