WordPress.org

Ready to get started?Download WordPress

Forums

Meta Box
How do I display the meta box information on Custom Post Type (7 posts)

  1. gecko_guy
    Member
    Posted 1 year ago #

    I have read the documentation in detail, repeatedly, but I can't get the custom meta info to display on my custom post types on the front end.

    I have had no problem creating the metaboxes in the admin area for the custom post types, but how do we display it?

    I see this bit of information:

    rwmb_meta( $key, $args = array(), $post_id = null );

    Where does this go? Does it go in functions.php or meta-box.php, or in the custom files I created for the meta boxes?

    This is the code in my functions.php:

    // CUSTOM METABOXES

    // Re-define meta box path and URL
    	define( 'RWMB_URL', trailingslashit( get_stylesheet_directory_uri() . '/includes/meta-box' ) );
    	define( 'RWMB_DIR', trailingslashit( STYLESHEETPATH . '/includes/meta-box' ) );
    
    // Include the meta box script
    	require_once RWMB_DIR . 'meta-box.php';
    
    // Include the meta box script (THIS IS WHERE THE CUSTOM TYPES META BOXES ARE DEFINED)
    require_once RWMB_DIR . 'custom-meta-rugs.php';
    require_once RWMB_DIR . 'custom-meta-carpets.php';
    require_once RWMB_DIR . 'custom-meta-design.php';
    require_once RWMB_DIR . 'custom-meta-wooden.php';

    and an example of one the custom meta box files:

    <?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://www.deluxeblogtips.com/meta-box/
     */
    
    /********************* META BOX DEFINITIONS ***********************/
    
    /**
     * Prefix of meta keys (optional)
     * Use underscore (_) at the beginning to make keys hidden
     * Alt.: You also can make prefix empty to disable it
     */
    
    add_action( 'admin_init', 'carpet_register_meta_boxes' );
    
    function carpet_register_meta_boxes()
    {
    
    if ( ! class_exists( 'RW_Meta_Box' ) )
    		return;
    
    	$prefix = 'carpet_';
    	$meta_boxes = array();
    
        // Here is the code to define a meta box
    	$meta_boxes[] = array(
    	'title'    => 'Carpet Details',
    	'pages'    => array( 'residential-carpets', 'commercial-carpets' ),
    	'fields' => array(
    		array(
    			'name' => 'Product description',
    			'id'   => $prefix . 'details',
    			'type' => 'wysiwyg',
    			'class' => 'custom-admin-boxes'
    		),
    
    		array(
    			'name' => 'Real Name',
    			'id'   => $prefix . 'realname',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Construction',
    			'id'   => $prefix . 'constr',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Pile Fibre',
    			'id'   => $prefix . 'pile',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Width',
    			'id'   => $prefix . 'width',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Pile Weight',
    			'id'   => $prefix . 'weight',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Colour Ways',
    			'id'   => $prefix . 'colour',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Minimum Quants',
    			'id'   => $prefix . 'quants',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Area Suitability',
    			'id'   => $prefix . 'area',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Top Rating',
    			'id'   => $prefix . 'rating',
    			'type' => 'text',
    			'size' => '90'
    		),
    
    		array(
    			'name' => 'Total Height',
    			'id'   => $prefix . 'height',
    			'type' => 'text',
    			'size' => '90'
    		),
    	)
    );
    
        foreach ( $meta_boxes as $meta_box )
        {
            new RW_Meta_Box( $meta_box );
        }
    }

    http://wordpress.org/extend/plugins/meta-box/

  2. danielVinci
    Member
    Posted 12 months ago #

    Hey gecko_guy,

    Have You figured it out? I hve the same problem. How to display meta-boxes? [also my meta-boxes do not show anywhere].

    please send my a ansewer: milinski@affectia.pl
    important: I want to wrapp this plugin into the theme.

    Thank You
    Daniel V

  3. gecko_guy
    Member
    Posted 12 months ago #

    Hi, I eventually got it to work by using a plugin called Loopbuddy, but then could not display the field labels, only the raw field names.

    No support from anyone, it's quite bizarre.

    Finally gave up and used the built in WordPress custom fields, which doesn't look all that good in the admin, but works very well on the front end.

  4. danielVinci
    Member
    Posted 12 months ago #

    Thank You..

  5. gecko_guy
    Member
    Posted 12 months ago #

    I think it really depends on your Theme framework too.

    If you are able to directly edit the single page/post templates, then placing the rwmb_meta( $key, $args = array(), $post_id = null ); snippet and defining the arguments as described on the plugin site by the developer should work.

    In my case I was using the Headway Theme, which although very powerful makes it tricky to do this with custom post types.

    There are some much easier to use fields plugins than this one I think, and one of them might work better for you:

    http://simple-fields.com/

    http://wordpress.org/extend/plugins/custom-field-suite/?utm_source=dlvr.it&utm_medium=buzz

    http://www.advancedcustomfields.com/

  6. danielVinci
    Member
    Posted 11 months ago #

    I think I like most ACF. It shuold fix my problems.
    Thank You a lot for Your effort and time.

    D.

  7. artheme
    Member
    Posted 8 months ago #

    I currently also learning how to create custom post type with meta box and display the meta box information.

    Haven't get it clear in my mind yet, but according to what I read, we need to first handle the input of the metabox and then display it using get_post_meta() function. Not sure how to use it.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic