示例#1
0
function recipress_remove_taxonomy_boxes()
{
    remove_meta_box('tagsdiv-ingredient', recipress_post_type(), 'side');
    remove_meta_box('tagsdiv-cuisine', recipress_post_type(), 'side');
    remove_meta_box('tagsdiv-course', recipress_post_type(), 'side');
    remove_meta_box('tagsdiv-skill_level', recipress_post_type(), 'side');
}
示例#2
0
function recipe_save_data($post_id)
{
    $meta_fields = recipress_fields();
    // verify nonce
    if (!wp_verify_nonce($_POST['recipe_meta_box_nonce'], basename(__FILE__))) {
        return $post_id;
    }
    // check autosave
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return $post_id;
    }
    // check permissions
    if ('page' == $_POST['post_type']) {
        if (!current_user_can('edit_page', $post_id)) {
            return $post_id;
        }
    } elseif (!current_user_can('edit_post', $post_id)) {
        return $post_id;
    }
    // set the value of hasRecipe
    $hasRecipe_old = get_post_meta($post_id, 'hasRecipe', true);
    $hasRecipe_new = $_POST['hasRecipe'];
    if ($hasRecipe_new && $hasRecipe_new != $hasRecipe_old) {
        update_post_meta($post_id, 'hasRecipe', $hasRecipe_new);
    } elseif ('' == $hasRecipe_new && $hasRecipe_old) {
        delete_post_meta($post_id, 'hasRecipe', $hasRecipe_old);
    }
    // determine if a recipe was added
    if ($hasRecipe_new == 'Yes') {
        foreach ($meta_fields as $field) {
            if ($field['type'] == 'tax_select') {
                continue;
            }
            $old = get_post_meta($post_id, $field['id'], true);
            $new = $_POST[$field['id']];
            if ($new && $new != $old) {
                if ('ingredient' == $field['id']) {
                    foreach ($new as &$ingredient) {
                        $ingredient['measurement'] = $ingredient['measurement'];
                    }
                }
                update_post_meta($post_id, $field['id'], $new);
            } elseif ('' == $new && $old) {
                delete_post_meta($post_id, $field['id'], $old);
            }
        }
        // save taxonomies
        $post = get_post($post_id);
        if ($post->post_type == recipress_post_type()) {
            $the_ingredients = $_POST['ingredient'];
            foreach ($the_ingredients as $the_ingredient) {
                $ingredients[] = $the_ingredient['ingredient'];
            }
            wp_set_object_terms($post_id, $ingredients, 'ingredient');
            $cuisine = $_POST['cuisine'];
            $course = $_POST['course'];
            $skill_level = $_POST['skill_level'];
            wp_set_object_terms($post_id, $cuisine, 'cuisine');
            wp_set_object_terms($post_id, $course, 'course');
            wp_set_object_terms($post_id, $skill_level, 'skill_level');
        }
    }
}