@@ -39,6 +39,7 @@ public function __construct() {
3939 * Enqueue scripts and styles
4040 */
4141 function admin_enqueue_scripts () {
42+ wp_enqueue_style ( 'wp-color-picker ' );
4243 wp_enqueue_script ( 'jquery ' );
4344 wp_enqueue_script ( 'media-upload ' );
4445 wp_enqueue_script ( 'thickbox ' );
@@ -329,6 +330,22 @@ function callback_password( $args ) {
329330 echo $ html ;
330331 }
331332
333+ /**
334+ * Displays a color picker field for a settings field
335+ *
336+ * @param array $args settings field args
337+ */
338+ function callback_color ( $ args ) {
339+
340+ $ value = esc_attr ( $ this ->get_option ( $ args ['id ' ], $ args ['section ' ], $ args ['std ' ] ) );
341+ $ size = isset ( $ args ['size ' ] ) && !is_null ( $ args ['size ' ] ) ? $ args ['size ' ] : 'regular ' ;
342+
343+ $ html = sprintf ( '<input type="text" class="%1$s-text wp-color-picker-field" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/> ' , $ size , $ args ['section ' ], $ args ['id ' ], $ value );
344+ $ html .= sprintf ( '<span class="description" style="display:block;"> %s</span> ' , $ args ['desc ' ] );
345+
346+ echo $ html ;
347+ }
348+
332349 /**
333350 * Sanitize callback for Settings API
334351 */
@@ -440,14 +457,16 @@ function show_forms() {
440457 }
441458
442459 /**
443- * Tabbable JavaScript codes
460+ * Tabbable JavaScript codes & Initiate Color Picker
444461 *
445462 * This code uses localstorage for displaying active tabs
446463 */
447464 function script () {
448465 ?>
449466 <script>
450467 jQuery(document).ready(function($) {
468+ //Initiate Color Picker
469+ $('.wp-color-picker-field').wpColorPicker();
451470 // Switches option sections
452471 $('.group').hide();
453472 var activetab = '';
0 commit comments