• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress问答 > wordpress CMS主题提速(4):主题代码的优化

    wordpress CMS主题提速(4):主题代码的优化

    作者: 分类:wordpress问答 点击: 383 次
    wordpress CMS主题:ssmay主题

      前面,我们了解了wordpress主题加速度的几种方法:去除头部无用信息、去除google字体、缓存gravatar用户头像,以及优化wordpress数据库等。通过上面几种方法,我们的wordpress主题在速度上,会有一定的提升。本节,我们再来介绍另一个wordpress 主题提速方法:wordpress主题代码的优化。

      一个好的wordpres主题,它的代码一定会做到精致。就是说,不会有多余而无用 的代码存在。怎样对wordpress主题的代码进行优化呢?

      一:使用静态路径

      wordpress程序为我们提供了一些获取wordpress网站的路径的函数,可以很方便地获取网站路径、主题路径、插件路径等,如:get_bloginfo('url')就是获取当前wordpress网站的根地址路径。但是,在php中,只要是函数,肯定是会比静态的代码慢的。所以,我们用纯静态的代码来代替这些路径函数,比方说:网站logo图片

      wordpress函数调用Logo图片:<img src="<?php echo get_bloginfo("template_url");?>/images/logo.jpg" />

      静态代码调用logo图片:<img src="/wp-content/themes/wanlimm/images/logo.jpg" />

      wanlimm是当前wordpress主题的名称文件夹名。这样,会减少一次php解析的时间。

      二:封闭wordpress查询函数

      在wordpress主题制作中,由其是worddpress cms主题的制作,我们会经常用到wordpress的查询函数,如:query_posts。这时,我们要记住,一定要封闭wordpress查询。如:

      query_posts( array('showposts' => 20,'orderby' => 'modified','ignore_sticky_posts' => 1));
      while (have_posts()) : the_post();
      echo '<li><a target="_blank" href="'.get_permalink().'" title="'.$post->post_title.'">'.$post->post_title.'</a></li>';
      endwhile;
      wp_reset_query(); //封闭wordpress查询

      三:用函数封装重复使用的代码

      在制作wordpress cms主题时,我们可能会重复使用某一段代码,这时,我们可以把这段代码封装成一个函数,放到functions.php文件中,在需要调用 的地方,直接使用这个函数就可以 了。这样的好处,可以简化代码。如:缩略图片在wordpress cms主题中会使用非常多,这时可能会调用文章的第一张图片,这时,我们可以把调用第一张图片的代码封装成一个函数,代码如下:

      function catch_first_image() {
      global $post; $first_img = '';
      ob_start(); //打开输出缓冲
      ob_end_clean(); //清空缓冲区 并关闭输出缓冲
      $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); //通过正则来匹配文章内容中的图片,把获取到的图片地址放到$matches数组中
      $first_img = $matches [1] [0]; //从数组中获取第一张图片地址
      if(empty($first_img)){ //如果没有图片,就启用默认随机图片
      $random = mt_rand(1, 10); //随机 1-10 的数字,表示共10个随机图片
      $first_img = get_bloginfo ( 'stylesheet_directory' ).'/images/random/'.$random.'.jpg'; //默认图片路径在主题目录下的/images/random/目录里
      }
      return $first_img; //返回图片地址
      };

      然后,在需要调用第一张图片的地方,只需要调用这个函数catch_first_image()就可以了。

      四:巧妙地使用判断语句

      对于网站,不同的页面会需要不同的功能,比方说:首页我们可能需要调用友情链接模块,而分类页和文章页不需要调用友情链接模块。而友情链接模块一般情况下是放在footer.php文件中的。这时候,如果我们wordpress网站的首页和分类页面文章页使用同一个footer.php文件时,就可以通过if判断来让友情链接不在分类页和文章页面显示。代码如下:

      if(is_home()){ //如果是首页,就显示友情链接
      echo '<li><strong>友情链接: </strong>';
      ssmay_links("txt",24);
      echo '</li>';
      }

      比如其它情况:有的页面需要加载JS幻灯,而有的页面不需要,有的页面需要jquery,而有的页面不需要,通过判断语句,我们就可以让不需要的页面不加载这些JS,从而达到提速。



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201807206068.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

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

    This site uses Akismet to reduce spam. Learn how your comment data is processed.