Custom select box meta field

时间:2011-06-22 作者:cnotethegr8

对于我的自定义帖子类型,我需要添加属性元框,但我想添加一个额外的字段。

因此,我在这里复制了页面属性元框代码并添加了选择选项,但我需要帮助重写“模块类型”选择框,以便在保存页面时正常工作。

 function page_attributes_meta_box2($post) {
      $post_type_object = get_post_type_object($post->post_type);
       if ( $post_type_object->hierarchical ) {
           $pages = wp_dropdown_pages(array(\'post_type\' => $post->post_type, \'exclude_tree\' => $post->ID, \'selected\' => $post->post_parent, \'name\' => \'parent_id\', \'show_option_none\' => __(\'(no parent)\'), \'sort_column\'=> \'menu_order, post_title\', \'echo\' => 0));
           if ( ! empty($pages) ) {
   ?>
  <p><strong><?php _e(\'Parent\') ?></strong></p>
   <label class="screen-reader-text" for="parent_id"><?php _e(\'Parent\') ?></label>
   <?php echo $pages; ?>
   <?php
           } // end empty pages check
       } // end hierarchical check.
       ?>
   <p><strong><?php _e(\'Order\') ?></strong></p>
   <p><label class="screen-reader-text" for="menu_order"><?php _e(\'Order\') ?></label><input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo esc_attr($post->menu_order) ?>" /></p>
   <p><?php if ( \'page\' == $post->post_type ) _e( \'Need help? Use the Help tab in the upper right of your screen.\' ); ?></p>

   <p><strong><?php _e(\'Module Type\') ?></strong></p>
   <label class="screen-reader-text" for="_cnote_module_page_type"><?php _e(\'Module Type\') ?></label>
   <select id="_cnote_module_page_type" name="_cnote_module_page_type">
        <option value="default">Default</option>
        <option value="parent">Parent</option>
        <option value="chat">Chat</option>
   </select>
   <?php
   }

add_action(\'add_meta_boxes\',\'add_post_template_metaboxr\');
function add_post_template_metaboxr() {
    add_meta_box(\'postparentdiv\', __(\'Post Template\'), \'page_attributes_meta_box2\', \'module\', \'side\', \'high\');
}
**注意,我还没有重命名所有内容,这里有很多复制和粘贴

1 个回复
最合适的回答,由SO网友:Scott 整理而成

要保存自定义元框中的post元字段,您需要连接到save_post 用这样的方式:

add_action( \'save_post\', \'myplugin_save_postdata\' );
有一些关于在codex上添加元框的完整示例代码Function Reference/add meta box

结束

相关推荐

自定义发布类型Metabox-不保存

我添加了一个自定义的post类型,效果很好;我还添加了两个元数据库,它们似乎工作得很好,但它们中的内容总是在几分钟后消失。如果有人能在这方面提供帮助,我将万分感激,S。//元框代码//add_action( \'admin_init\', \'add_custom_metabox\' ); add_action( \'save_post\', \'save_custom_details\' ); function add_custom_metabox() { ad