Title: Update 4.8.1 invalid callbacks
Last modified: August 31, 2016

---

# Update 4.8.1 invalid callbacks

 *  [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/)
 * Is anyone else seeing these errors on their dashboard?
 * expects parameter 1 to be a valid callback, class ‘RWMB__Field’ not found in /
   home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-box/
   inc/meta-box.php on line 353
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 63
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 115
 * The line 115 error is new for me as of the 4.8.1 update, but line 353 and line
   63 were showing as of 4.8.0.
 * Any thoughts?
 * [https://wordpress.org/plugins/meta-box/](https://wordpress.org/plugins/meta-box/)

Viewing 15 replies - 1 through 15 (of 23 total)

1 [2](https://wordpress.org/support/topic/update-481-invalid-callbacks/page/2/?output_format=md)
[→](https://wordpress.org/support/topic/update-481-invalid-callbacks/page/2/?output_format=md)

 *  [aspinkerton](https://wordpress.org/support/users/aspinkerton/)
 * (@aspinkerton)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080785)
 * That’s what i’m getting. Been having an issue with the plugin for the last few
   hours.
 *  Thread Starter [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080809)
 * Are you also having issues with an error page opening up after you update/save
   anything?
 * I’m getting the invalid callbacks on the error page, plus:
 * Warning: Cannot modify header information – headers already sent by (output started
   at /home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-
   box/inc/meta-box.php:353) in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-includes/pluggable.php on line 1228
 *  [lindaeee](https://wordpress.org/support/users/lindaeee/)
 * (@lindaeee)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080848)
 * I am getting the same warning messages as tburnes (same line numbers and all).
   I turned off the plugin and a “fatal error” message popped up on my site, so 
   I reactivated the plugin — but I’m not sure what it’s doing to my site, other
   than worrying me on the back-end. Hopefully the developer is resolving?
 *  Plugin Contributor [Manny Fleurmond](https://wordpress.org/support/users/funkatronic/)
 * (@funkatronic)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080850)
 * Is the plugin installed as normal or are you loading it in another plugin or 
   theme?
 *  [trenovaltd](https://wordpress.org/support/users/trenovaltd/)
 * (@trenovaltd)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080862)
 * i also have issue with plugin with this error mgs “Warning: call_user_func() 
   expects parameter 1 to be a valid callback, class ‘RWMB_Group_Field’ not found
   in /home/potnova/public_html/wp-content/plugins/meta-box/inc/meta-box.php on 
   line 353” i need assistance to fix, any help?
 *  Plugin Author [Anh Tran](https://wordpress.org/support/users/rilwis/)
 * (@rilwis)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080875)
 * Please update the Group extension to the latest version 1.0.5 to fix the bug.
 * Thanks.
 *  Thread Starter [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080938)
 * I bought and upgraded the Meta-Box Group extension and I’m still getting the 
   invalid callbacks on the WP Dashboard. On page/post update I’m getting the following
   on an error page:
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 353
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 63
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 271
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 275
 * Warning: Cannot modify header information – headers already sent by (output started
   at /home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-
   box/inc/meta-box.php:353) in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-admin/post.php on line 197
 * Warning: Cannot modify header information – headers already sent by (output started
   at /home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-
   box/inc/meta-box.php:353) in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-includes/pluggable.php on line 1228
 * It looks like that upgrade created more errors than I had previously. The plugin
   is installed as normal, not through another theme or plugin. Any thoughts?
 *  Plugin Author [Anh Tran](https://wordpress.org/support/users/rilwis/)
 * (@rilwis)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7080968)
 * Can you please follow the instruction here: [https://metabox.io/steps-fix-problems-meta-box-4-8-0/](https://metabox.io/steps-fix-problems-meta-box-4-8-0/)
 * Thanks
 *  Thread Starter [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081002)
 * Here is something thatI found that may not be working. After updating to V4.8.0
   and V4.8.1 of the plugin, and updating the group version to 1.0.5, I’m still 
   having the issues. After looking into [https://metabox.io/steps-fix-problems-meta-box-4-8-0/](https://metabox.io/steps-fix-problems-meta-box-4-8-0/)
   and then looking at this [https://metabox.io/docs/registering-meta-boxes/](https://metabox.io/docs/registering-meta-boxes/),
   in your doc on registering meta boxes, the id in the array calls for:
 * `'id' => $prefix . 'fname',`
 * When registering Meta Boxes in my code, I’ve got:
 * `'id' => "{$prefix}banner_text",`
 * When showing the content on the front end, I’m using this:
 *     ```
       <?php if (rwmb_meta('orion_2016_banner_text') != '') {
       				echo '<h1>';
       				echo rwmb_meta('orion_2016_banner_text');
       				echo '</h1>';
       			} else {
       	  		 	 the_title( '<h1 class="entry-title">', '</h1>' );
       				 } ?>
                        <?php if (rwmb_meta('orion_2016_subhead_text') != '') {
       				echo '<h4>';
       				echo rwmb_meta('orion_2016_subhead_text');
       				echo '</h4>';
       			} ?>
       ```
   
 * Not sure if there is anything in that which would be causing the issue still,
   but figured it would be worth pointing out the variance.
 *  Plugin Author [Anh Tran](https://wordpress.org/support/users/rilwis/)
 * (@rilwis)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081010)
 * Can you please post the code you register meta boxes?
 *  Thread Starter [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081017)
 * Here is the code I’m using to register Meta Boxes:
 *     ```
       <?php
       /**
        * Registering meta boxes
        *
        * All the definitions of meta boxes are listed below with comments.
        * Please read them CAREFULLY.
        *
        * You also should read the changelog to know what has been changed before updating.
        *
        * For more information, please visit:
        * @link http://metabox.io/docs/registering-meta-boxes/
        */
       add_filter( 'rwmb_meta_boxes', 'orion_2016_register_meta_boxes' );
       /**
        * Register meta boxes
        *
        * Remember to change "your_prefix" to actual prefix in your project
        *
        * @param array $meta_boxes List of meta boxes
        *
        * @return array
        */
       function orion_2016_register_meta_boxes( $meta_boxes )
       {
       	/**
       	 * prefix of meta keys (optional)
       	 * Use underscore (_) at the beginning to make keys hidden
       	 * Alt.: You also can make prefix empty to disable it
       	 */
       	// Better has an underscore as last sign
       	$prefix = 'orion_2016_';
   
       	// Banner Meta Box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'banner',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Title Banner', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'post', 'page', 'topfive', 'inthenews' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
       			// HEADLINE
       			array(
       				'name' => __( 'Banner Text', 'orion-2016' ),
       				'desc' => __( 'Textarea description', 'orion-2016' ),
       				'id'   => "{$prefix}banner_text",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       				// SUBHEADLINE
       			array(
       				'name' => __( 'Subhead Text', 'orion-2016' ),
       				'desc' => __( 'Textarea description', 'orion-2016' ),
       				'id'   => "{$prefix}subhead_text",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// IMAGE ADVANCED (WP 3.5+)
       			array(
       				'name'             => __( 'Banner Image Upload', 'orion-2016' ),
       				'id'               => "{$prefix}banner_image",
       				'type'             => 'image_advanced',
       				'max_file_uploads' => 1,
       			),
       		),
       	);
   
       	// Project Details Meta Box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'details',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Property Details', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'featured' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
       			// TEXTAREA
       			array(
       				'name' => __( 'Address', 'orion-2016' ),
       				'desc' => __( 'Property Address', 'orion-2016' ),
       				'id'   => "{$prefix}address",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Sales Price', 'orion-2016' ),
       				'desc' => __( 'Closing Price', 'orion-2016' ),
       				'id'   => "{$prefix}price",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Property Type', 'orion-2016' ),
       				'desc' => __( 'Retail/Office/Multifamily/Etc', 'orion-2016' ),
       				'id'   => "{$prefix}property_type",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Square Footage', 'orion-2016' ),
       				'desc' => __( 'Overall Property SQ FT', 'orion-2016' ),
       				'id'   => "{$prefix}square_foot",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Listing Agents', 'orion-2016' ),
       				'desc' => __( 'Agent(s) associated with property closing', 'orion-2016' ),
       				'id'   => "{$prefix}listing_agents",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
       		),
       	);
   
       	// Agent Contact Meta Box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'contact',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Agent Contact', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'teammember' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
       			// TEXTAREA
       			array(
       				'name' => __( 'Office Phone', 'orion-2016' ),
       				'desc' => __( 'Office Telephone', 'orion-2016' ),
       				'id'   => "{$prefix}telephone",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Cell Phone', 'orion-2016' ),
       				'desc' => __( 'Cell Phone Number', 'orion-2016' ),
       				'id'   => "{$prefix}cellular",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Email Address', 'orion-2016' ),
       				'desc' => __( 'Agent Email', 'orion-2016' ),
       				'id'   => "{$prefix}email_address",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'AZ DRE License #', 'orion-2016' ),
       				'desc' => __( 'License Number', 'orion-2016' ),
       				'id'   => "{$prefix}license_number",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
       		),
       	);
   
       	// Closed Property Details Meta Box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'closing',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Closing Details', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'propertiesclosed' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
       			// TEXTAREA
       			array(
       				'name' => __( 'Property Address', 'orion-2016' ),
       				'desc' => __( 'Address of the Closed Property', 'orion-2016' ),
       				'id'   => "{$prefix}closed_address",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Closing Price', 'orion-2016' ),
       				'desc' => __( 'Price at the time of closing', 'orion-2016' ),
       				'id'   => "{$prefix}closing_price",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Property Type', 'orion-2016' ),
       				'desc' => __( 'Retail/Office/Multifamily/Etc', 'orion-2016' ),
       				'id'   => "{$prefix}closing_type",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Square Footage', 'orion-2016' ),
       				'desc' => __( 'Overall Property SQ FT', 'orion-2016' ),
       				'id'   => "{$prefix}closing_footage",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 1,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Listing Agents', 'orion-2016' ),
       				'desc' => __( 'Agent(s) associated with property closing', 'orion-2016' ),
       				'id'   => "{$prefix}closing_agents",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// TEXTAREA
       			array(
       				'name' => __( 'Property Highlights', 'orion-2016' ),
       				'desc' => __( 'Highlights of the closing', 'orion-2016' ),
       				'id'   => "{$prefix}closing_highlights",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
       		),
       	);
   
       	// Slider Meta Box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'slider',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Slider Images', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'propertiesclosed', 'featured' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
   
       		// IMAGE ADVANCED (WP 3.5+)
       			array(
       				'name'             => __( 'Slider Images Upload', 'orion-2016' ),
       				'id'               => "{$prefix}sliders_image",
       				'type'             => 'image_advanced',
       				'max_file_uploads' => 10,
       			),
       		),
       	);
   
       	// Project Details Meta Box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'fourpillars',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Property Details', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'fourpillars' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
       			// TEXTAREA
       			array(
       				'name' => __( 'Banner Text', 'orion-2016' ),
       				'desc' => __( 'Textarea description', 'orion-2016' ),
       				'id'   => "{$prefix}banner_text",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
       		),
       	);		
   
       	// 1st meta box
       	$meta_boxes[] = array(
       		// Meta box id, UNIQUE per meta box. Optional since 4.1.5
       		'id'         => 'standard',
       		// Meta box title - Will appear at the drag and drop handle bar. Required.
       		'title'      => __( 'Standard Text', 'orion-2016' ),
       		// Post types, accept custom post types as well - DEFAULT is 'post'. Can be array (multiple post types) or string (1 post type). Optional.
       		'post_types' => array( 'post', 'page' ),
       		// Where the meta box appear: normal (default), advanced, side. Optional.
       		'context'    => 'normal',
       		// Order of meta box: high (default), low. Optional.
       		'priority'   => 'high',
       		// Auto save: true, false (default). Optional.
       		'autosave'   => true,
       		// List of meta fields
       		'fields'     => array(
       			// TEXT
       			array(
       				// Field name - Will be used as label
       				'name'  => __( 'Text', 'orion-2016' ),
       				// Field ID, i.e. the meta key
       				'id'    => "{$prefix}text",
       				// Field description (optional)
       				'desc'  => __( 'Text description', 'orion-2016' ),
       				'type'  => 'text',
       				// Default value (optional)
       				'std'   => __( 'Default text value', 'orion-2016' ),
       				// CLONES: Add to make the field cloneable (i.e. have multiple value)
       				'clone' => true,
       			),
       			// CHECKBOX
       			array(
       				'name' => __( 'Checkbox', 'orion-2016' ),
       				'id'   => "{$prefix}checkbox",
       				'type' => 'checkbox',
       				// Value can be 0 or 1
       				'std'  => 1,
       			),
       			// RADIO BUTTONS
       			array(
       				'name'    => __( 'Radio', 'orion-2016' ),
       				'id'      => "{$prefix}radio",
       				'type'    => 'radio',
       				// Array of 'value' => 'Label' pairs for radio options.
       				// Note: the 'value' is stored in meta field, not the 'Label'
       				'options' => array(
       					'value1' => __( 'Label1', 'orion-2016' ),
       					'value2' => __( 'Label2', 'orion-2016' ),
       				),
       			),
       			// SELECT BOX
       			array(
       				'name'        => __( 'Select', 'orion-2016' ),
       				'id'          => "{$prefix}select",
       				'type'        => 'select',
       				// Array of 'value' => 'Label' pairs for select box
       				'options'     => array(
       					'value1' => __( 'Label1', 'orion-2016' ),
       					'value2' => __( 'Label2', 'orion-2016' ),
       				),
       				// Select multiple values, optional. Default is false.
       				'multiple'    => false,
       				'std'         => 'value2',
       				'placeholder' => __( 'Select an Item', 'orion-2016' ),
       			),
       			// HIDDEN
       			array(
       				'id'   => "{$prefix}hidden",
       				'type' => 'hidden',
       				// Hidden field must have predefined value
       				'std'  => __( 'Hidden value', 'orion-2016' ),
       			),
       			// PASSWORD
       			array(
       				'name' => __( 'Password', 'orion-2016' ),
       				'id'   => "{$prefix}password",
       				'type' => 'password',
       			),
       			// TEXTAREA
       			array(
       				'name' => __( 'Textarea', 'orion-2016' ),
       				'desc' => __( 'Textarea description', 'orion-2016' ),
       				'id'   => "{$prefix}textarea",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
   
       			// optional override of default jquery.validate messages
       			'messages' => array(
       				"{$prefix}password" => array(
       					'required'  => __( 'Password is required', 'orion-2016' ),
       					'minlength' => __( 'Password must be at least 7 characters', 'orion-2016' ),
       				),
       			)
       		)
       	);
       	// 2nd meta box
       	$meta_boxes[] = array(
       		'title'  => __( 'Advanced Fields', 'orion-2016' ),
       		'fields' => array(
       			// HEADING
       			array(
       				'type' => 'heading',
       				'name' => __( 'Heading', 'orion-2016' ),
       				'id'   => 'fake_id', // Not used but needed for plugin
       				'desc' => __( 'Optional description for this heading', 'orion-2016' ),
       			),
       			// SLIDER
       			array(
       				'name'       => __( 'Slider', 'orion-2016' ),
       				'id'         => "{$prefix}slider",
       				'type'       => 'slider',
       				// Text labels displayed before and after value
       				'prefix'     => __( '$', 'orion-2016' ),
       				'suffix'     => __( ' USD', 'orion-2016' ),
       				// jQuery UI slider options. See here http://api.jqueryui.com/slider/
       				'js_options' => array(
       					'min'  => 10,
       					'max'  => 255,
       					'step' => 5,
       				),
       			),
       			// NUMBER
       			array(
       				'name' => __( 'Number', 'orion-2016' ),
       				'id'   => "{$prefix}number",
       				'type' => 'number',
       				'min'  => 0,
       				'step' => 5,
       			),
       			// DATE
       			array(
       				'name'       => __( 'Date picker', 'orion-2016' ),
       				'id'         => "{$prefix}date",
       				'type'       => 'date',
       				// jQuery date picker options. See here http://api.jqueryui.com/datepicker
       				'js_options' => array(
       					'appendText'      => __( '(yyyy-mm-dd)', 'orion-2016' ),
       					'dateFormat'      => __( 'yy-mm-dd', 'orion-2016' ),
       					'changeMonth'     => true,
       					'changeYear'      => true,
       					'showButtonPanel' => true,
       				),
       			),
       			// DATETIME
       			array(
       				'name'       => __( 'Datetime picker', 'orion-2016' ),
       				'id'         => $prefix . 'datetime',
       				'type'       => 'datetime',
       				// jQuery datetime picker options.
       				// For date options, see here http://api.jqueryui.com/datepicker
       				// For time options, see here http://trentrichardson.com/examples/timepicker/
       				'js_options' => array(
       					'stepMinute'     => 15,
       					'showTimepicker' => true,
       				),
       			),
       			// TIME
       			array(
       				'name'       => __( 'Time picker', 'orion-2016' ),
       				'id'         => $prefix . 'time',
       				'type'       => 'time',
       				// jQuery datetime picker options.
       				// For date options, see here http://api.jqueryui.com/datepicker
       				// For time options, see here http://trentrichardson.com/examples/timepicker/
       				'js_options' => array(
       					'stepMinute' => 5,
       					'showSecond' => true,
       					'stepSecond' => 10,
       				),
       			),
       			// COLOR
       			array(
       				'name' => __( 'Color picker', 'orion-2016' ),
       				'id'   => "{$prefix}color",
       				'type' => 'color',
       			),
       			// CHECKBOX LIST
       			array(
       				'name'    => __( 'Checkbox list', 'orion-2016' ),
       				'id'      => "{$prefix}checkbox_list",
       				'type'    => 'checkbox_list',
       				// Options of checkboxes, in format 'value' => 'Label'
       				'options' => array(
       					'value1' => __( 'Label1', 'orion-2016' ),
       					'value2' => __( 'Label2', 'orion-2016' ),
       				),
       			),
       			// AUTOCOMPLETE
       			array(
       				'name'    => __( 'Autocomplete', 'orion-2016' ),
       				'id'      => "{$prefix}autocomplete",
       				'type'    => 'autocomplete',
       				// Options of autocomplete, in format 'value' => 'Label'
       				'options' => array(
       					'value1' => __( 'Label1', 'orion-2016' ),
       					'value2' => __( 'Label2', 'orion-2016' ),
       				),
       				// Input size
       				'size'    => 30,
       				// Clone?
       				'clone'   => false,
       			),
       			// EMAIL
       			array(
       				'name' => __( 'Email', 'orion-2016' ),
       				'id'   => "{$prefix}email",
       				'desc' => __( 'Email description', 'orion-2016' ),
       				'type' => 'email',
       				'std'  => 'name@email.com',
       			),
       			// RANGE
       			array(
       				'name' => __( 'Range', 'orion-2016' ),
       				'id'   => "{$prefix}range",
       				'desc' => __( 'Range description', 'orion-2016' ),
       				'type' => 'range',
       				'min'  => 0,
       				'max'  => 100,
       				'step' => 5,
       				'std'  => 0,
       			),
       			// URL
       			array(
       				'name' => __( 'URL', 'orion-2016' ),
       				'id'   => "{$prefix}url",
       				'desc' => __( 'URL description', 'orion-2016' ),
       				'type' => 'url',
       				'std'  => 'http://google.com',
       			),
       			// OEMBED
       			array(
       				'name' => __( 'oEmbed', 'orion-2016' ),
       				'id'   => "{$prefix}oembed",
       				'desc' => __( 'oEmbed description', 'orion-2016' ),
       				'type' => 'oembed',
       			),
       			// SELECT ADVANCED BOX
       			array(
       				'name'        => __( 'Select', 'orion-2016' ),
       				'id'          => "{$prefix}select_advanced",
       				'type'        => 'select_advanced',
       				// Array of 'value' => 'Label' pairs for select box
       				'options'     => array(
       					'value1' => __( 'Label1', 'orion-2016' ),
       					'value2' => __( 'Label2', 'orion-2016' ),
       				),
       				// Select multiple values, optional. Default is false.
       				'multiple'    => false,
       				// 'std'         => 'value2', // Default value, optional
       				'placeholder' => __( 'Select an Item', 'orion-2016' ),
       			),
       			// TAXONOMY
       			array(
       				'name'    => __( 'Taxonomy', 'orion-2016' ),
       				'id'      => "{$prefix}taxonomy",
       				'type'    => 'taxonomy',
       				'options' => array(
       					// Taxonomy name
       					'taxonomy' => 'category',
       					// How to show taxonomy: 'checkbox_list' (default) or 'checkbox_tree', 'select_tree', select_advanced or 'select'. Optional
       					'type'     => 'checkbox_list',
       					// Additional arguments for get_terms() function. Optional
       					'args'     => array()
       				),
       			),
       			// POST
       			array(
       				'name'        => __( 'Posts (Pages)', 'orion-2016' ),
       				'id'          => "{$prefix}pages",
       				'type'        => 'post',
       				// Post type
       				'post_type'   => 'page',
       				// Field type, either 'select' or 'select_advanced' (default)
       				'field_type'  => 'select_advanced',
       				'placeholder' => __( 'Select an Item', 'orion-2016' ),
       				// Query arguments (optional). No settings means get all published posts
       				'query_args'  => array(
       					'post_status'    => 'publish',
       					'posts_per_page' => - 1,
       				)
       			),
       			// WYSIWYG/RICH TEXT EDITOR
       			array(
       				'name'    => __( 'WYSIWYG / Rich Text Editor', 'orion-2016' ),
       				'id'      => "{$prefix}wysiwyg",
       				'type'    => 'wysiwyg',
       				// Set the 'raw' parameter to TRUE to prevent data being passed through wpautop() on save
       				'raw'     => false,
       				'std'     => __( 'WYSIWYG default value', 'orion-2016' ),
       				// Editor settings, see wp_editor() function: look4wp.com/wp_editor
       				'options' => array(
       					'textarea_rows' => 4,
       					'teeny'         => true,
       					'media_buttons' => false,
       				),
       			),
       			// DIVIDER
       			array(
       				'type' => 'divider',
       				'id'   => 'fake_divider_id', // Not used, but needed
       			),
       			// FILE UPLOAD
       			array(
       				'name' => __( 'File Upload', 'orion-2016' ),
       				'id'   => "{$prefix}file",
       				'type' => 'file',
       			),
       			// FILE ADVANCED (WP 3.5+)
       			array(
       				'name'             => __( 'File Advanced Upload', 'orion-2016' ),
       				'id'               => "{$prefix}file_advanced",
       				'type'             => 'file_advanced',
       				'max_file_uploads' => 4,
       				'mime_type'        => 'application,audio,video', // Leave blank for all file types
       			),
       			// IMAGE UPLOAD
       			array(
       				'name' => __( 'Image Upload', 'orion-2016' ),
       				'id'   => "{$prefix}image",
       				'type' => 'image',
       			),
       			// THICKBOX IMAGE UPLOAD (WP 3.3+)
       			array(
       				'name' => __( 'Thickbox Image Upload', 'orion-2016' ),
       				'id'   => "{$prefix}thickbox",
       				'type' => 'thickbox_image',
       			),
       			// PLUPLOAD IMAGE UPLOAD (WP 3.3+)
       			array(
       				'name'             => __( 'Plupload Image Upload', 'orion-2016' ),
       				'id'               => "{$prefix}plupload",
       				'type'             => 'plupload_image',
       				'max_file_uploads' => 4,
       			),
       			// IMAGE ADVANCED (WP 3.5+)
       			array(
       				'name'             => __( 'Image Advanced Upload', 'orion-2016' ),
       				'id'               => "{$prefix}imgadv",
       				'type'             => 'image_advanced',
       				'max_file_uploads' => 4,
       			),
       			// BUTTON
       			array(
       				'id'   => "{$prefix}button",
       				'type' => 'button',
       				'name' => ' ', // Empty name will "align" the button to all field inputs
       			),
       		)
       	);
       	return $meta_boxes;
       }
       ```
   
 * I’m calling it from my /inc folder as follows:
 * `require get_template_directory() . '/inc/meta-box.php';`
 *  Thread Starter [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081020)
 * Just continued the thread on github as well.
 *  Plugin Author [Anh Tran](https://wordpress.org/support/users/rilwis/)
 * (@rilwis)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081027)
 * Just found the bug. The code to declared `messages` is put inside `fields` which
   makes Meta Box *think* it’s a field ==> invalid:
 * [http://prntscr.com/a76bw8](http://prntscr.com/a76bw8)
 * It should be written like this:
 * [http://prntscr.com/a76col](http://prntscr.com/a76col)
 * For more info, please check this docs:
 * [https://metabox.io/docs/validation/](https://metabox.io/docs/validation/)
 *  Thread Starter [tburnes](https://wordpress.org/support/users/tburnes/)
 * (@tburnes)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081029)
 * I’d love to give you good news that that worked, but now I’m getting this in 
   the dashboard:
 * expects parameter 1 to be a valid callback, class ‘RWMB__Field’ not found in /
   home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-box/
   inc/meta-box.php on line 353
 * Warning: call_user_func() expects parameter 1 to be a valid callback, class ‘
   RWMB__Field’ not found in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-content/plugins/meta-box/inc/meta-box.php on line 63
 * Warning: Cannot modify header information – headers already sent by (output started
   at /home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-
   box/inc/meta-box.php:353) in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-includes/option.php on line 820
 * Warning: Cannot modify header information – headers already sent by (output started
   at /home/content/p3pnexwpnas13_data03/40/3053440/html/wp-content/plugins/meta-
   box/inc/meta-box.php:353) in /home/content/p3pnexwpnas13_data03/40/3053440/html/
   wp-includes/option.php on line 821
 * I added the code you posted:
 *     ```
       // TEXTAREA
       			array(
       				'name' => __( 'Textarea', 'orion-2016' ),
       				'desc' => __( 'Textarea description', 'orion-2016' ),
       				'id'   => "{$prefix}textarea",
       				'type' => 'textarea',
       				'cols' => 20,
       				'rows' => 3,
       			),
       			'validation' => array(
       				'rules'  => array(
       					"{$prefix}password" => array(
       						'required' => true,
       						'minlength' => 7,
       					),
       				),
   
       			// optional override of default jquery.validate messages
       			'messages' => array(
       				"{$prefix}password" => array(
       					'required'  => __( 'Password is required', 'orion-2016' ),
       					'minlength' => __( 'Password must be at least 7 characters', 'orion-2016' ),
       				),
       			)
       		)
       	));
       ```
   
 *  Haven’t been able to upload an image, or even see my image library since the
   update. Does it make sense to downgrade to a previous version, and if so is there
   a way to do it that won’t require re-inputting the content?
 *  Plugin Author [Anh Tran](https://wordpress.org/support/users/rilwis/)
 * (@rilwis)
 * [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/#post-7081047)
 * It’s all about the syntax error. Here is the “fixed” file, please try it:
 * [http://pastebin.com/mJH0kFHx](http://pastebin.com/mJH0kFHx)

Viewing 15 replies - 1 through 15 (of 23 total)

1 [2](https://wordpress.org/support/topic/update-481-invalid-callbacks/page/2/?output_format=md)
[→](https://wordpress.org/support/topic/update-481-invalid-callbacks/page/2/?output_format=md)

The topic ‘Update 4.8.1 invalid callbacks’ is closed to new replies.

 * ![](https://ps.w.org/meta-box/assets/icon-128x128.png?rev=1100915)
 * [Meta Box](https://wordpress.org/plugins/meta-box/)
 * [Support Threads](https://wordpress.org/support/plugin/meta-box/)
 * [Active Topics](https://wordpress.org/support/plugin/meta-box/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/meta-box/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/meta-box/reviews/)

 * 23 replies
 * 7 participants
 * Last reply from: [Anh Tran](https://wordpress.org/support/users/rilwis/)
 * Last activity: [10 years, 2 months ago](https://wordpress.org/support/topic/update-481-invalid-callbacks/page/2/#post-7081071)
 * Status: not resolved