WordPress 插件1

本地路径


把 PHP 常量 FILE 传递给了 plugin_dir_path() 函数。这会生成指向你的插件目录的完整的本地路径。/public_html/wp-content/plugins/my-custom-plugin/


这段代码会输出下面的结果:/public_html/wp-content/plugins/my-custom-plugin/js/scripts.js

URL路径

  • plugins_url() — 插件目录的 URL (例如:http://example.com/wp-content/plugins)
  • include_url() — includes 目录的 URL (例如:http://example.com/wp-includes)
  • content_url() — content 目录的 URL (例如:http://example.com/wp-content)
  • admin_url() — admin 目录的 URL (例如:http://example.com/wp-admin/)
  • site_url() — 当前网站的 URL (例如:http://example.com)
  • home_url() — 当前网站首页的 URL (例如:http://example.com)
  • site_url() 和 home_url() 很相似,容易混淆。

site_url() 返回的是数据库中 wp_options 表里面的 siteurl 字段值。这是指向 WordPress 核心文件的 URL。如果你的 WordPress 核心文件在你的服务器的子目录中,比如 /wordpress,那么 site_url() 的值就会是 http://example.com/wordpress 。

home_url() 则从 wp_option 表中取得 home 字段的值。这个地址是你希望访问你的 WordPress 网站的 URL 地址。例如,你的 WordPres 核心文件放在 /wordpress 目录下,但是你希望你的 URL是 http://example.com,那么就要把 home 的值设置成 http://example.com。

plugins_url() 这个函数可以确定在插件目录下的任何文件的完全 URL。


参数:

  • $path — (string)(可选) — 相对于 插件 URL 的路径
  • $plugin — (string)(可选) — 要相对的插件文件(如果是自己,就传 FILE )

例如:要在插件中引用一个图片文件,可以这样子:

';?>

第一个参数是要用到的图片文件的相对路径。第二个参数是要取相对路径时的参考文件,本例中直接是 —FILE。上面代码生成下面的 HTML 标签:


activate/deactivate 函数

register_activation_hook()

为插件设置一些默认选项。也可以验证插件和 WordPress 版本的兼容性。
这个插件接收两个参数:


参数:
$file — (string)(必须) — 主插件文件的路径。
$function — (string)(必须) — 当插件启用时要执行的函数。
下面是一个例子:


我们使用 get_bloginfo() 函数来取得当前安装的 WordPress 版本号。接着用 PHP 函数 version_compare() 来验证安装的 WordPress 的版本是否至少为 3.1。如果低于 3.1,就调用 deactivate_plugins() 函数来 禁用插件。

在启用时进行默认设置

另一个常用的启用技术就是在你的插件启用时为它设置默认选项。假设你的插件有许多许多选项,也许有一些选择需要被设置才能保证插件正常工作。你可以再启动时自动设置默认值,而不用让用户跑到设置页面来亲自设置。

 'grid',
 
'food' => 'bazon',
 
'mode' => 'zombie'
 
);
 
update_option( 'boj_myplugin_options', $boj_myplugin_options );
 
}
 
?>
 
}
register_deactivation_hook() 函数

这个函数在插件被禁用时触发。这个函数和前面的启用函数一页同样接收两个参数。


参数:

  • $file — (string)(必须) — 主插件文件的路径。
  • $function — (string)(必须) — 当插件禁用时要执行的函数。
    下面是一个例子:


在禁用插件时执行 boj_myplugin_uninstall() 函数。

卸载的方法

uninstall.php

第一种方法:uninstall.php 文件:


第一件要做的事就是验证确实是 WordPress 在调用 uninstall.php 文件。通过严重 WP_UNINSTALL_PLUGIN 常量是否定义。如果没有,立即退出。这是一个保证只有在删除插件时才能够执行 uninstall.php 文件的安全的方法。

在验证了这是合法的卸载调用以后,就可以从数据库中删除插件的设置项了。插件卸载脚本的目的是要从数据库中删除任何与插件相关的内容。这包括删除所有选项,已经删除所有自定义的表。你不需要操心删除插件的文件或者目录的事情,一旦卸载脚本执行了,WordPress 会自动为你做这些事情。

卸载钩子

卸载钩子

第二种可用的卸载方法叫做卸载钩子。如果你删除一个不存在 uninstall.php 的插件,WordPress 会执行卸载钩子(如果存在的话).


参数:

  • $file — (string)(必须) — 插件主文件的路径
  • $function — (string)(必须) — 在插件卸载后要执行的函数
    下面看卸载函数的例子:

register_uninstall_hook() 必须在启用函数中调用。因此要在使用 register_activation_hook() 函数执行插件启用的函数中包含 uninstall 钩子。接着调用 uninstall 函数。注意:如果插件根目录下包含 uninstall.php 文件,那么删除钩子是不会执行的。

重要:要知道不能使用一个类的方法作为卸载钩子的回调函数。因为卸载钩子会保存一个 $this 的引用到数据库中,它多那个页面的加载来说是唯一的。

如本节中提醒的,使用卸载钩子有许多陷阱。所以最好使用更简洁的 uninstall.php 文件来进行卸载。

插件开发检查列表

在开发 WordPress 插件时,你需要记住许多事情来创建一个合适的插件基础。下面的列表帮助你完成这个过程。跟随这个列表,你就可以确保有一个合适的插件基础了:

1.确定一个具有描述性的唯一的插件名

   1.1名字是否可以描述你的插件的功能
   1.2是否验证了插件名在插件目录中不存在

2.为插件设置一个唯一的前缀

   2.1前缀是否足够特殊来避免冲突

3.建立插件的目录结构

   3.1是否需要 PHP 目录
   3.2是否需要 JavaScript 目录
   3.3是否需要 CSS 目录
   3.4是否需要 images 目录

建立默认的插件文件
建立和插件文件夹名同名的主插件文件
建立 uninstall.php 文件来执行卸载过程
建立插件的头部代码

   设置你希望显示的插件的名字
   添加一个详细的插件目的的描述
   设置正确的版本
   确保设置了插件的 URI 和 作者的 URI 的值
   包括版权信息
   在插件头下面直接包含版权信息

建立插件的启用函数

   你的插件功能的实现是否需要一个特殊的或者更高的 WordPress?
   你的插件是否要在启用时设置默认值?

建立插件的禁用函数

   你的插件是否要在禁用时执行神马东西?

建立插件的卸载脚本

   建立 uninstall.php 文件
   在文件中包含卸载脚本

文件引用

使用合适的目录常量和函数来确定 WordPress 和插件中的路径

你可能感兴趣的:(WordPress 插件1)