关于模板路径

更新了wp和PageNavi后,我突然PageNavi的样式丢失了,花了几分钟看了下代码,作者是这样写的:

function pagenavi_stylesheets() {
   if(@file_exists(TEMPLATEPATH.'/pagenavi-css.css')) {
      wp_enqueue_style('wp-pagenavi', get_stylesheet_directory_uri().'/pagenavi-css.css', false, '2.50', 'all');
   } else {
      wp_enqueue_style('wp-pagenavi', plugins_url('wp-pagenavi/pagenavi-css.css'), false, '2.50', 'all');
   }   
}

TEMPLATEPATH指向了父模板的路径,但是get_stylesheet_directory_uri给的是子模板的链接。查了一下api,理了一下思路,应该先查看子目录下pagenavi-css.css,再看父模板下pagenavi-css.css,最后采用默认css,改代码如下:

function pagenavi_stylesheets() {
   if(@file_exists(STYLESHEETPATH.'/pagenavi-css.css')) {
      wp_enqueue_style('wp-pagenavi', get_stylesheet_directory_uri().'/pagenavi-css.css', false, '2.50', 'all');
   } else if(@file_exists(TEMPLATEPATH.'/pagenavi-css.css')) {
      wp_enqueue_style('wp-pagenavi', get_template_directory_uri().'/pagenavi-css.css', false, '2.50', 'all');
   } else {
      wp_enqueue_style('wp-pagenavi', plugins_url('wp-pagenavi/pagenavi-css.css'), false, '2.50', 'all');
   }   
}

总结:

  • STYLESHEETPATH 和 get_stylesheet_directory_uri 指向子模板
  • TEMPLATEPATH 和 get_template_directory_uri 指向父模板

给作者发了贴,不知道他会不会改。

6条回复

  1. 视频聊天说到:

    怎么不更新了?

  2. Leo说到:

    作者有回复了吗?

  3. Showfom说到:

    我直接写死到 style.css 里,然后把 function pagenavi_stylesheets() 这个函数全部注释,防止头部输出太多东东 嘎嘎

  4. 视频聊天说到:

    PageNavi会导致wp的文字出现乱码···

  5. Roc说到:

    又见技术帖.

发表评论

您的电子邮箱地址永远不会被公开。 标记为 * 的区域必须填写