2011-02-13 21 views
0

wordpressメタボクスからvalesを投稿し、それをカスタム非階層分類(タグ)に追加する方法があるのだろうかと思っていました。ここで Wordpress Metaboxからカスタムタクソノミへの値を投稿

// Custom taxonomy for Ingredients 
register_taxonomy( 
    'ingredients', 
    'mysite_tax', 
    array( 
     'hierarchical' => false, 
     'label' => 'Ingredients', 
     'query_var' => true, 
     'rewrite' => true 
    ) 
); 

私は現在wpalchemyのmetaboxとmetabox用のコードを使用していたカスタム分類のためのコードである私は、成分のフィールドに値を渡したい

<div class="my_meta_control"> 

    <h4>Ingredients</h4> 

    <?php while($mb->have_fields_and_multi('recipe_ingredients')): ?> 
    <?php $mb->the_group_open(); ?> 

     <?php $mb->the_field('quantity'); ?> 
     <label>Quantity and Ingredients</label> 
     <p><input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>"/></p> 

     <?php $mb->the_field('ingredients'); ?> 
     <p><input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>"/></p> 

     <?php $selected = ' selected="selected"'; ?> 

     <br/><?php $metabox->the_field('units',1); ?> 
     <select name="<?php $metabox->the_name(); ?>"> 
     <option value="unit"<?php if ($metabox->get_the_value() == 'unit') echo $selected; ?>>--Select Unit--</option> 
        <option value="Test"<?php if ($metabox->get_the_value() == 'Test') echo $selected; ?>>Test</option> 
        <option value="Test2"<?php if ($metabox->get_the_value() == 'Test2') echo $selected; ?>>Test 2</option> 
        <option value="Test3"<?php if ($metabox->get_the_value() == 'Test3') echo $selected; ?>>Test 3</option> 
     </select> 

     <a href="#" class="dodelete button">Remove Document</a> 
     </p> 

    <?php $mb->the_group_close(); ?> 
    <?php endwhile; ?> 

    <p style="margin-bottom:15px; padding-top:5px;"><a href="#" class="docopy-ingredients button">Add Document</a></p> 
    <br /><p><a style="float:right; margin:0 10px;" href="#" class="dodelete-ingredients button">Remove All</a></p> 

</div> 

ですカスタム分類にのみ適用されます。私は、PHPの初心者だけど、それは同様に非常に容易であり、私はそれを理解していない:)

私は私がしたが、このコード

<?php 
            // loop a set of field groups 
            while($ingredients_metabox->have_fields('recipe_ingredients')) 
            { 
             echo '<li>'; 
             $ingredients_metabox->the_value('quantity'); 

             $ingredients_metabox->the_value('ingredients'); 

             $ingredients_metabox->the_value('units'); 
             echo '</li>'; 
            } 
           ?> 

を使用して、ページテンプレート内の値を取得することができますカスタム分類に値(単なる成分)を押し入れる方法があるのだろうか?

答えて

0

あなたはsave_filterを使用する必要がありますが、WPAlchemyを使用するかどうかは不思議です。 WPAlchemyの学習に費やされた時間は、WordPressの中心的なAPIとPHPの学習に費やすことができました。つまり、WPAlchemyを使用することを選択した場合、以下は* save_filter *の実装方法です。

<?php 

    $foo_meta_box = new WPAlchemy_MetaBox(array(
     'id' => '_custom_meta', 
     'title' => 'My Custom Meta', 
     'template' => TEMPLATEPATH . '/custom/meta.php', 
     'save_filter' => 'foo_alchemy_save_filter' 
    )); 

    function foo_alchemy_save_filter($meta, $post_id) { 
     unset($meta['ingredients']; // remove ingredients meta data before saving 
     // do your custom taxonomy stuff using taxonomy API such as wp_set_object_terms() 
     return $meta; 
    } 

?> 
0

WPAlchemyコメントとそれに続くいくつかのコメントを参照してください。

+0

こんにちは、あなたのサイトがバックアップされているとうれしいです:)。私は週末にこれらのコメントを見てきました。そして、彼らは私がしたいことの反対をしたいと思うようです。彼らはカスタムタクソミノミーからタームを得て、それをメタボックスにしたいと思うようです。私はメタボックスの特定の分野の用語をカスタムタクソノミにプッシュしたいと思います。またsave_action関数は正しく機能することはできません。サイトを破壊し続けます。 – tcherokee

関連する問題