Categories: WP/WP Plugins | Tags: , | Views: 1,245

 

其实我本无意在这里批评什么或者指责什么,事实上,我自己的插件也没有用上心,只是满足了自己的需求就发了出来。

wp-codebox是一个不错的插件,我不知道wp-syntax与之哪个在前哪个在后,只是我看了两者的源代码,发现惊人地相似。

wp-codebox最近更新了,我很想知道它到底更新了什么,到插件主页一看,什么介绍也没有,看了源代码才知道,原来整个源代码的组织形式都有所改进。

实际上,我两个插件都有安装,但只激活了wp-codebox,原因是对于wp-syntax,我没有找到设置选项,也就是说,要设置你就得改源代码,这也太不方便了。于是,我坚定而固执地选择了wp-codebox

之所以说固执,是因为有这样一件事情。我目前所用的这款主题,最新版本里加了一条,支持wp-syntax,于是我很奇怪,去问主题的作者,作者的回复是,wp-codebox不支持w3c标准。后来我一验证,果然如此。但我仍然没有禁用它,只是将不符合标准的地方改掉了:

1
<script language="javascript">...</script>

改成了

1
<script type="text/javascript">...</script>

可是最近一次更新,我实在无法忍受作者测试并未通过(至少我现在采用的wp版本,2.8.5也未通过)。

我无论怎么修改codebox.css,样式都没有变化,后来发现codebox.css并没有加载。作者在源代码中是这样写的:

1
2
3
4
5
6
7
8
9
10
add_action('wp_print_scripts', 'Codebox_ScriptsAction');
function Codebox_ScriptsAction ()
{
    $cb_path = get_bloginfo('wpurl') . "/wp-content/plugins/wp-codebox"; //URL to the plugin directory
    if (! is_admin()) {
        wp_enqueue_script('jquery');
        wp_enqueue_script('codebox', $cb_path . '/js/codebox.js', array('jquery'), '0.1');
        wp_enqueue_style('codebox', $cb_path . '/css/codebox.css',array(), '0.1',screen);
    }
}

但实际上wp_print_scripts这个hook并不会加载style,而作者却将style也写在了里面。我修改成如下代码后,可以正常运行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
add_action('wp_print_scripts', 'Codebox_ScriptsAction');
function Codebox_ScriptsAction ()
{
    $cb_path = get_bloginfo('wpurl') . "/wp-content/plugins/wp-codebox"; //URL to the plugin directory
    if (! is_admin()) {
        wp_enqueue_script('jquery');
        wp_enqueue_script('codebox', $cb_path . '/js/codebox.js', array('jquery'), '0.1');
        //wp_enqueue_style('codebox', $cb_path . '/css/codebox.css',array(), '0.1',screen);
    }
}
// pwwang
add_action('wp_print_styles','Codebox_StylesAction');
function Codebox_StylesAction(){
    $cb_path = get_bloginfo('wpurl') . "/wp-content/plugins/wp-codebox"; //URL to the plugin directory
    if (! is_admin()) {
        //wp_enqueue_script('jquery');
        //wp_enqueue_script('codebox', $cb_path . '/js/codebox.js', array('jquery'), '0.1');
        wp_enqueue_style('codebox', $cb_path . '/css/codebox.css',array(), '0.1',screen);
    }    
}

就像上次wp-codebox和quick-comments插件不兼容的问题一样,我没有任何抱怨地进行了修正,因为我也深有体会,写一款有用的插件并不是一件容易的事,这里也一样,我也没有抱怨,只是,虽然问题解决了,但我也决定放弃wp-codebox转而投向wp-syntax的怀抱。

这篇文章来自 迷途知返(PWWANG.COM), 转载请注明出处。 版权说明

  1. December 13th, 2009 at 10:49
    Reply | Quote | #1

    订阅了你的博客~~ :lol: 我暂时使用的是Syntax Highlighter~~

    • December 13th, 2009 at 20:01
      Quote | #2

      @fatkun:感谢订阅,如果用的是GeSHi,都大同小异,主要是细节上的体验。

  2. ktta
    December 14th, 2009 at 19:47
    Reply | Quote | #3

    今天去看了wp-codebox,似乎又更新到1.4.1版了。我的wp 2.8.6 是可以用的。
    提供您作参考。http://wordpress.org/extend/plugins/wp-codebox/

    • December 14th, 2009 at 20:48
      Quote | #4

      @ktta:wp-syntax也能用,就不再折腾了

  3. July 5th, 2010 at 10:34
    Reply | Quote | #5

    wp-codebox貌似用起来还可以嘛。

  4. July 6th, 2010 at 14:38
    Reply | Quote | #6

    就是不知道怎么能自己弄个快捷键出来,每次都是把

    
    

    那些代码复制上去,太麻烦了。。。

  5. July 20th, 2010 at 15:21
    Reply | Quote | #7

    用了Dean’s FCKEditor For WordPress,还可以用wp-syntax吗?

    • July 21st, 2010 at 16:01
      Quote | #8

      @john: 当然可以,我现在就是这么用的

;) :| :x :twisted: :roll: :oops: :o :mrgreen: :lol: :idea: :evil: :cry: :arrow: :P :D :?: :? :) :( :!: 8O 8)

你可以使用@somebody:开头, 来邮件通知somebody你回复了他的留言(用户名区分大小写).