Posts Tagged ‘513’

WordPress 内置可视化编辑器 TinyMCE 推介

星期二, 08月 24th, 2010

    可视化编辑,又叫做WYSIWYG (What You See Is What You Get,所见即所得),意味着您在打字的同时即可看到最终显示效果,就像在 Word 里一样。可视化编辑器在后台为您生成 html 代码,以便您能专心于写作。字体效果,链接,图片都将直接显示在编辑器中,和最终展示在 Blog 上的效果一样。

    WordPress 内置了 TinyMCE 这个几乎兼容所有浏览器的可视化编辑器。它功能强大但也有局限性。比如,直接从别的文字处理软件复制文本过来可能达不到您期望的结果。如果您并不喜欢这个可视化编辑器,您可以在您的档案设置中选择普通编辑界面。

(more...)

互联网历史时刻:Web2.0正式超Web1.0(快讯三则)

星期一, 07月 26th, 2010

    DCCI最新数据显示,中国互联网用户产生的内容的流量超过网站专业制作内容流量,前者页面浏览量占互联网总量比例达50.7%,后者47.32%。博客-论坛-SNS-问答等应用流量超新闻-搜索-电商等总和。用户创造网络,2.0正式超越1.0,微众时代到来。

(more...)

WordPress 陷入开源“边界”之争

星期一, 07月 19th, 2010

    最近开源开发社区正在进行异常激烈的辩论,其结果将对软件分享和传播产生广泛影响。WordPress创始人Matt Mullenweg认为Chris Pearson(WordPress Thesis主题框架的开发者)的做法违反了WordPress所遵守的通用公共许可(GPL)协议。双方争执不下,并有可能走上法庭,这会对免费软件发布带来哪些影响呢?

    遵守GPL协议的代码必须做到免费、开源,并且相关的“第三方”代码也必须遵守GPL。Mullenweg认为GPL是WordPress世界的“权利法案”,因为它可以保护核心的自由。

    Mullenweg要求软件自由法律中心(SFLC)澄清WordPress主题是否需要遵守GPL。SFLC发现使用WordPress版权代码的PHP文件受GPL保护,但主题的图片和CSS不在此列。换言之,汽车引擎受保护,而涂料和车身不在保护范围内。

    Pearson则认为自己的收费WordPress主题和框架不受GPL的约束,因为它“完全独立于WordPress”。Mullenweg对此表示反对。

    你可以开发任何东西,但是在GPL协议基础上开发的东西必须也要遵守GPL。这是问题的关键。

    Matt Mullenweg双方都亮明了自己的观点但双方的争论没有任何实质进展,只是引起了更多注意。

Wordpress 插件开发常见问题

星期六, 04月 17th, 2010

    WP 的插件数量已经很多了,而且新的插件还在被不断地开发出来。如果不对插件开发进行规范和控制,插件很容易出现冲突、兼容性等问题。事实上,问题已经出现了。比如:

    1,插件之间的冲突问题。
    这个一般在安装很多插件的时候就可能出现,属于插件集成安装的问题。这个问题基本是不能通过测试来解决的。由于已有的插件未知,未来将要产生的插件更是一个未知数,所以通过测试解决冲突问题是个无法完成的任务。解决这个问题,需要插件开发者采取一些代码容错技巧来解决。例如本系列教程的插件示例重构部分,就主要考虑了插件的冲突,使插件代码更健壮。

    2,PHP 版本的兼容问题。
    由于插件的开发者知识结构的差异和开发环境的不同,导致其生产出来的插件,有可能依赖具体的PHP版本。例如,面向对象技术的引入,就可能因为PHP4.0版本和5.0版本对OOP支持的差异,导致插件在PHP4.0和5.0环境下,表现出不同的运行结果。
    这个问题可以通过广泛的PHP版本兼容性测试来解决。插件开发者需要比较了解PHP版本的兼容的知识,并且在插件开发时充分考虑兼容问题,再通过测试把关最后一道关口。如果是商业开发性质的插件产品,还需要对PHP的未来版本进行必要的考虑。

    3,WP 版本的兼容问题。
    已经发现了一些插件,在高版本的 WP 下失效 - 不能运行的问题。所以插件开发还需要考虑 WP 的版本。尽量使用 WP 提供的的系统API函数,可以是问题得到缓解,但问题不能得到有效、彻底的解决。建议插件开发者尽量不要建立自己的表,尽量把数据保存到 WP 现有的表中。
    要彻底解决WP 版本兼容问题,可能也只有依靠测试的把关了。

    4,MySQL数据库兼容性问题。
    全部使用 WP 的内置数据库操作对象(比如$wpdb)和 API 函数,这个问题一般不会出现。除非 WP 本身出现数据库兼容性问题。

    5,插件开发经常和 theme 有关,所以熟悉 WP 的主题相关的 html 代码对开发良好的、具有个性的插件非常有益。事实上 theme 开发是除过插件开发外,WP 二次开发的另一个重要的工作领域,用户需求旺盛,商业“钱”景也很诱人。

    6,插件的调试问题。
    WP 二次开发,包括插件开发,是个比较困难的事情。好在 WP 已经提供了很多的容错的考虑,提供了很多错误提示信息,对插件开发是个很好的帮助。但有一种最糟糕的情况,就是插件调试时或安装后,激活后 WP 彻底地崩溃,屏幕没有任何显示,连错误也没机会被输送出来。这时只能手动从数据库卸载插件来解决问题,具体的就是从 wp_options 里删除插件的相关信息,然后再调试插件或删除插件文件(或/和文件夹)。

    作者:张庆(网眼) 2010-4-10
    来自“网眼视界”:http://blog.why100000.com
    “十万个为什么”电脑学习网:http://www.why100000.com

