$meta_box = array( 'id' => 'wsk-recipe-details', 'title' => 'Recipe Details Box', 'page' => 'recipe', 'context' => 'normal', 'priority' => 'high', 'fields' => array( array( 'name' => 'Recipe Title', 'desc' => 'Enter Recipe Title', 'id' => '_recipetitle', 'type' => 'text', 'std' => '' ), array( 'name' => 'Ingredients', 'desc' => 'One ingredient per line, outputs as unordered list', 'id' => '_recipeingred', 'type' => 'textarea', 'std' => '' ), array( 'name' => 'Instructions', 'desc' => 'List instructions, one instruction per line, outputs as ordered list', 'id' => '_recipeinstructions', 'type' => 'textarea', 'std' => '' ), array( 'name' => 'Variations', 'desc' => 'List variations, one per line, outputs as unordered list', 'id' => '_recipevariations', 'type' => 'textarea', 'std' => '' ), array( 'name' => 'Quick Notes', 'desc' => 'List any notes ... paragraphs OK', 'id' => '_recipenotes', 'type' => 'textarea', 'std' => '' ), array( 'name' => 'Preparation Time', 'desc' => 'Enter Prep Time', 'id' => '_recipeprep', 'type' => 'text', 'std' => '' ), array( 'name' => 'Cooking Time', 'desc' => 'Enter Cooking Time', 'id' => '_recipecook', 'type' => 'text', 'std' => '' ), array( 'name' => 'Servings', 'desc' => 'Enter Servings Info', 'id' => '_recipeservings', 'type' => 'text', 'std' => '' ), array( 'name' => 'Calories', 'desc' => 'Enter Calories per Serving', 'id' => '_recipecalories', 'type' => 'text', 'std' => '' ), array( 'name' => 'Fat', 'desc' => 'Enter Fat Grams per Serving', 'id' => '_recipefat', 'type' => 'text', 'std' => '' ), array( 'name' => 'Protein', 'desc' => 'Enter Protein Grams per Serving', 'id' => '_recipeprotein', 'type' => 'text', 'std' => '' ), ) ); // Add Recipes Meta Boxes add_action('admin_menu', 'wsk_add_recipe_meta'); // Add meta box function wsk_add_recipe_meta() { global $meta_box; add_meta_box($meta_box['id'], $meta_box['title'], 'wsk_show_recipe_box', $meta_box['page'], $meta_box['context'], $meta_box['priority']); } // Callback function to show recipe fields in meta box - NEEDS TO MATCH FIELDS ABOVE function wsk_show_recipe_box() { global $meta_box, $post; // Use nonce for verification echo ''; echo '
', ' | ';
switch ($field['type']) {
case 'text':
echo '', ' ', $field['desc']; break; case 'textarea': echo '', ' ', $field['desc']; break; case 'select': //not currently used but available if needed echo ''; break; case 'radio': //not currently used but available if needed foreach ($field['options'] as $option) { echo '', $option['name']; } break; case 'checkbox': //not currently used but available if needed echo ''; break; } echo ' | ', ' |
---|