Wordpress Plugin Handbook 插件用户手册中文文档
Wordpress Plugin Handbook 插件用户手册
插件手册
欢迎来到 WordPress 插件开发者手册; 您准备好进入 WordPress 插件的世界了吗? 插件开发者手册是有关 WordPress 插件所有内容的资源。 无论您是 WordPre...
插件开发简介
欢迎来到插件开发者手册。 无论您正在编写第一个插件还是第五十个插件,我们希望此资源可以帮助您编写最好的插件。 插件开发人员手册涵盖了各种主题 - 从插件标头中应包含的内容到安全最佳实践,再...
插件基础知识
插件基础知识
入门 最简单的来说,WordPress 插件是一个带有 WordPress 插件标头注释的 PHP 文件。强烈建议您创建一个目录来保存您的插件,以便将所有插件的文件整齐地组织在一个位置。 要...
标题要求
如入门中所述,主 PHP 文件应包含标头注释,告诉 WordPress 该文件是一个插件并提供有关该插件的信息。 最小字段 标头注释至少必须包含插件名称: /* * Plugin Na...
包括软件许可证
大多数 WordPress 插件都是在GPL下发布的,这与WordPress 本身使用的许可证相同 。但是,还有其他兼容选项可用。最好清楚地表明您的插件使用的许可证。 在“标头要求”部分中,我...
激活/停用挂钩
激活和停用挂钩提供了在激活或停用插件时执行操作的方法。 激活时,插件可以运行例程来添加重写规则、添加自定义数据库表或设置默认选项值。 在停用时,插件可以运行例程来删除临时数据,例如缓存和临时...
卸载方法
从站点卸载时,您的插件可能需要进行一些清理。 如果用户停用插件,然后单击 WordPress 管理员中的删除链接,则该插件将被视为已卸载。 卸载插件后,您需要清除特定于插件的所有插件选项和/...
最佳实践
以下是一些帮助组织代码的最佳实践,使其能够与 WordPress 核心和其他 WordPress 插件一起良好运行。 避免命名冲突 当您的插件对变量、函数或类使用与另一个插件相同的名称时,就...
单文件包含函数
<?php /** * Move Floating Social Bar in Genesis * * @package Move_Floating_Social_Bar_In...
单个插件文件,包含类、实例化对象和可选函数
<?php /* Plugin Name: WP Comment Notes Plugin URI: http://andrewnorcross.com/plugins/ Descrip...
主插件文件,然后是一个或多个类文件
下载网址:https://github.com/DevinVinson/WordPress-Plugin-Boilerplate 可以通过下列网址自动生成结构:https://wppb.me/...
确定插件和内容目录
在编写 WordPress 插件时,您经常需要在整个 WordPress 安装过程中以及插件或主题中引用各种文件和文件夹。 WordPress 提供了多种函数来轻松确定给定文件或目录所在的位置...
插件安全
清理数据
不受信任的数据来自许多来源(用户、第三方网站,甚至您自己的数据库!),所有这些数据在使用之前都需要进行检查。 请记住:即使管理员也是用户,用户也会有意或无意地输入错误的数据。你的工作就是保护他...
验证数据
不受信任的数据来自许多来源(用户、第三方网站,甚至您自己的数据库!),所有这些数据在使用之前都需要进行检查。 请记住:即使管理员也是用户,用户也会有意或无意地输入错误的数据。你的工作就是保护他...
转义数据
转义 输出是通过删除不需要的数据(例如格式错误的 HTML 或脚本标记)来保护输出数据的过程。此过程有助于在向最终用户呈现数据之前保护您的数据。 大多数 WordPress 函数都会正确准备...
随机数
随机数是“使用一次的数字”,有助于保护 URL 和表单免遭某些类型的滥用、恶意或其他形式的滥用。 从技术上讲,WordPress 随机数并不是严格意义上的数字;而是数字。它们是由数字和字母组成...
用户角色和能力
用户角色和能力 如果您的插件允许用户提交数据(无论是在管理员端还是公共端),它应该检查用户功能。 用户角色和能力 创建高效安全层的最重要步骤是建立用户权限系统。WordPress 以用户角...
常见漏洞
常见漏洞 安全是一个不断变化的环境,漏洞会随着时间的推移而演变。以下讨论了您应该防范的常见漏洞,以及保护您的主题免遭利用的技术。 漏洞类型 SQL注入 当输入的值未正确清理时,就会发生 ...
例子
例子 使用功能检查、数据验证、安全输入、安全输出和随机数的完整示例: /** * Generate a Delete link based on the homepage url. ...
挂钩
挂钩
挂钩是一段代码在特定的预定义位置交互/修改另一段代码的方式。它们构成了插件和主题如何与 WordPress Core 交互的基础,但 Core 本身也广泛使用它们。 有两种类型的钩子:Acti...
行动Actions
操作是两种类型的Hook之一。它们提供了一种在 WordPress 核心、插件和主题执行的特定点运行函数的方法。Action 的回调函数不会将任何内容返回到调用 Action 挂钩。它们与Fil...
过滤器filters
过滤器 过滤器是两种类型的Hook之一。 它们为函数提供了一种在 WordPress 核心、插件和主题执行期间修改数据的方法。它们与Actions相对应。 与Actions不同,过滤器旨在...
定制挂钩
一个重要但经常被忽视的做法是在插件中使用自定义挂钩,以便其他开发人员可以扩展和修改它。 自定义挂钩的创建和调用方式与 WordPress 核心挂钩相同。 创建一个钩子 要创建自定义挂钩,请...
高级主题
删除操作和过滤器 有时您想从另一个插件、主题甚至 WordPress Core 已注册的挂钩中删除回调函数。 要从挂钩中删除回调函数,您需要调用remove_action()或 remove...
隐私
隐私
您是否正在编写一个处理个人数据(例如姓名、地址和其他可用于识别个人身份的信息)的插件?您需要妥善保管这些数据并保护用户和访问者的隐私。 什么是隐私? WordPress.org 在欧洲通用数...
建议网站隐私政策的文本
每个收集、使用或存储用户数据,或将其传递给外部来源或第三方的插件,都应将一段建议文本添加到隐私政策邮箱中。这最好用 来完成 wp_add_privacy_policy_content( $plu...
个人数据导出
将个人数据导出器添加到您的插件中 在 WordPress 4.9.6 中,添加了新工具,以便更轻松地遵守欧盟《通用数据保护条例》(简称 GDPR)等法律。添加的工具之一是个人数据导出工具,它支...
个人数据删除
将个人数据擦除器添加到您的插件中 在 WordPress 4.9.6 中,添加了新工具,以便更轻松地遵守欧盟《通用数据保护条例》(简称 GDPR)等法律。添加的工具之一是个人数据删除工具,它支...
高级主题
隐私相关选项、挂钩和功能 隐私工具最初是在 WordPress 4.9.6 中引入的。这些工具旨在允许(并鼓励)开发人员将它们用作隐私导出器、隐私擦除器和隐私政策指南的一部分。 从那时起,引...
管理菜单
简码
简码
作为安全预防措施,禁止在 WordPress 内容中运行 PHP;为了允许与内容进行动态交互,WordPress 2.5 版本中引入了简码。 短代码是可用于与内容执行动态交互的宏。即从帖子中附...
基本简码
添加简码 可以使用短代码 API 添加您自己的短代码。该过程涉及使用注册$func对短代码的回调。$tagadd_shortcode() add_shortcode( stri...
附上简码
使用短代码有两种场景: 短代码是一个自闭合标签,就像我们在基本短代码部分中看到的那样。 短代码包含内容。 附上内容 使用短代码封装内容允许对封装的内容进行操作。 [wporg]co...
带参数的简码
现在我们知道如何创建基本的短代码以及如何将其用作自闭合和封闭,我们将了解在短代码[$tag]和处理函数中使用参数。 短代码[$tag]可以接受参数,称为属性: [wporg title=...
TinyMCE 增强短代码
可以在 TinyMCE 的可视化编辑器中解析短代码并使它们呈现实际内容,而不是短代码本身。 切换到该Text选项卡可以让您再次看到实际的短代码。 以下是使用此功能的内置 WordPress ...
设置
设置
WordPress 提供了两个核心 API,使管理界面易于构建、安全并与 WordPress 管理的设计保持一致。 设置API专注于为开发人员提供一种创建表单和管理表单数据的方法。 Opti...
设置接口
WordPress 2.7 中添加的设置 API 允许半自动管理包含设置表单的管理页面。它允许您定义设置页面、这些页面中的部分以及这些部分中的字段。 新的设置页面可以连同其中的部分和字段一起注...
使用设置 API
添加设置 您必须使用register_setting()定义新设置,它将在{$wpdb->prefix}_options表中创建一个条目。 您可以使用add_settings_section...
选项 API
WordPress 1.0 中添加的选项 API 允许创建、读取、更新和删除 WordPress 选项。与设置 API结合使用,它可以控制设置页面中定义的选项。 选项存储在哪里? 选项存储在...
自定义设置页面
创建自定义设置页面包括以下组合:创建管理菜单、使用设置 API和选项 API。 警报:在尝试创建您自己的设置页面之前,请阅读这些章节。 通过遵循注释,可以使用下面的示例来快速参考这些主题。 ...
Metadata元数据
meta数据
meta数据是关于信息的信息。对于 WordPress,它是与帖子、用户、评论和术语相关的信息。 鉴于 WordPress 中元数据的多对一关系,您的选择相当无限。您可以拥有任意数量的元选项,...
管理帖子meta数据
添加元数据 使用add_post_meta()可以非常轻松地添加元数据。该函数接受 a post_id、 a meta_key、 ameta_value和一个unique标志。 这meta_...
自定义meta元数据框
什么是元框? 当用户编辑帖子时,编辑屏幕由几个默认框组成:编辑器、发布、类别、标签等。这些框是元框。插件可以将自定义元框添加到任何帖子类型的编辑屏幕。 自定义元框的内容通常是 HTML 表单...
渲染后meta data元数据
以下是用于获取和呈现帖子元数据的函数和模板标签的非详尽列表: the_meta() – 自动列出帖子的所有自定义字段的模板标签 get_post_custom() 和get_post_met...
自定义帖子类型
自定义帖子类型
WordPress 将帖子类型存储在表中,posts允许开发人员注册自定义帖子类型以及已有的帖子类型。 本章将向您展示如何注册自定义帖子类型、如何从数据库检索其内容以及如何将它们呈现给公众。
注册自定义帖子类型
WordPress 附带五种默认帖子类型:post、page、attachment、revision和menu。 在开发插件时,您可能需要创建自己的特定内容类型:例如,电子商务网站的产品、电子...
使用自定义帖子类型
自定义帖子类型模板 您可以为自定义帖子类型创建自定义模板。single.php以与使用和显示帖子及其档案相同的方式archive.php,您可以创建模板: single-{post_type...
taxonomy分类法
分类法
分类法是一个奇特的词,用于对事物进行分类/分组。分类法可以是分层的(父级/子级)或扁平的。 WordPress 将分类法存储在term_taxonomy数据库表中,允许开发人员沿着已有的分类法...
使用自定义分类法
分类法简介 要了解分类法是什么及其用途,请阅读分类法简介。 自定义分类法 随着分类系统的发展,“类别”和“标签”并不是非常结构化,因此开发人员创建自己的类别可能会有好处。 WordPre...
术语分割 (WordPress 4.2)
此信息出于历史目的而放在这里。如果您对 2015 年之前的术语如何运作不感兴趣,您可以跳过本节。 WordPress 4.2 之前的版本 具有相同 slug 的不同分类法中的术语共享一个术语...
用户
用户
用户是在 WordPress安装中具有相应功能的访问帐户。每个 WordPress 用户至少都有一个用户名、密码和电子邮件地址。 创建用户帐户后,该用户可以使用 WordPress 管理员(或...
与用户合作
添加用户 要添加用户,您可以使用wp_create_user()或wp_insert_user()。 wp_create_user()仅使用用户名、密码和电子邮件参数创建用户,同时wp_in...
使用用户元数据
介绍 WordPress 的users表被设计为仅包含有关用户的基本信息。 笔记:从 WP 4.7 开始,该表包含:ID、user_login、user_pass、user_nicename...
角色和能力
角色和功能是 WordPress 的两个重要方面,可让您控制用户权限。 WordPress 将角色及其功能存储在键options下的表中user_roles。 角色 角色定义了用户的一组能...
HTTP API
介绍 HTTP 代表超文本传输协议,是整个互联网的基础通信协议。即使这是您第一次使用 HTTP,您的理解可能比您意识到的要多。在最基本的层面上,HTTP 的工作原理如下: “服务器 XY...
JavaScript、Ajax 和 jQuery
JavaScript
JavaScript 是许多 WordPress 插件中的重要组件。WordPress 附带了与 core 捆绑在一起的各种 JavaScript 库。WordPress 中最常用的库之一是 j...
jQuery
使用 jQuery 收到您的 WordPress 网页后,您的 jQuery 脚本将在用户的浏览器上运行。基本的 jQuery 语句有两部分:一个选择器,用于确定代码应用到哪些 HTML 元素...
AJAX
什么是 AJAX? AJAX是异步 JavaScript 和 XML 的缩写。XML是一种数据交换格式,UX 是软件开发人员用户体验的简写。Ajax 是一种 Internet 通信技术,它允许...
服务器端 PHP 和排队
实现 AJAX 通信需要服务器端 PHP 脚本的两个部分。首先,我们需要将 jQuery 脚本排入网页并本地化 jQuery 脚本所需的任何 PHP 值。其次是 AJAX 请求的实际处理。 入...
心跳API
Heartbeat API 是 WordPress 内置的一个简单的服务器轮询 API,允许近乎实时的前端更新。 怎么运行的 页面加载时,客户端心跳代码会设置一个间隔(称为“tick”),每...
概括
以下是前面讨论中的所有示例代码片段,它们被组装成两个完整的代码页:一个用于 jQuery,另一个用于 PHP。 PHP 此代码位于您的插件页面之一。 add_action( 'admi...
Cron计划任务
Cron
什么是 WP-Cron WP-Cron 是 WordPress 处理调度基于时间的任务的方式。WordPress 的一些核心功能(例如检查更新和发布预定帖子)都利用了 WP-Cron。名称中的...
了解 WP-Cron 调度
与在特定时间安排任务的传统系统 cron 不同(例如“每小时的整点后 5 分钟”),WP-Cron 使用间隔来模拟系统 cron。 WP-Cron 有两个参数:第一个任务的时间,以及重复该任务...
调度 WP Cron 事件
WP Cron 系统使用钩子来添加新的计划任务。 添加钩子 为了让您的任务运行,您必须创建自己的自定义挂钩,并为该挂钩指定要执行的函数的名称。这是非常重要的一步。忘记它,你的任务将永远不会运...
将 WP-Cron 挂接到系统任务计划程序中
如前所述,WP-Cron 不会连续运行,如果有必须按时运行的关键任务,这可能会成为一个问题。有一个简单的解决方案。只需将系统的任务调度程序设置为按您希望的时间间隔(或在需要的特定时间)运行即可。...
WP-Cron 测试
WP-CLI 可以使用WP-CLI测试 Cron 作业。wp cron event list它提供了和等命令wp cron event run {job name}。查看文档以获取更多详细信息...
国际化
国际化
什么是国际化? 国际化是开发插件的过程,以便可以轻松地将其翻译成其他语言。国际化常缩写为i18n(因为字母i和n之间有18个字母)。 为什么国际化很重要? WordPress 在世界各地使...
本土化
什么是本地化? 本地化描述了翻译国际化插件的后续过程。Localization 通常缩写为l10n(因为 l 和 n 之间有 10 个字母。) 本地化文件 (便携式对象模板)文件 该文件...
如何国际化你的插件
为了使字符串在应用程序中可翻译,您必须将原始字符串包装在对一组特殊函数之一的调用中。这些函数统称为“gettext”。 Gettext简介 WordPress 使用i18n 的gettext...
国际化安全
在谈论国际化时,安全性常常被忽视,但有一些重要的事情需要牢记。 检查垃圾邮件和其他恶意字符串 当翻译人员向您提交本地化版本时,请务必检查以确保他们的翻译中不包含垃圾邮件或其他恶意词语。您可以...
WordPress.org 插件目录
WordPress.org 插件目录
WordPress.org 为任何希望在我们的目录中开发插件的人提供免费托管。 此处托管的所有插件都可以访问: 监控统计信息(另请参阅 WordPress.org 插件 API) 接收用户...
详细的插件指南
最后更新时间:2022 年 12 月 21 日 笔记:添加仅阻止插件?请阅读区块特定指南 插件目录 WordPress 插件目录的目标是为所有 WordPress 用户(从非技术人员到开发...
规划、提交和维护插件
您已经编写了下一个Hello Dolly,并且希望全世界都使用它。你该怎么办? 1. 测试一次并再次测试 运气好的话,您的插件将被许多人在许多不同的情况和托管环境中使用。您需要确保已经测试了...
使用 Subversion
SVN,即 Subversion,是一个类似于 Git 的版本控制系统。它可以通过命令行或众多 GUI 应用程序之一使用,例如Tortoise SVN、SmartSVN等。如果您是 SVN 新手...
警报和警告
当您访问 WordPress.org 上的插件页面时,您可能会注意到特殊警报或警告。这些的存在是为了帮助访问者了解各种插件的状态。 已批准和待处理的数据 已获得批准但尚未上传代码的插...
管理插件的安全性
WordPress 插件中代码的安全性受到非常重视。 警告:如果您发现存在安全问题的插件,请阅读报告插件安全问题 当 WordPress 安全团队验证插件漏洞时,他们会联系插件作者并指导他们...
插件开发者常见问题解答
托管 WordPress 插件有很多细节。在寻求帮助之前,请花一点时间查看您的问题是否在这里得到解答。 最后更新日期:2023 年 7 月 10 日 插件审核团队 如何联系插件审核团队? ...
开发者工具
开发者工具
有多种工具可用于帮助插件开发。其中一些在您的开发环境中运行(xdebug、PHPCS等),但也有一些优秀的工具可以直接在 WordPress 中运行,以帮助您正确构建内容并诊断问题。本章讨论浏览...
调试栏和附加组件
调试栏是一个插件,它将调试菜单添加到管理栏,显示查询、缓存和其他有用的调试信息。 调试栏 这是主插件,添加了由本页列出的其余插件扩展的基本功能。 当启用 WP_DEBUG 时,它还会跟踪 ...
辅助插件
查询监控器 Query Monitor 是一个调试插件,适合使用 WordPress 进行开发的任何人。您可以查看有关数据库查询、挂钩、条件、HTTP 请求、重定向等的调试和性能信息。它具有其...