换用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. 惠州一日游
    2. iPhone USB充电问题
    3. Windows 8 主要快捷键
    4. 吐槽 Windows8 消费者预览版
    5. Linux命令备忘录(一)
    6. 新分类–随手记
    7. 2011年度小结
    8. 美国主机与翻墙
    9. Archos101平板安装openAOS系统
    10. 折腾能力下降
    11. 新浪微博与腾讯QQ正面竞争已经展开
    12. Google Talk 和 Google Voice 的终极整合
    13. “无法访问Windows Installer服务”解决方法
    14. 跨平台的移动应用开发框架-PhoneGap
    15. 七月
    16. 在电脑上K歌的设置
    17. 中国通货膨胀的原因
    18. 关于家族字辈
    19. 15款免费云存储服务
    20. 基于PHP的开源在线OA软件 Feng Office
  6. 最近评论

    1. 咦哇噢博客's avatar咦哇噢博客
      这个不错!收藏了!
    2. 龙龙FRED's avatar龙龙FRED
      提前学习一下先,方便装B
    3. ninee's avatarninee
      沙发~
    4. febird's avatarfebird
      谢谢~
    5. ninee's avatarninee
      鼓励~
    6. febird's avatarfebird
      A-Z,你猜吧。
    7. mahjong's avatarmahjong
      公子啊, 第5条是哪个字母啊?
    8. 皇冠网址-www.2532777.com|y2x35e's avatar皇冠网址-www.2532777.com|y2x35e
      写的不错,多谢分享,学习了 谢谢楼主。 多更新, 会常光顾的,...壬辰年(龙)二月初四 2012-2-25