换用dark主题,Blog焕然一新

前天昨天我一不小心,在YO2主页上点了“检测修复白屏”链接,结果瞬间没有任何确认信息的将主题恢复为默认主题,非常不爽,至少得让我确认一下吧?这点YO2应该改进一下。

回复默认主题后,原来私有化自己编辑的主题数据被清空了,虽然联系管理员后告知已经恢复,但事实上我编辑的那一些并没有恢复。

所以只好重新来过,由于后来发现一直使用的iNove主题太火了,满大街都是,索性重新选择一个主题,后来我看到了这个 dark主题,给人眼前一亮的感觉,而且是我喜欢的宽版自适应,用之!,但是用上了发现有很多问题,花了整整一个下午,才将它搞定,下面写写我做了哪些改动:


1.让dark主题更好的支持 widget

yo2中默认的dark主题对widget支持得不好,siderbar本来有两个,但是在 functions.php中只注册了一个没有名称没有样式的 sidebar.这导致在 “小工具” 里面的 sidebar下拉框中只右边那个sidebar可以添加widget,所以我在 functions.php中将它改为:

<?php
if( function_exists(‘register_sidebar’) ) {
    register_sidebar(array(
        ‘name’ => ‘right_sidebar’,
        ‘before_widget’ => ‘<li id=”%1$s” >’,
        ‘after_widget’ => ‘</li>’,
        ‘before_title’ => ‘<h2>’,
        ‘after_title’ => ‘</h2>’
    ));
    register_sidebar(array(
        ‘name’ => ‘left_sidebar’,
        ‘before_widget’ => ‘<li id=”%1$s” >’,
        ‘after_widget’ => ‘</li>’,
        ‘before_title’ => ‘<h2>’,
        ‘after_title’ => ‘</h2>’
    ));
}?>

然后再在相应的 sidebar的html里面增加 dynamic_widget函数调用:

     <?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(‘left_sidebar’) ) : ?>
     <?php endif; ?>

这样就可以在left和right sidebar中自由添加widget了。

还有一个问题就是,原来的inove主题有四个 sidebar,东南西北,现在只有两个,但是WP数据库中保存的动态 widget 有一部分不能显示在 “小工具”页,但是在数据库中还存在的,这样导致的问题是:曾经添加 分布在四个sidebar中的dynamic widget 现在只能显示 在两个 sidebar里面,有不能重新添加(例如 archive widget,应为以前加过,现在不能再加了),所以解决办法就是在 functions.php中按照上面的方法完整的 注册 四个 sidebar, 然后将在到”小工具”页中将 不显示的两个sidebar 里面的 widget删除,然后再添加到到当前显示的sidebar中,最后将 functions注册的sidebar清理即可。

2.将RSS订阅放在右边的sidebar

第二件事情就是将原来的 RSS Feed 掉到 右边栏 ,改了几个css就OK,很简单的。

3.将底部的 Blogroll去掉,换成了 Recent Comment

这个BlogRoll不是和放在下面很是不爽,因为Blogroll笼统的现实为“链接表”,没有分类不说,还只显示其中的一部分,索性将它放在有边栏,那么这块放什么捏?好了,放上最新评论吧。

由于 wp_recentcomment() 好像没有,所以还是手动写代码 query吧,修改 bottom.php,在相应的ul中加入:

                <?php
                global $comment;
                if ( $comments = $themedb->get_results(“SELECT comment_author, comment_author_url, comment_ID,comment_content, comment_post_ID FROM $themedb->comments WHERE comment_approved=’1′ ORDER BY comment_date_gmt
DESC LIMIT 8″) );
        foreach ($comments as $comment) {
        echo ‘<li><a href=”‘. get_permalink($comment->comment_post_ID) .’#comment-’ . $comment->comment_ID .’”>’ . get_comment_author(). ‘<span style=”color:yellow”>&nbsp;评论了&nbsp;</span>’ . get_the_title($comment->comment_post_ID) . ‘</a>’;
        echo ‘</li>’;
        }
        ?>

同理,还将 left sidebar 的 Recent comments 加入了评论详细内容。

4.修复 WP Thread Comment和 dark theme 的CSS不兼容的地方

由于这个主题比较有特色,评论信息 放在最左侧的突出位置,而文章块则 有着巨大的 left margin ,所以对于 WP Thread Comment来讲,那个 mvcf函数将 comment form移到了每个 comment的节点末尾,但并未定义样式,结果是显示的一团糟。在 style.css中加上如下样式,即可修正这个bug:

ol#commentlist li #commentform {
        margin-left:170px;
    }

ol#commentlist .comment-childs #commentform {
        margin-left:5px;
    }

5.增加gravatar和yo2avatar头像支持

以前一直没有弄明白这个 wordpress的头像是怎么回事,一直以为是各个wordpress共享的图标API,今天看代码才明白,原来都是www. gravatar.com的服务,不过在 yo2上,没有 gavatar 这个插件,只能用 yo2vatar,为了两个兼容,我这样写了代码,如果有 启用了yo2社区插件,就用显示yo2cdn的头像, 否则显示 gravatar的头像,
在需要 添加用到图片src的地方添加如下代码:

