WordPressプラグイン開発 – 【成功】管理画面の設定メニューにカンタンProWP追加

このブログは初心者がPHPを独習する過程で備忘録的に書いています。内容に不理解による誤りがあるかもしれません。もし、誤りがありましたらご指摘頂けば幸いです。

例によってOXY NOTESさんを参考にやってみました。「プラグイン専用のオプションページを作る」というところです。

管理画面の設定メニューにカンタンProWP追加

kpw-kantanpro.phpでkpw-admin-form.phpを読み込んで、

require_once dirname(__FILE__) . "/lib/kpw-admin-form.php";

kpw-admin-form.phpで、以下のようにしました。

<?php
add_action( 'admin_menu', 'add_general_custom_fields' );

function add_general_custom_fields() {
add_options_page(
'カンタンProWPのタイトル', // page_title
'カンタンProWP', // menu_title
'administrator', // capability
'kpw-admin', // menu_slug
'display_plugin_admin_page' // function
);
register_setting(
'kpw-group', // option_group
'active_kpw', // option_name
'active_kpw_validation' // sanitize_callback
);
}

function active_kpw_validation( $input ) {
$input = (int) $input;
if ( $input === 0 || $input === 1 ) {
return $input;
} else {
add_settings_error(
'active_kpw',
'active-kpw-validation_error',
__( 'illegal data', 'Hello_World' ),
'error'
);
}
}

function display_plugin_admin_page() {
$checked = get_site_option( 'active_kpw' );
if( empty( $checked ) ){
$checked = '';
} else {
$checked = 'checked="checked"';
}
?>

<div class="wrap">

<h2>カンタンProWP設定</h2>

<form method="post" action="options.php">

<?php
settings_fields( 'hkpw-group' );
do_settings_sections( 'default' );
?>

<table class="form-table">
<tbody>
<tr>
<th scope="row"><label for="active_kpw">使用する機能</label></th>
<td>
<input type="hidden" name="active_kpw" value="0">
<label for="active_kpw"><input type="checkbox" id="active_kpw" name="active_kpw" size="30" value="1"<?php echo $checked; ?>/>顧客</input></label>
</td>
</tr>
</tbody>
</table>

<?php submit_button(); // 設定を保存 ?>

</form>

</div><!-- .wrap -->

<?php } ?>

よく動いてますね^_^
ほぼコピペです。’Hello_World’なんてのも残ってるし。。。

詳しくはGitHubを御覧ください。

まとめ

私はあんまり分かってないかもしれません汗
まぁでも、プログラムは動いてなんぼなんで、理解は後からです。

こんな風に動かしてるうちに何となく分かって来るでしょう。

2019/9/11 WordPressプラグイン開発は一旦終了しLaravelでの開発に切り替えました。

カンタンProWPとは
ファイルメーカーProを使用しないでWEB上でカンタンProの機能を実現するWordPressのプラグインです。2019年7月4日から開発を始めています。

だれでも手軽に、どこでも、安価にカンタンProを利用できるようにすることが開発の目的です。PHP(プログラミング言語)を使った開発になります。PHPについて一から勉強して開発を進めていきます。

コメント