wordpress外掛開發 簡易設定頁面
IPFS
建議如果還沒看過這篇的可以先去看一下還有載一下範例程式碼
本篇主要是介紹用結合外掛的方式撰寫配合外掛的設定頁面,變數的儲存機制則使用wp本身提供的方式,不需要再額外建立資料表
首先先附上程式碼:
只要把框架那篇提供的同名程式碼換掉即可
https://drive.google.com/file/d/1hKarpGikxe3EdYH8pEFqN9Xwh5JChqTa/view?usp=sharing
接下來進入正題:
<?php
add_action('admin_menu', 'add_setting_menu');
function add_setting_menu() {
add_submenu_page('my-plugin_main', __('設定'), __('設定'), __('manage_options'), 'pm-extend_setting','add_settings_page');
add_action( 'admin_init', 'register_plugin_settings' );
}
//先加上設定的頁面
function register_plugin_settings() {
register_setting( 'myplugin-group', 'plugin_date' );
register_setting( 'myplugin-group', 'plugin_flag' );
}
//記得表格中有新的設定時要在這邊註冊變數名稱,否則變數不會記錄進options.php
function add_settings_page() {
?>
<!--以下是頁面的範例內容,可依據設定頁面需求自己做更改 -->
<div class="wrap">
<h2>範例系統設定</h2>
<br><br>
<!-- option.php是固定的,wordpress會自動記錄所有設定值 -->
<form method="post" action="options.php">
<?php settings_fields('myplugin-group'); ?>
<!-- 要先宣告這句下面才有辦法使用上面註冊的變數 -->
<input type="checkbox" name="plugin_flag" value="1"
<?php if (get_option('plugin_flag')==1) echo "checked" ; ?> />
測試勾選框<br/>
<br>
測試input框 :
<input type="text" id="plugin_date" name="plugin_date" value="<?php echo get_option('plugin_date'); ?>"/>
<p class="submit">
<input type="submit" class="button-primary" value="儲存" />
<!-- 這邊就submit表單所有欄位的值就會做紀錄了,不需要另外自己寫js處理,如果要debug就去wp後台首頁,去掉index.php改成options.php-->
<!-- 網址會變成類似 worpress根目錄網址/wp-admin/options.php 可在這個頁面查詢變數是否有被記錄-->
</p>
</form>
</div>
<?php
}
?>
設定頁面寫好之後,如果之後要在本外掛任意地方的程式碼or甚至別支外掛的程式碼(比較不建議),使用設定值都輕鬆容易,只要在php代碼的地方寫上get_option(‘註冊的變數名稱’)就抓的到值囉!
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 来自作者
- 相关推荐