# 延伸教材-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 ); } ```