piotrpress/wordpress-plugin

此库是 WordPress 插件单例基类,具有从插件头字段获取数据的方法。

v3.0.0 2024-09-15 21:59 UTC

This package is auto-updated.

Last update: 2024-09-15 22:00:15 UTC


README

此库是 WordPress 插件单例基类,具有从 插件头字段 获取数据的方法。

安装

composer require piotrpress/wordpress-plugin

使用方法

/**
 * Plugin Name:       Example Plugin
 * Plugin URI:        https://example.com/plugin/
 * Description:       Example Plugin description.
 * Version:           1.0.0
 * Requires at least: 6.2.2
 * Requires PHP:      7.4
 * Author:            John Smith
 * Author URI:        https://example.com/plugin/author/
 * License:           GPL v3 or later
 * License URI:       https://gnu.ac.cn/licenses/gpl-3.0.txt
 * Update URI:        https://example.com/plugin/update/
 * Text Domain:       example-plugin
 * Domain Path:       /languages
 */

require __DIR__ . '/vendor/autoload.php';

use PiotrPress\WordPress\Plugin;

class Example extends Plugin {
    public function activation() : void {}
    public function deactivation() : void {}
}

Example::getInstance( __FILE__ );

echo Example::getName();

注意:插件的翻译将根据插件的头字段中的 Text DomainDomain Path 自动加载。

方法

基本静态方法处理插件的默认头字段

  • getName() - 返回从 Plugin Name 头字段获取的插件名称的 string
  • getPluginURI() - 返回插件主页的 string 或如果未设置 Plugin URI 头字段,则返回空 string
  • getVersion() - 返回插件的当前版本号的 string 或如果未设置 Version 头字段,则返回空 string
  • getDescription() - 返回插件的简短描述的 string 或如果未设置 Description 头字段,则返回空 string
  • getAuthor() - 返回插件作者的 string 名称或如果未设置 Author 头字段,则返回空 string
  • getAuthorURI() - 返回插件作者的网站 string 或如果未设置 Author URI 头字段,则返回空 string
  • getTextDomain() - 返回插件的 gettext 文本域的 string 或如果未设置 Text Domain 头字段,则返回插件目录名
  • getDomainPath() - 返回翻译目录的路径的 string 或如果未设置 Domain Path 头字段,则返回空 string
  • getNetwork() - 返回一个 bool,表示插件是否只能在网络范围内激活,根据 Network 头字段
  • getRequiresWP() - 返回插件将运行的最低 WordPress 版本的 string 或如果未设置 Requires at least 头字段,则返回空 string
  • getRequiresPHP() - 返回所需的最低 PHP 版本的 string 或如果未设置 Requires PHP 头字段,则返回空 string
  • getUpdateURI() - 返回第三方插件更新服务器的 string 或如果未设置 Update URI 头字段,则返回空 string
  • RequiresPlugins() - 返回其依赖项的 WordPress.org 格式化 slugs 的逗号分隔列表的 string 或如果未设置 Requires Plugins 头字段,则返回空 string

处理插件路径的附加静态方法

  • getSlug() - 返回插件的清洁名称的 string
  • getPrefix() - 返回插件钩子的前缀的 string
  • getFile() - 返回主插件文件的路径的 string
  • getDir() - 返回插件目录的路径的 string
  • getUrl() - 返回插件目录的 URL 的 string
  • getBaseName() - 返回插件的基准名称的 string
  • getDirName() - 返回插件目录名称的 string

继承的单例静态方法

  • getInstance() - 返回插件类的实例

处理插件启用/禁用的抽象方法

  • activation() - 在插件激活时执行
  • deactivation() - 在插件停用时执行

处理自定义插件的头部字段

  1. 使用 extra_plugin_headers 过滤器添加WordPress对额外插件头部字段的支持
add_filter( 'extra_plugin_headers', function () {
    return [ 'License', 'License URI' ];
} );
  1. 添加处理额外插件头部字段的方法
class Example extends Plugin {
    public static function getLicenseURI() {
        return self::get( 'License URI' );
    }
}

注意: 前缀为 get 的方法会自动为符合有效函数名规则的插件头部字段创建。例如,getLicense() 方法。

要求

PHP >= 7.4 版本。

许可证

GPL 3.0