• 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/

Viewing 15 replies - 1 through 15 (of 23 total)
  • That’s what i’m getting. Been having an issue with the plugin for the last few hours.

    Thread Starter tburnes

    (@tburnes)

    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

    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

    (@funkatronic)

    Is the plugin installed as normal or are you loading it in another plugin or theme?

    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

    (@rilwis)

    Please update the Group extension to the latest version 1.0.5 to fix the bug.

    Thanks.

    Thread Starter tburnes

    (@tburnes)

    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

    (@rilwis)

    Can you please follow the instruction here: https://metabox.io/steps-fix-problems-meta-box-4-8-0/

    Thanks

    Thread Starter tburnes

    (@tburnes)

    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/ and then looking at this 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

    (@rilwis)

    Can you please post the code you register meta boxes?

    Thread Starter tburnes

    (@tburnes)

    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

    (@tburnes)

    Just continued the thread on github as well.

    Plugin Author Anh Tran

    (@rilwis)

    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

    It should be written like this:

    http://prntscr.com/a76col

    For more info, please check this docs:

    https://metabox.io/docs/validation/

    Thread Starter tburnes

    (@tburnes)

    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

    (@rilwis)

    It’s all about the syntax error. Here is the “fixed” file, please try it:

    http://pastebin.com/mJH0kFHx

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

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