WordPress.org

Forums

Meta Box
[resolved] Warning: call_user_func(array) (2 posts)

  1. rebelit
    Member
    Posted 1 year ago #

    Hello,
    Thanks for all your hard work to make something so useful.

    I have just installed the metabox 4.3.8 plugin and am working on a new site. I am creating a custom post type called reb_paintings and using metabox to provide the custom fields.

    I have defined the custom post type as this.

    function register_reb_painting()
       {
       		register_post_type( 'reb_painting',
       			array(
       				'labels' => array(
    					'name' => 'Paintings',
    					'singular_name' => 'Painting',
    					'add_new' => 'Add New',
    					'add_new_item' => 'Add New Painting',
    					'edit' => 'Edit',
    					'edit_item' => 'Edit Painting',
    					'new_item' => 'New Painting',
    					'view' => 'View',
    					'view_item' => 'View Painting',
    					'search_items' => 'Search Painting',
    					'not_found' => 'No Paintings found',
    					'not_found_in_trash' => 'No Paintings found in Trash',
    					'parent' => 'Parent Painting'
    			),
    
    			'public' => true,
    			'menu_position' => 15,
    			'supports' => array( 'title', 'editor', 'comments', 'thumbnail'),
    			'taxonomies' => array( '' ),
    			'menu_icon' => plugins_url( 'images/image.png', __FILE__ ),
    			'has_archive' => true,
    			'rewrite' => array('slug' => 'paintings'),
    
       			) );
       }

    and my metabox code is

    add_filter( 'rwmb_meta_boxes', 'rbp_register_meta_boxes' );
    
    function rbp_register_meta_boxes( $meta_boxes )
     {
    	$prefix = 'rbp_'; // Prefix for all fields
    	$meta_boxes[] = array(
    		'id' => 'painting_meta_box',
    		'title' => 'Painting Details',
    		'pages' => array('reb_painting'), // post type
    		'context' => 'normal',
    		'priority' => 'high',
    		'show_names' => true, // Show field names on the left
    		'fields' => array(
    			array(
    				'name' => 'Date',
    				'desc' => 'Date the painting was finished',
    				'id' => $prefix . 'painting_date',
    				'type' => 'text_datetime_timestamp'
    			),
    		)
    	);
    
    	return $meta_boxes;
    }

    Without the meta-box code I get no error and the custom post type appears ok. with the meta-box code I get the following warnings

    Warning: call_user_func(Array) [function.call-user-func]: First argument is expected to be a valid callback in ...\wp-content\plugins\meta-box\inc\meta-box.php on line 379
    
    Warning: call_user_func(Array) [function.call-user-func]: First argument is expected to be a valid callback in ...\wp-content\plugins\meta-box\inc\meta-box.php on line 77

    I get errors wherever a meta-box should be displayed. For example when adding a new reb_painting custom post type I get the following error where the meta-box should be..

    Warning: call_user_func(Array) [function.call-user-func]: First argument is expected to be a valid callback in ...\wp-content\plugins\meta-box\inc\meta-box.php on line 229

    I am using PHP 5.2.17 which is the version installed on the live server.

    Thanks for your time.

    https://wordpress.org/plugins/meta-box/

  2. rebelit
    Member
    Posted 1 year ago #

    Ok sorry it was my fault entirely. In my code I am specifying the datetime field incorrectly based on a much older version of the code

    'type' => 'text_datetime_timestamp'

    should be
    'type' => 'datetime'

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic