Выбор цвета для сообщений и страниц

Я хочу добавить подборку цветов в сообщения WordPress и страницы в меню администратора. У меня есть этот код для выбора цвета:

add_action( 'admin_enqueue_scripts', 'add_color_picker' ); function add_color_picker( $hook ) { if( is_admin() ) { // Add the color picker css file wp_enqueue_style( 'wp-color-picker' ); // Include our custom jQuery file with WordPress Color Picker dependency wp_enqueue_script( 'custom-script-handle', plugins_url( 'custom-script.js', __FILE__ ), array( 'wp-color-picker' ), false, true ); } } 

И код js

 (function( $ ) { // Add Color Picker to all inputs that have 'color-field' class $(function() { $('.color-field').wpColorPicker(); }); })( jQuery ); 

мой вопрос в том, как я могу использовать этот код для добавления метабокса с помощью набора цветов для каждого сообщения администратора или страницы?

Я нашел решение на посту Дениса Жолжома

1). Я добавил metabox как это

add_action ('add_meta_boxes', 'mytheme_add_meta_box');

 if ( ! function_exists( 'mytheme_add_meta_box' ) ) { function mytheme_add_meta_box(){ add_meta_box( 'header-page-metabox-options', esc_html__('Header Color', 'mytheme' ), 'mytheme_header_meta_box', 'page', 'side', 'low'); } } 

2) – введите стиль и сценарий выбора цвета

 add_action( 'admin_enqueue_scripts', 'mytheme_backend_scripts'); if ( ! function_exists( 'mytheme_backend_scripts' ) ){ function mytheme_backend_scripts( $hook ) { wp_enqueue_style( 'wp-color-picker'); wp_enqueue_script( 'wp-color-picker'); } } 

3) – создать HTML-контейнер для выбора цвета, некоторый текст описания и поле ввода

 if ( ! function_exists( 'mytheme_header_meta_box' ) ) { function mytheme_header_meta_box( $post ) { $custom = get_post_custom( $post->ID ); $header_color = ( isset( $custom['header_color'][0] ) ) ? $custom['header_color'][0] : ''; wp_nonce_field( 'mytheme_header_meta_box', 'mytheme_header_meta_box_nonce' ); ?> <script> jQuery(document).ready(function($){ $('.color_field').each(function(){ $(this).wpColorPicker(); }); }); </script> <div class="pagebox"> <p><?php esc_attr_e('Choosse a color for your post header.', 'mytheme' ); ?></p> <input class="color_field" type="hidden" name="header_color" value="<?php esc_attr_e( $header_color ); ?>"/> </div> <?php } } 

4) – сохранить мета-окно

 if ( ! function_exists( 'mytheme_save_header_meta_box' ) ) { function mytheme_save_header_meta_box( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; } if( !current_user_can( 'edit_pages' ) ) { return; } if ( !isset( $_POST['header_color'] ) || !wp_verify_nonce( $_POST['mytheme_header_meta_box_nonce'], 'mytheme_header_meta_box' ) ) { return; } $header_color = (isset($_POST['header_color']) && $_POST['header_color']!='') ? $_POST['header_color'] : ''; update_post_meta($post_id, 'header_color', $header_color); } } add_action( 'save_post', 'mytheme_save_header_meta_box' ); 

Yeeeeeh))) Надеюсь, это поможет кому-то еще;)