加速blog:减少和优化插件

尽量少用含javascript和css的插件

很多插件作者需要为blog的慢速度负责。插件作者随意地往'wp_head'里安插js和css,导致很多blog的head部分越来越臃肿。

所以,当你安装一个往你的blog上安插文件的插件时,先考虑一下是否真的需要它。往往我们有别的代替者。举个例子,为了显示格式化的程序代码,就一定需要安装cool code插件么?在这个系列中,我也会展示一些代码,但我不用cool code,一样有很好的效果。

确实想用含带javascipt和css的插件怎么办?

为了实现某些功能,插件必须要引入js和css文件。比如wp-polls,一个实现在blog上ajax投票和查看结果的插件。它肯定要用到javascript文件,这我们就无能为力了么?事实上不然,投票只会产生在特定的页面,也只有在这些页面,这些javascipt才是需要的。而wp-polls确实在每个页面上都引用了一遍,先看一看它是怎么在你的blog上插入javascript文件的:

<?php
add_action('wp_head', 'poll_header');
function poll_header() {
wp_register_script('wp-polls', '/wp-content/plugins/polls/polls-js.php', false, '2.20');
wp_print_scripts(array('sack', 'wp-polls'));
echo '<link rel="stylesheet" href="'.get_option('siteurl').'/wp-content/plugins/polls/polls-css.css" type="text/css" media="screen" />'."\n";
// more here, omited 
  }
?>

这段代码向你的blog的每个页面的header区域插入了三个文件,两个js文件/wp-includes/js/tw-sack.js,/wp-content/plugins/polls/polls-js.php和一个css文件/wp-content/plugins/polls/polls-css.css。为了让插件正常工作,这3个文件也不能少。但上面已经提到了,只有在页面上有投票项目的时候,这些才是需要的。所以改成下面,只有当页面有投票时,才会包含那3个文件。

<?php
// delete add_action('wp_head', 'poll_header'); add the two lines below:
  $poll_js_loaded = false; // global variable to track if the script file have been loaded

// change definition of function display_poll as below:
  function display_poll($poll_id){
global $poll_js_loaded;
if (!$poll_js_loaded)
poll_header();
$poll_js_loaded = true;
return get_poll($poll_id, false);
}
?>

查看更多关于的内容。

你可能感兴趣的
相关文章

6条留言 -> 跳到留言表格

  • At 2008.01.07 10:03, cosbeta said:

    更有甚者,直接将prototype嵌入自己的插件中,无语

    • At 2008.04.11 11:51, MO said:

      这是个好主意...研究一下,整整我那个Highslide,嘻嘻

      • At 2008.04.20 17:38, Charles said:

        请问你显示代码使用什么插件啊?效果确实不错,能显示C#代码吗?

        • At 2008.04.20 20:53, zhiqiang said:

          这个不是WordPress的插件实现的。我通过windows live writer写文章,它有一个非常好的syntex highlight插件。支持10多种语言,包括C#。

        • At 2008.05.13 11:02, 酋长 said:

          博主,如果不使用WLW,能不能实现?
          CoolCode虽然好但确实影响速度。。

        (Required)
        (Required, not published)

          B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
        guest | 注册 | BBS | 管理 | English | 繁體 | https

        阅微堂

        Personal blog of zhiqiang

        Loading...
        Loading...
        Loading...