# 延伸教材-1:如何整合 Plugin
### 現在要開始整合,我們要抽取出,三個檔案使用資源function
到目前為止,我們做了Comprehend, Textract, Polly
#### 以下使用資源,每個都各有一個
>#### plugin 敘述
>Wordpress會去讀取它並把每把每一個視為一個plugin
>```php=
>/**
> * Plugin Name: AWS_TEXT_AI_TOOL
> * Description: comprehend , textract , polly
> * Author: YUE YUE, Weii07_chen , Yungtunchi
> * Version: 1.0.0
> */
>```
>
>#### boostrap DNS資源
>讓HTML 網頁美化
>```php==
>add_action('wp_enqueue_scripts','load_assets');
>function load_assets(){
> wp_enqueue_style(
> 'bootstrap-css',
> 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css',
> array(),
> '5.3.0',
> 'all'
> );
> // 載入 jQuery(WordPress 內建 jQuery)
> wp_enqueue_script('jquery');
>
> // 載入 Bootstrap JS
> wp_enqueue_script(
> 'bootstrap-js',
> 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js',
> array('jquery'),
> '5.3.0',
> true
> );
>}
>```
>#### AWS_php_sdk
>讓我們能使用AWS_API
>```php=
>require_once plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
>```
>記得要放在把aws sdk 放在此資料夾,沒有的話要執行
>```
>composer require aws/aws-sdk-php
>```
### 用一個名稱為AWS_loader.php的檔案來把三個檔案合起來
這個程式會引進一個
* **plugin 敘述**
* **Boostrap CDN 資源**
* **AWS_php_sdk**
並加上把我們原本的plugin 引進來
```php=
require_once plugin_dir_path( __FILE__ ) . 'comprehend/class-aws-comprehend.php';
require_once plugin_dir_path( __FILE__ ) . 'textract/aws-textract-service.php';
require_once plugin_dir_path( __FILE__ ) . 'polly/aws-polly-service.php';
```
---
>[!Caution]
>1.記得把原本檔案中以下的刪除
>* **plugin 敘述**
>* **Boostrap CDN 資源**
>* **AWS_php_sdk**
>
>2.記得要創建資料夾放置三個檔案
>* class-aws-comprehend.php要放在comprehend資料夾中
>* aws-textract-service.php要放在textract資料夾中
>* aws-polly-service.php要放在polly資料夾中
---
:::spoiler AWS_loader 完整程式碼
```php=
<?php
/**
* Plugin Name: AWS_TEXT_AI_TOOL
* Description: comprehend , textract , polly
* Author: YUE YUE, Weii07_chen , Yungtunchi
* Version: 1.0.0
*/
if( !defined('ABSPATH')){
exit;
}
require_once plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
require_once plugin_dir_path( __FILE__ ) . 'comprehend/class-aws-comprehend.php';
require_once plugin_dir_path( __FILE__ ) . 'textract/aws-textract-service.php';
require_once plugin_dir_path( __FILE__ ) . 'polly/aws-polly-service.php';
add_action('wp_enqueue_scripts','load_assets');
function load_assets(){
wp_enqueue_style(
'bootstrap-css',
'https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css',
array(),
'5.3.0',
'all'
);
// 載入 jQuery(WordPress 內建 jQuery)
wp_enqueue_script('jquery');
// 載入 Bootstrap JS
wp_enqueue_script(
'bootstrap-js',
'https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js',
array('jquery'),
'5.3.0',
true
);
}
```