K2主题页面相关问题解析及一些零碎

  我在修改K2主题时的一些体会,写出来也许对碰到类似问题的朋友有些帮助。主要是关于header里页面的问题,还有一些零碎的事项,写下来也算是一个修改工作的备忘录吧。
  

页面相关文件位置
  “页面”在K2主题里用header下的menu字段定义。其中:
  PHP输出控制在
  app\includes\display.php 25-48行 函数function k2_header_menu()
  CSS样式控制在
  css\core.css.php中”Main Menu in Header”注释下
  

隐藏页面的方法
  网上已经有如何隐藏某个页面的详细介绍,参看这里
  

页面翻页后同时显示主页和当前页面问题的解决
   页面如果不涉及翻页是不会出现这个BUG的,但是如果页面涉及翻页,“主页”和当前页面会同时显示为选中状态,因为is_archive和is_paged判断同时为true。
  这个问题及其它类似的问题的解决,关键在于状态标签的使用。WordPress官网上有关于状态标签的详细说明,见这里。我的体会是,状态标签是非常有用的,在WordPress程序中使用频率也非常高。
  在上文提到的k2_header_menu函数中,<li></li>中的if语句就是判断哪个页面为当前页面的语句,原文的or判断太繁琐,只留下一个你需要的条件即可,其它的可以注释掉。另补充两句比较有用的判断语句:
  is_home() && !is_paged()
  is_category(’31’)
  前者已经有很多文章介绍用法。后者适用于调用了某个分类(标签、作者等等也一样)的页面。例如我的“照片”页面调用了“凝视有时”这个分类,分类序号是31(获得分类序号的方法请自行Google),用了is_category判断后“照片”页面的翻页就会显示正常了,否则从第二页开始“主页”和“照片”会同时显示为当前页面。
  

K2主题的其它注意事项
  1.K2的css文件并不符合W3C标准,因为它的style.css实际上引用了css文件夹下的core.css.php,如果你希望网站能通过W3C的CSS验证,可以把core.css.php文件改为相同名称替换掉根目录下的style.css文件,但记得把第一行注释掉:
  <?php require(‘gzip-header-css.php’); ?>
  

  2.如果你需要自己撰写新的页面模板,保存时必须存为UTF-8编码,保存为UTF-8无BOM和ANSI编码都会出现header上空行的问题,IE内核浏览器还会出现header右侧错位的问题。
  

  3.K2主题大量使用了嵌套、引用的函数和模块,使得自定义性较差。如果自己编写模板需要改变某些函数和模块,在app文件夹下可找到所有K2自己的函数和模块。
  

  4.我修改的K2主题在IE6下有一个小BUG,每篇日志的第一条评论的评论者ID背景色无填充。另外通过这一个多月的使用我发现,不同机器上的IE6和基于IE6内核的遨游浏览器对样式表的解析各有不同。IE7和Firefox表现完美。鉴于IE6这款浏览器可以把一个程序员活活整死,而我只是个门外汉,还是放下强迫症的倾向,由它去吧!

“K2主题页面相关问题解析及一些零碎”上的5条回复

我使用的是K2 1.1这个主题,在chrome和firefox下都显示正常,今天无意中发现,在IE里打开,tab显示不正常。。不知道什么原因,K2的tab样式无法显示出来。

我的WP版本和K2版本都和你的不一样,没用过那么新的版本,所以具体情况我也不清楚。不过K2和IE兼容不好这个问题好像一直存在。你的IE是什么版本?如果是IE6就别管它了。

呵呵,是啊,怀着好奇与期待等待着新的默认模板。
特别是看看是不是有tab的那种,我现在喜欢有标签卡的主题了。想在博客加入一些(特殊)页面而避免日志模式的一些不足。
假如新的默认模板不理想,我可能考虑在原来的模板的基础上加入tab,不知道这样的方案实现起来难不难。

应该不难,我看到过不只一个给默认主题加上tab的。应该是在header里加代码再用CSS赋予样式就行,好久不弄代码了,我猜的,没试过,呵呵。

咋看起来挺复杂的,之前对K2还是有些好印象的。
不知道WP3.0会使用什么新的默认主题。

是我把问题复杂化了而已。
WP的升级实在太频繁了,我很不喜欢。不过对3.0的默认主题倒是很期待的,肯定成为新的一代经典。

发表回复

电子邮件地址不会被公开。 必填项已用*标注