2019独角兽企业重金招聘Python工程师标准>>>

WordPress 是用 PHP 编写的一个 Web 发布平台,存储部分使用的是 MySQL。它的可扩展性表现在通过构建插件可以添加过滤器和行为。Eclipse PHP Development Tools (PDT) V2.0 项目允许您使用 Eclipse 来构建 PHP 应用程序。by the way,wordpress本身有许多插件和Joomla一样可以安装,这里我说的是通过eclipse pdt自定义PHP插件不是更好。

Do it yourself

前提,需要安装以下工具:

  • PHP V6.0 或更新的版本
  • MySQL V4.0 或更新的版本
  • 带 PDT 的 Eclipse 新版本
  • WordPress 是用 PHP 编写的一个发布平台,借助它,可以快速便捷地向 Web 发布内容。它具有高度的可扩展性,可以在这个平台上创建出具有任意功能的插件。自 2005 年来,有上百万的 WordPress 拷贝被大公司及个人下载并使用。

    WordPress 很容易安装和配置,并且要求很少:只需 PHP 和 MySQL。要安装 WordPress,只需从 Web 站点下载 ZIP 文件(),然后将 ZIP 解压缩到可从 Web 服务器访问到的一个目录下即可。本文中,我们采用的这个 Web 服务器已被配置成允许向该 Web 服务器发布此用户目录(类似 Apache 中的 userdir 模块)。如果愿意,可以重命名这个目录:这里,我将名称从 wordpress 改为了 blog

    在完成解压缩和重命名目录后,请遵照 “Famous 5-Minute Install” 的指导(参见 参考资料)进行操作。如果您的 ISP 支持 WordPress 的需求,那么您就可以在本地开发,然后将整个目录 FTP 到您的站点。

    扩展 WordPress

    很多人都习惯使用 WordPress 撰写博客,但是实际上它可以用来轻松发布任何内容。我接触过很多用 WordPress 作为主要引擎来托管产品信息类站点的网站,这些站点往往还包括有论坛、反馈表及首页上的 Adobe® Flash® 动画。

    针对 WordPress,有很多插件可用(参见 参考资料)。这些插件的范围很广,从添加定制字段来收集更多关于该 WordPress 站点注册用户信息的功能,到标记云(tag clouds)、反垃圾邮件实用程序,再到能生成指向诸如 Facebook、MySpace、del.icio.us 和 Technorati 这类流行站点的 “Share this” 链接的联系插件。

    但即使有了这些插件,还是会出现需要通过扩展 WordPress 来满足具体需要的情况。本文后面的部分将展示如何用 Eclipse 和 PDT 建立一个可以在其中开发并测试 WordPress 插件的开发环境。

  • 具体方法:

  • 建立自已的工作区

    在建立工作区之前,请确认已经安装并运行了 WordPress。此外,还需要对 WordPress 目录有读写的访问权。最好的情况是在您自己的机器上使用在 Web 服务器上已经配置了的用户目录,以便能将文件放入您自己的根目录下。但一个共享的目录也是可以的,只要您可以对它进行读写操作。

  • 在继续进行前,先在 WordPress_home/wp-content/plugins 目录(其中,WordPress_home 是 WordPress 解压缩后所处的那个目录的完整路径)内创建一个目录 — 例如, WordPress home/wp-content/plugins/myplugin。之后,新 WordPress 插件都将被存放在这个目录之下。

    如果已经安装并运行了 WordPress,并且可以对刚刚为插件创建的这个目录进行读写,那么就可以着手为 WordPress 插件创建一个新项目了:

    1. 选择 File > Project,然后从 Wizards 列表中选择 PHP Project

    创建新的PHP项目,图:

    1. 单击 Next
    2. 在 New PHP Project 窗口中,在 Project name 框中键入插件的名称。
    3. 在 Contents 下,选择 Create project from existing source。接下来浏览或在 Directory 框中键入刚刚创建的目录的名称(例如,我的目录是 /Users/ngood/Sites/blog/wp-content/plugins/myplugin),
      图 2. 定义项目的位置

    five,输入目录信息后,单击 Finish,其他信息均保留默认值。

    创建项目后,WordPress_home/wp-content/plugins/myplugin 目录的目录列表应类似清单 1。

    清单 1. 新 myplugin 目录的内容
    drwxr-xr-x  7 user  user    238 Feb  3 11:02 .
    drwxr-xr-x@ 5 user  user    170 Feb  3 08:39 ..
    -rw-r--r--  1 user  user    259 Feb  3 11:10 .buildpath
    -rw-r--r--  1 user  user  30244 Feb  3 11:02 .pmd
    -rw-r--r--  1 user  user    496 Feb  3 08:39 .project
    drwxr-xr-x  3 user  user    102 Feb  3 08:39 .settings
    -rw-r--r--  1 user  user    795 Feb  3 11:13 myplugin.php

    在一个团队环境中工作

    假如您正在一个团队环境中工作并在共享您的代码,那么 Eclipse 工具会负责将文件从正确的目录登记到源代码控制存储库内。然而,请留意文件在其中被从团队共享环境导入到您的工作区的这个目录。当从一个源代码控制存储库导出文件并导入到您的工作区时,您可以定义这些文件的存储位置(参见图 3)。要获得更多关于 Eclipse 与源代码存储库如何联合使用的信息,请参见 参考资料。

    图 3. 显示在 WordPress 管理员面板内的插件
  • 向构建路径中添加 WordPress

    PDT 项目提供了向构建路径添加文件夹的功能,它同时也使代码完成工具能够用于 WordPress。为了查看在代码完成工具中的 add_filter 与add_action 函数,可以修改构建路径以添加 WordPress wp-includes 目录。

    要想将 WordPress wp-includes 目录添加到构建路径,在 PHP 项目被突出显示的同时选择 Project > Properties 。在 Libraries 选项卡上,单击 Add External Source Folder,然后浏览到在安装 WordPress 的位置中找到的这个 wp-includes 目录。完成后,单击 OK。现在,可以在 PHP 编辑器中键入 add_ 并调用代码完成功能,之后将看到一个包括 add_action 与 add_filter 的列表。

    添加第一个插件文件

    要添加第一个插件文件,可以选择 File > New > PHP File。第一个文件的名称要与此文件所在目录的名称一样。例如,如果插件目录的名称是myplugin,那么此文件就应该命名为 myplugin.php。WordPress 会读取该文件以获得插件信息并注册扩展点。

    为了使 WordPress 能够识别插件,需要向新的插件文件中粘贴一个注释块。如果创建的 WordPress 插件很多,不妨考虑把这个代码块放入 PHP 的代码模板中。清单 2 就是一个完成了的代码块。

    清单 2. 能识别插件的注释块
    /*
    Plugin Name: My Plugin
    Plugin URI: http://www.example.com/myplugin
    Description: This is a really great plugin that extends WordPress.
    Version: 1.0.0
    Author: Nathan A. Good
    Author URI: http://www.nathanagood.com
    */

    此时,该插件不做任何事情。它将被显示在 WordPress 的插件管理区内,不过只有这个注释块。要查看这个新插件,请用管理员身份登录到 WordPress 实例,然后单击 Plugins。应该会看到这个新插件被列在 Inactive Plugins 的下面。

    图 4. 在从源代码控制存储库导入时定义源位置

    添加功能性

    本文中,我将添加两种功能。第一个功能很简单,就是让博客条目标题全部大写。这是一个添加过滤器 的示例。第二个功能是在用户注册表的末尾添加一个额外字段。这是一个添加动作 的示例。

    下面我要用函数性代码编写这两个示例以使其尽可能地简单。记住:若使用的是 PHP V5 或更新的版本,就可以融入面向对象的概念以使代码更易于读懂和维护。有关如何用面向对象编程的概念和设计模式编写更易于维护的 PHP 的详细信息,请参见 参考资料。

    大写的标题

    清单 3 所示的是标题过滤器的代码。其中,使用了 PHP 中的 strtoupper() 函数以使此博客的标题变为大写。

    清单 3. 使标题变成大写的函数
    /*** Capitalizes the title given by $title.*/
    function capitalizeTitle($title) {return strtoupper($title);
    }

    写完这个函数后,需要调用 add_filter 以在 WordPress 中将此函数注册为特定的过滤器扩展点。参考资料 中提供了所有可用过滤器的清单的一个链接。下面是一个添加过滤器的示例。

    清单 4. 用 add_filter 添加过滤器
    /* now add the filter */
    add_filter('the_title', 'capitalizeTitle');

    添加注册字段

    清单 5 所示的代码可以生成一个新的定制注册字段。我用这个 Firebug 扩展来查看现有注册表单字段的 CSS(Cascading Style Sheet)样式,以确保我的定制字段具有相同的 CSS 样式类。

    清单 5. 新的定制字段动作
    /*** Adds a custom field that prompts the user for their favorite* color.* @return void*/
    function drawCustomField() {echo '<p><label>Favorite Color:<br />';echo '<input autocomplete="off" class="input" name="fav_color" ';echo ' id="fav_color" size="25"';echo ' value="' . $_POST['fav_color'] . '" type="text" tabindex="32" />';echo '</label><br /></p>';
    }

    要添加这个定制动作,可以使用如下代码。

    清单 6. 用 add_action 添加动作
    /* now add the action */
    add_action('register_form', 'drawCustomField');

    这个动作只在表单上绘出此字段。当用户提交此表单时,它并不实际保存数据。要想保存数据,需要使用 profile_update 动作。有关所有可用操作的详细列表及各自的功能,请参看 参考资料。

    测试插件

    在项目内放入代码后,就可以开始测试插件了。在测试前,需要在 WordPress 内启用插件。以管理员身份登录到 WordPress,然后单击Plugins。找到插件,然后单击 Activate

    激活插件后,进入博客的首页。应该可以看到 “Hello World!” 示例标题现在全部都是大写字母了。如果禁用该插件,那么它将还原回普通的大小写的情况。利用这个功能还可以做一些其他的事情,比如将标题中的 URL 转为超链接。此外,也可以添加具有同样名称的多个过滤器,所以与其创建一个功能全面的过滤器,不如考虑创建多个小的、功能集中的功能块并将它们连接在一起。

    要测试插件的注册字段部分,必须以管理用户身份登录到 WordPress 并启用允许用户在 Settings 页面注册的特性。启用这个选项后,在进入到这个注册页面时,就会看到 Favorite Color 字段。

    WordPress 的其他扩展点

    除了添加过滤器和动作外,还可以覆盖 WordPress 内的函数。覆盖的函数均在 WordPress 主目录中的 pluggable.php 文件内定义。wp_mail 是其中的一个例子,可用来为用户发送电子邮件。很多可覆盖的函数都会处理用户授权,比如登录、设置 cookie 以及发送不同事件的通知。通过覆盖基于授权的函数,就可以构建一些插件,而这些插件能为 WordPress 提供另一种身份验证和授权方式,比如针对一个企业用户组织的身份验证。

    导出插件

    在编写和仔细测试了插件之后,有可能还会想要与他人共享。大多数 WordPress 插件与 WordPress 本身一样,都只打包成一个 ZIP 文件,这个文件可被扩展和复制到 WordPress 插件目录。

    可以用 Eclipse 导出这些插件文件。通过 Eclipse 将项目导出到一个 ZIP 归档文件,就可以避免同时发送特定于项目的文件和团队共享目录及文件(比如 .svn 或 Concurrent Version Systems(CVS)目录)。

    要将插件导出到一个归档文件,可以先选中 PHP 项目,然后选择 File > Export。在 Select 窗口,从目标列表中选择 Archive File,然后单击Next

    图 下. 导出 WordPress 插件
  • 在图 中 所示的 Archive file 窗口中,单击 Deselect All,然后单击想要包括到归档文件(比如 myplugin.php)的那些 PHP 文件。在选择了这些 PHP 文件后,可以从 To archive file 选择此归档文件的位置,然后单击 Finish 创建此文件。为了保持一致性,最好是让此 ZIP 文件的名称与此插件目录以及主要插件文件的名称相同。

    图 下. 选择要导出的文件
  • 从 Eclipse 创建了归档文件后,就可将其发布到一个 Web 服务器上或是将其复制到您的 ISP 处以便您可以使用它。

  • WordPress 是越来越流行的一个可扩展 Web 应用程序,一点不亚于Joomla,让您能够轻松地将内容发布给用户。您无需修改任何 WordPress 代码就可以扩展 WordPress,从而提供更多的功能。

    借助安装了 PDT 的 Eclipse IDE,可以使用 PHP 工具构建一个插件。您还可以用 WordPress 测试和运行您的插件,直到它全部完成。之后,您可以使用 Eclipse 的导出功能来将此插件导出到一个适合于分发的归档文件。

  • 几乎所有的CMS内容管理系统都可以使用eclipse来扩展插件

  • end。

