WP Alchemy を使用して、投稿にメタ ボックスを作成し、ユーザーがカテゴリのリストから選択できるようにしています。ただし、一度保存すると、値をエコーできないようです。(ディマ、これについて私を助けてくれることを願っています!) 私は何が間違っていますか?前もって感謝します!!!
functions.php から:
$catPos_metabox = new WPAlchemy_MetaBox(array
(
'id' => '_catPosition',
'title' => 'Category Position',
'template' => STYLESHEETPATH . '/assets/functions/select_meta.php',
'include_post_id' => 33
));
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>
テンプレートから、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 出力:
<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 & 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>