WordPress K2主题的一些问题

2009年2月15日 发表评论 阅读评论

现在我的博客主题使用的是K2模板,这是一款不少网友都推荐的WP主题。

但在实际的使用和修改主题时,碰到了一些问题无法解决。在google上查了一下,主要是关于header里页面的问题的解决方法,还有一些样式的事项,写下来分享一下。
  
隐藏页面的方法

        1.打开k2主题目录,打开 k2/apps/includes/display.php

        2.搜索找到”wp_list_pages”处

原代码为:  

<?php wp_list_pages( apply_filters(‘k2_menu_list_pages’,

’sort_column=menu_order&depth=1&title_li=’) ); ?>

修改原代码为:

<?php wp_list_pages( apply_filters(‘k2_menu_list_pages’,

’sort_column=menu_order&depth=1&title_li=&exclude=102,164′) ); ?>

     其中:”exclude=102,164″中”102,164″ 是你要隐藏页面的id,

     页面的id你可已在管理后台看到:管理—页面,将鼠标放在你要隐藏的页面标题上,你就可以在浏览器的左下角看到它的id了。

           3.如果你要在页眉导航菜单那手动添加其他的地址,你可以在display.php中添加以下代码,一般放在上面代码的下面

<li class="page_item"><a href="你页面的URL">要添加页面的名称</a></li>

          注:中文要使用utf8编码,不然会乱码
 
页面翻页后同时显示主页和当前页面问题的解决
   页面如果不涉及翻页是不会出现这个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主题里用header下的menu字段定义。其中:
  PHP输出控制在
  app\includes\display.php 25-48行 函数function k2_header_menu()
  CSS样式控制在
  css\core.css.php中”Main Menu in Header”注释下
 
K2主题的其它注意事项
  1.K2的css文件并不符合W3C标准,因为它的style.css实际上引用了css文件夹下的core.css.php,如果你希望网站能通过W3C的CSS验证,可以把core.css.php文件改为相同名称替换掉根目录下的style.css文件,但记得把第一行改为:
  <?php require(’css/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这款浏览器可以把一个程序员活活整死,而我只是个门外汉,无法解决这个问题,由它去吧!

原创文章,转载请注明: 转载自水星博客 - 数字时代 To digi

本文永久链接地址: http://www.todigi.com/2009/02/wordpress-k2-problems.html

  1. 2009年4月28日13:31 | #1

    现在的新版本好像结构不一样了啊,我想把页面隐藏,找了好几处都不行

  1. 2009年6月11日17:04 | #1