<?php
if(function_exists(‘yo2avatar’)) {
                            echo yo2avatar($comment->comment_author_email,$comment->comment_author_url,32);
                        }           
                        else {
                           echo ‘http://www.gravatar.com/avatar/’.md5($comment->comment_author_email).’?s=32&amp;r=any&amp;default=’;
                           echo bloginfo(‘template_url’).’/images/default_32.gif’;
                        }
?>

唉!!编辑CSS和夹杂着HTML的php是一个非常繁琐枯燥的事情,

相关日志

本文发表于星期五, 三月 27th, 2009 at 下午 5:11 文章归类于 互联网, 鸟窝日记. 标签: , , .
你可以去 留下评论, 或者

9 条评论

  1. 为什么不高亮显示,我开启了 highligh.js 插件啊

    [回复]

    febird 回复:

    算了,还是将代码拷贝到 设计视图,然后加上 标为 引用

    [回复]

  2. 原来你也是绑在yo2上的啊

    [回复]

    febird 回复:

    是丫,虽然很慢,经常503,但是少了自己更新维护的麻烦。

    [回复]

  3. 那你能帮我弄弄我的blog首页GFC的问题么?
    首页和分页显示留言条数不一样?还有无法使用gravatar头像问题,我对网页这方面没研究,不懂弄
    :( :(

    [回复]

    febird 回复:

    GFC的那个问题我也不知道你那是为什么,不过gravatar就按照我写的那段代码就OK。

    [回复]

    derek 回复:

    看了,不过不知道在哪添加代码??

    [回复]

  4. @derek,可以加载comment.php的 那一页,将需要用到 头像src的地方加入那一段代码即可

    [回复]

  5. 学习了,但是比较菜,不是说现在yo2是wp2.7的么,不是支持gravatar了么?可是我用的还是不行,请问你那个代码如何添加呢?

    [回复]

我有话说

没有自己的个性头像?去搞一个吧,很简单的,只要去Gravtar登记一下就OK啦,绑定Email后就可以在全球使用的。

标注有 黑体 的域是必填的. 你的电子邮件地址是 永远 不会公开或者转交给第三方.

下面的HTML标记可用:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URIs 必须书写完整 (例如: http://www.febird.net) 并且所有的标签都应该正确关闭.

换行符与段落标记将自动产生.

大家要注意了,XX言论 可能 会被和谐哦.

  1. 我的网络


  2. 标签云

  3. 推荐服务

  4. 分类目录


  5. 最近文章

    1. 2011年度小结
    2. 美国主机与翻墙
    3. Archos101平板安装openAOS系统
    4. 折腾能力下降
    5. 新浪微博与腾讯QQ正面竞争已经展开
    6. Google Talk 和 Google Voice 的终极整合
    7. “无法访问Windows Installer服务”解决方法
    8. 跨平台的移动应用开发框架-PhoneGap
    9. 七月
    10. 在电脑上K歌的设置
    11. 中国通货膨胀的原因
    12. 关于家族字辈
    13. 15款免费云存储服务
    14. 基于PHP的开源在线OA软件 Feng Office
    15. 在WordPress中展示Facebook相册
    16. MusicBrainz Picard–MP3自动标签匹配工具
    17. 荧光灯为啥不能直接装在普通调光台灯上
    18. 打电话时”已关机”和“无法接通”的区别
    19. Ubuntu下使用WindowsMediaCenter遥控器控制XBMC
    20. 非常酷的开源Media Center-XBMC
  6. 最近评论

    1. ninee's avatarninee
      不错,有收获,有计划!
    2. febird's avatarfebird
      你说的是 Virtual-WiFi ? 只要是通过Windows的“共享网络连接"功能的,作为网关的那块网卡就支持NAT功能,也就起到了路由器的作用。 至于说一块网卡怎么能生成两个接口,那是网卡的一种模式,可以理解为AP-STA模式。
    3. jk's avatarjk
      问一下啊。。。W7下系统就能自动有一个虚拟网卡。通过它可以共享网络。那么这个虚拟网卡和物理网卡是怎么连的?我觉得是NAT吧。问一下。还有我G+上加你了。
    4. febird's avatarfebird
      哥的地盘,要开始实名制了。
    5. 就不告诉你's avatar就不告诉你
      公子啊,第5条是亮点啊~
    6. 龙龙Fred's avatar龙龙Fred
      那我一定要试一试
    7. NoAnyLove's avatarNoAnyLove
      对,GoAgnet是个不错的解决方案,不仅免费,而且速度也快,基本上可以达到你的带宽的全速(但是好像不能超过500 KB/s ,话说,国内个人用的带宽还很少有能达到这个速度的),比许多收费的SSH和VPN还要快。用于看Youtube绝对死最好的选择,访问一些美国网站也不是问题
    8. a nerd's avatara nerd
      GoAgent不就解决了