Wordpress 的 comments-popup.php 文件有什么用?

星期六, 04月 17th, 2010

    在 WP 的 theme 中有个 comments.php 文件,是评论模板文件。但另一个名字相关的 comments-popup.php 文件,一直不知道它有什么用。甚至删除了它,也没见系统有什么反常的。

    其实,它还是有用的,就是点击文章的“评论”,可以弹出该页面,在里边填写评论。但因为“弹出评论页面”的功能默认是被关闭的,所以很多人不了解它。要打开弹出评论页面的功能,编辑 header.php 文件,看到第 21 行(WP2.9.1版本):

   <?php //comments_popup_script(); // off by default ?>

   这里就是开关,把该句的注释去掉。然后刷新博客主页面,会看到代码的 head 部分多了 js 脚本:

    <script type='text/javascript'>
      function wpopen (macagna)
      {
        window.open(macagna, '_blank', 'width=400,height=400,scrollbars=yes,status=yes');
      }
    </script>

    评论链接的脚本变为:

    <div class="feedback">
      <a href="http://.../?comments_popup=230" onclick="wpopen(this.href); return false" title="...">评论(0)</a>
    </div>

    注意js脚本 onclick="wpopen(this.href); return false" 写的很巧妙,在不改变链接结构的情况下,就加了 onclick 事件函数,就改变了链接的打开行为。而不是写为:

    <a href="#" mce_href="#" onclick="wpopen('http://.../?comments_popup=230'); return false" title="...">评论(0)</a>

    发现本技巧,参考了老外的一篇文章:
    (地址:http://playworkplay.com/blog/understanding-comments-popupphp/

(more...)

在 Wordpress 插件中进行数据库操作

星期六, 04月 10th, 2010

    在 WP 中操作数据,主要有两种方法:

    1. 使用 Options 系列函数,把数据以“变量-数值”对的形式,保存到 wp_options 表中。
    这种方法适合保存一些字典类型的数据,比如插件的配置信息等。

    2. 创建用户自己的表,或操作系统的表。

(more...)

Wordpress 主题安装失败怎么办?

星期三, 04月 7th, 2010

    Wordpress 主题安装失败,可能会因为 WP 代码错误或兼容性问题,导致 WP 崩溃,不能启动。

    这时可以(或只能)通过操作数据库的 wp_options 表来解决问题。就是在表中把当前主题重置为 WP 正确的主题,一般可以为 classic。具体操作是:在 wp_options 表中,找到 option_name 之为 template 和 stylesheet 的记录,可以看到当前导致 WP 崩溃的 option_value 的值。把 option_value 值都换为“classic”即可。这时 WP 就可以正常启动了,重新配置即可。

在 Wordpress 插件中使用 Javascript 脚本

星期三, 04月 7th, 2010

    有了前面的一篇文章《在 Wordpress 插件中使用样式表》,则本节《在 WP 插件中使用 Javascript》就好描述,也容易理解的多了。

    1,插件的文件夹结构与前文相同。插件完成的功能前文已经述及,本节将加一个功能,当在文字上点击时,弹出一个窗口。本节示例也在前文示例的基础上开发。

    本节的 JS 脚本放置在 js 文件夹下,文件名 script.js,内容如下:

    jQuery(document).ready(function(){
    //---------------
      jQuery("#myalert").click(function()
      {
        alert("Hello, Wordpress and JQuery!");
      });
    //---------------
    });

(more...)

在 Wordpress 插件中使用CSS样式表

星期三, 04月 7th, 2010

    要让插件功能非凡,难免需要 Javascript 和 CSS 的参与。本节将举例在 WP 插件中插入 CSS 代码。下一节将试图添加 JS 脚本。

    1,插件的文件夹结构

    插件主文件可以直接放置在 plugin 文件夹下,也可以建立一个文件夹,放置在该文件夹下。由于插件的相关文件可能较多,所以为了清晰的管理插件,建议把插件文件部署于自己的文件夹下。而且,JS、CSS、图片文件也按文件夹分类放置,通常的文件夹可以取名为 js、css 和 images。

(more...)

Wordpress 插件示例之二-对示例一的重构

星期日, 04月 4th, 2010

    示例一已经完全可以工作了,这个在 WP 2.3.3 和 2.9.1 版本中已经得到证实。

    但示例一有几个缺陷。

    由于 WP 的插件众多,全世界有很多程序员包括我们中国的程序员,都在为它开发插件,这些插件往往被一起安装在一套 WP 系统中协调工作,这未免会产生冲突的情况。

    为了隔离各个插件的代码,我们需要想一些办法。而把插件代码封装在一个类结构中是个行之有效的方法之一。正确应用一些检测函数,可以保证只要插件类名不冲突,类所包含的成员函数就不会与其它插件冲突。这大大增强了插件代码的健壮性。而且插件类名是否冲突也作为代码容错检测的一部分,使系统不至于出现严重的崩溃。

    请参看下面的一个完整的 WP 插件代码,是参考以上考虑,对示例一的代码的完全重构。

(more...)