转载于:https://my.oschina.net/bigfool007139/blog/550410

细谈eclipse PDT开发WordPress插件相关推荐

  1. 【Eclipse提高开发速度-插件篇】安装VJET插件,JS等提示开发插件

    1.安装Apache Batik CSS 一般安装VJET插件会出现 Cannot complete the install because one or more required items co ...

  2. eclipse php 断点,浅谈Eclipse PDT调试PHP程序

    1. 下载eclipse,从官网上找就可以了,并确认当前系统中有java环境,即jdk和jre. 2. 安装pdt了,采用的是在线安装,更新地址在默认中已经包含了.只是更新起来比较麻烦.(如果直接下载 ...

  3. 浅谈C/C++ 开发Excel插件之操作excel

    想在加载项中访问并操作Excel,需要在stdafx.h中加入如下语句,注意实际路径和本机安装Office的路径相关 #import "C:\\Program Files (x86)\\Co ...

  4. wordpress漏洞_多个WordPress插件SQL注入漏洞分析

    背景 SQL注入漏洞是用来构建SQL查询的用户输入未经适当处理导致的漏洞.比如: 图1: 使用WordPress的SQL查询示例 从上面的代码来看,其中存在SQL注入攻击漏洞,因为从$_GET中提取的 ...

  5. wordpress插件_WordPress插件样板第3部分:最后一步

    wordpress插件 In the second part of this series, we prepared simple admin facing functionality for our ...

  6. 使用Eclipse PDT + Xampp搭建Php开发环境

    最新文章:Virson's Blog Eclipse版本:Eclipse Luna Service Release 2 (4.4.2) Xampp版本:XAMPP for Windows 5.6.8 ...

  7. eclipse 3.4 (ganymede) 开发调试php全攻略,设置Eclipse PDT 2.0在Eclipse 3.4(Ganymede)

    在Eclipse 3.4(Ganymede)上设置Eclipse PDT 2.0 这是一个关于使用Eclipse手工设置专业 PHP IDE的方法. 我将使用Eclipse PDT来支持PHP. PD ...

  8. 在MAC上搭建eclipse+android开发环境以及eclipse的svn插件的安装

    一.Eclipse的下载 到网站:http://www.eclipse.org/downloads/上,由于我们是用Java开发的所以步骤如下: 1. 找到"Eclipse IDE for ...

  9. 使用 WordPress 插件模板开发高质量插件

    WordPress 插件样板是标准化的,有组织的,面向对象的基础,用于构建高品质的 WordPress 插件.样板遵循编码标准和文件标准,所以你不必自己学习这些,根据注释编写代码即可. 官方网站    ...

  10. linux下eclipse+pdt(PHP集成开发环境安装)

    1.安装jre 因为eclipse时用java开发的,但时在ubuntu10.04下默认的软件仓库里面没有sun-java6-jre这个包了,通过以下两个命令加入: add-apt-repositor ...

最新文章

  1. java随机数语句_Java语言程序设计(七)Math类生成随机数及if语句
  2. c# datatable.select() 支持group by
  3. 超全整理 | 嵌入式Linux 性能工具和诊断思路
  4. 循环序列模型 —— 1.11 双向神经网络
  5. Missing artifact XXXXX:jar:1.9.1 解决错误问题
  6. OC----预处理器
  7. KinectFusion: Real-Time Dense Surface Mapping and Tracking
  8. Mahony 互补滤波算法
  9. 漫威超级英雄大全(二)
  10. 微信小程序设置字体无效_UI设计微信小程序用了苹方字体,前端却说做不了怎么办?...
  11. 【LeetCode】重复的子字符串
  12. Window10 ie自带浏览器下载乱码
  13. RRD_rrdtool的介绍和使用
  14. AI 图像识别的测试
  15. 公司注册地址可以随便写吗,如何注册企业工商营业执照
  16. 博途PLC 1200/1500PLC 工艺对象PID PID_Compact详细解读
  17. 【Unity】用Text+Image实现神奇的文字下划线
  18. 【转】回字有四种写法,那你知道单例有五种写法吗
  19. python3的自学之路--3_python的数据类型
  20. 营销老炮儿征战史:渠道开发

热门文章

  1. js使用html5,JS使用H5实现图片预览功能
  2. 中limit怎末用_Nginx配置——关于limit_conn_zone和limit_conn
  3. 让计算机工作起来教学反思,计算机教学反思
  4. 二位数组的示例 go语言
  5. python-gui-pyqt5的使用方法-3--自定义信号的初识
  6. CASE WHEN 及 SELECT CASE WHEN的用法
  7. win7 mac虚拟机linux,Mac虚拟机parallels desktop超详细安装Win7图文分解
  8. python物性库能调用哪些物质_浅谈湿空气物性计算软件CoolProp的应用
  9. 清理linux清理垃圾文件夹,让Ubuntu系统释放空间最有效的五种方法(清除不需要的或垃圾文件)...
  10. 30岁软件测试转产品_补水抗皱紧致护肤产品盘点 护肤品排行榜前十名适合30-40岁...