WordPress 插件开发


## 07-创建插件要点及单例模式

- 2.1 网关类定义钩子
```php
add_action('plugins_loaded', 'init_your_gateway_class');
```

1. 在 plugins 文件下创建 wcc-alipay 目录

2. 创建 wcc-alipay.php 文件

```php
/**
 * Plugin Name: WooCommerce Alipay Gateway
 * Plugin URI: http://www.xxx.com
 * Description: 支付宝网关
 * Version: 3.2.5
 * Author: Automattic
 * Author URI: http://www.xxx.com
 */

if (! defined('ABSPATH')) {
  exit;
}

// 定义常量
define('WCC_ALIPAY_PLUGIN_PATH', plugin_dir_path(__FILE__));
define('WCC_ALIPAY_PLUGIN_URL', plugin_dir_url(__FILE__));


class WCC_Alipay {

  public function init() {
    // 判断 wcc 是否启用,如果未启用,后续代码不执行
    if ( !in_array('woocommerce/woocommerce.php', get_option('active_plugins'))) {
      return;
    }

    // 定义支付宝网关的核心类
    
  }
}
```

最佳插件: https://kinsta.com/topic/wordpress-plugins/#lms

Powered by BetterDocs