2011-07-11 11 views
1

私はWP Alchemyを使用して、カテゴリのリストから選択できるポストにメタボックスを作成しています。しかし、一度保存すると値をエコーすることはできません。 (ディマ、これについて私が助けてくれることを願って!)どうしたの?前もって感謝します!!! select_meta.phpからWPアルケミーテンプレートのメタ値をエコーする

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

:テンプレートから

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

、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; 
?> 
のfunctions.phpから

投稿エディタ上metaboxため

HTML出力:

<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> 
+0

コードは、今働いて! –

答えて

0

時々、次の操作を実行する必要があります。テンプレートから

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

私はあなたの答えにコードを反映するために上記の質問のコードを更新しましたが、 "echo $ meta ['space1'];"まだ何もエコーされていません。何か案は? –

関連する問題