wordpress插件开发
本文最后更新于:9 天前
插件路径
在wp-content/plugins下创建一个目录/主文件
文件头
在创建好的test.php下,写入文件头
1 |
|
这部分将让wordpress识别插件,并在后台显示
规范
- 都加入自己的前缀(如
pot_
),防止和现存函数冲突
常用函数
plugin_dir_path(__FILE__)
:返回插件目录(/www/wwwroot/wordpress/wordpress/wp-content/plugins)- 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)
- is_admin(),判断是否在后台
activate/deactivate
activate()函数在一个插件启用的时候触发
1 |
|
deactivate函数在插件被禁用的时候触发(注意禁用!=卸载)
1 |
|
钩子函数
add
1 |
|
参数说明:
- $tag – 你的函数执行时代动作钩子的名称。
- $function – WordPress 要调用的函数名。
- $priority – 一个表示动作调用顺序的整数,默认是10。数字越小,这个函数越早被调用。
- $accepted_args – 动作钩子要传递给你的函数的参数个数。默认只有一个参数。
当调用这个函数之后,会调用到wp自己实现的do_action($tag)钩子,如当调用do_action(‘wp_head’),调用这个钩子的时候就会把数据插入到前台文章的<head>
标签中
1 |
|
除了wp_head,还有一些钩子,如wp_footer
remove
用法同add相同
1 |
|
参数类似于 do_action()。要成功的从一个钩子中删除一个动作, $tag, $function_to_remove, 和 $priority 必须完全的复合 do_action() 中使用的参数。否则动作不会被溢出,同时 remove_action() 返回 flase
has_action
用来判断某个钩子是否包含一些动作
1 |
|
HTTP请求
wp_remote_get()
1 |
|
wp_remote_post()
1 |
|
wp_remote_retrieve_body()
: 用于从响应中提取正文内容wp_remote_retrieve_headers()
: 用于提取响应头wp_remote_retrieve_response_code()
: 获取响应的 HTTP 状态码wp_remote_retrieve_response_message()
: 获取响应的 HTTP 状态信息
wp_remote_request()
更加灵活的方式
1 |
|
WP_Http 类
更加底层
1 |
|
例子:
1 |
|
UA里面会带上自己的url还有版本信息