phpwordpressmeta-boxes

WP Alchemy echoing meta value in template


I'm using WP Alchemy to create a meta box in a post that allows the user to select from a list of categories. However I can't seem to echo the value, once saved. (Dima, hoping you can help me on this!) What am I doing wrong? Thanks in advance!!!

From functions.php:

$catPos_metabox = new WPAlchemy_MetaBox(array
(
    'id' => '_catPosition',
    'title' => 'Category Position',
    'template' => STYLESHEETPATH . '/assets/functions/select_meta.php',
    'include_post_id' => 33
));

From select_meta.php:

<div class="my_meta_control">

    <label class="space">Space One</label><br/>

    <?php $mb->the_field('space1'); ?>
    <select name="<?php $mb->the_name(); ?>">
<?php
    $cats = get_categories();
    foreach($cats as $cat) {
        $catID = $cat->term_id;
        $catName = $cat->name;
?>
        <option value="<?php echo $catID; ?>" <?php $mb->the_select_state($catID); ?>><?php echo $catName; ?></option>
<?php } ?>
    </select> <!-- space one -->
    <div class="clear"></div>

</div>

From the template, homepage.php:

<?php 
if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();
   global $catPos_metabox;
   $catPos_metabox->the_meta();
   echo $catPos_metabox->the_value('spaceOne');
endwhile; endif; 
?>

HTML Output for the metabox on post editor:

<div id="_catPosition_metabox" class="postbox " >
    <div class="handlediv" title="Click to toggle">
        <br />
    </div>
    <h3 class='hndle'><span>Category Position</span></h3>
    <div class="inside">
        <div class="my_meta_control">

        <label class="space">Space One</label><br/>

        <select name="_catPosition[space1]">

            <option value="5" >Arts &amp; Culture</option>
            <option value="3" >Fashion</option>
            <option value="4"  selected="selected">Music</option>
            <option value="1" >Uncategorized</option>
        </select> <!-- space one -->

        <div class="clear"></div>

    </div> 
    <input type="hidden" name="_catPosition_nonce" value="f8c2617abe" />
</div>

Solution

  • Sometimes you will need to do the following:

    <?php 
        global $catPos_metabox; // sometimes you will need the global statement
        $meta = $catPos_metabox->the_meta();
    ?>