WordPressで自作したプラグインやテーマの管理画面でカラーピッカーを表示させる方法を紹介いたします。
カラーピッカーを表示させるコードをコピペ
今回はプラグインで、下記のコードを記述しました。
コピペして「functions.php」でファイル作成して、任意のフォルダー名称に保存(コード:UTF8N、CR+LF)して、フォルダー毎zipで圧縮します。これで、プラグインの完成です。
<?php
/*
Plugin Name: lesson
Plugin URI: https://jisaku-hp.jp/
Description:
Author: 山根 隆史
Version: 1.0
Author URI: https://jisaku-hp.jp/
*/
add_action('admin_init', 'register_custom_setting2');
function register_custom_setting2()
{
register_setting('custom-menu-group55', 'color');
}
add_action('admin_print_styles', 'add_color_picker_admin_print_styles');
function add_color_picker_admin_print_styles() {
wp_enqueue_style( 'wp-color-picker' );
}
add_action('admin_print_scripts', 'add_color_picker_admin_print_scripts');
function add_color_picker_admin_print_scripts() {
wp_enqueue_script( 'wp-color-picker' );
wp_add_inline_script(
'wp-color-picker',
'jQuery(document).ready(function($){
$(\'.add-color-picker-number-field\').wpColorPicker();
});'
);
}
add_action('admin_menu', 'custom_menu_page');
function custom_menu_page()
{
add_menu_page('共通設定画面', '共通設定', 'manage_options', 'custom_menu_page', 'add_custom_menu_page', 'dashicons-admin-generic', 4);
}
function add_custom_menu_page()
{
?>
<div class="wrap">
<h2>共通設定画面</h2>
<form method="post" action="options.php" enctype="multipart/form-data" encoding="multipart/form-data">
<?php
settings_fields('custom-menu-group55');
do_settings_sections('custom-menu-group55'); ?>
<label style="border:solid 3px <?php echo get_option('color');?>; padding:3px 10px;">カラーピッカー</label>
<input type="text" name="color" class="add-color-picker-number-field" value="" >
<?php submit_button(); ?>
</form>
</div>
<?php
}ワードプレス管理画面からプラグインの新規追加でインストールして有効化をした後に下記の共通設定のメニューが表示されていればOKです。

カラーピッカーで色を選択して変更を保存すれば、カラーピッカーの枠の色が変わるプラグインです。
ワードプレス管理画面にメニュー項目を追加するコード
30行目から34行目までが、ワードプレス管理画面にメニューを表示させるコードです。
35行目から50行目までが、内容を表示するコードです。ここにカラーピッカーを表示させるコードを記述しています。
カラーピッカーを表示させるコード
16行目から29行目までが、カラーピッカーを表示させるコードです。カラーピッカーを表示させるためにcssとjavascriptを読み込んで、49行目のinput要素をカラーピッカーに変更しています。
カラーピッカーの値を保存
カラーピッカーで選択した色をオプション値に保存するために、10行目から15行目のコードと41行目から43行目のコードを記述しています。
これにより、変更を保存で「color」というオプション値に保存され、44行目のget_option(‘color’)で保存したオプション値を読み込んで、labelのborder枠の色が変化します。

