/** * Include Implementations */ function _wp_fields_api_implementations() { $implementation_dir = WP_FIELDS_API_DIR . 'implementation/wp-includes/fields-api/forms/'; // User require_once $implementation_dir . 'class-wp-fields-api-form-user-edit.php'; WP_Fields_API_Form_User_Edit::register('user', 'user-edit'); // Term require_once $implementation_dir . 'class-wp-fields-api-form-term.php'; require_once $implementation_dir . 'class-wp-fields-api-form-term-add.php'; WP_Fields_API_Form_Term::register('term', 'term-edit'); WP_Fields_API_Form_Term_Add::register('term', 'term-add'); // Settings require_once $implementation_dir . 'settings/class-wp-fields-api-form-settings.php'; require_once $implementation_dir . 'settings/class-wp-fields-api-form-settings-general.php'; WP_Fields_API_Form_Settings_General::register('settings', 'general'); // Settings API compatibility require_once $implementation_dir . 'settings/class-wp-fields-api-settings-api.php'; // Run Settings API compatibility (has it's own hooks) new WP_Fields_API_Settings_API(); // Post / comment editor support for meta boxes add_action('add_meta_boxes', array('WP_Fields_API_Meta_Box_Section', 'add_meta_boxes'), 10, 2); // Post types WP_Fields_API_Table_Form::register('post', 'post-edit', 'post'); WP_Fields_API_Table_Form::register('post', 'post-edit', 'page'); // Comment types WP_Fields_API_Table_Form::register('comment', 'comment-edit', 'comment'); }
/** * {@inheritdoc} */ public function render() { // Add Settings API hidden form fields and nonce settings_fields($this->id); parent::render(); }
/** * {@inheritdoc} */ public function save_fields($item_id = null, $object_name = null) { /** * @var $wpdb wpdb */ global $wpdb; if (defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE) { /** * Fires before the page loads on the 'Your Profile' editing form. * * The action only fires if the current user is editing their own profile. * * @since 2.0.0 * * @param int $user_id The user ID. */ do_action('personal_options_update', $item_id); } else { /** * Fires before the page loads on the 'Edit User' form. * * @since 2.7.0 * * @param int $user_id The user ID. */ do_action('edit_user_profile_update', $item_id); } // Update the email address in signups, if present. if (is_multisite()) { $user = get_userdata($item_id); if ($user && $user->user_login && isset($_POST['email']) && is_email($_POST['email'])) { $signup_id = (int) $wpdb->get_var($wpdb->prepare("SELECT signup_id FROM {$wpdb->signups} WHERE user_login = %s", $user->user_login)); if (0 < $signup_id) { $wpdb->query($wpdb->prepare("UPDATE {$wpdb->signups} SET user_email = %s WHERE signup_id = %d", $_POST['email'], $signup_id)); } } } // Update the user. $errors = edit_user($item_id); global $super_admins; // Grant or revoke super admin status if requested. if (!defined('IS_PROFILE_PAGE') || !IS_PROFILE_PAGE) { if (is_multisite() && is_network_admin() && current_user_can('manage_network_options') && !isset($super_admins) && empty($_POST['super_admin']) == is_super_admin($item_id)) { if (empty($_POST['super_admin'])) { revoke_super_admin($item_id); } else { grant_super_admin($item_id); } } } // Return if not successful if (is_wp_error($errors)) { return $errors; } // Save additional fields return parent::save_fields($item_id, $object_name); }
/** * {@inheritdoc} */ public function save_fields($item_id = null, $object_name = null) { // Save new term $success = wp_update_term($item_id, $object_name, $_POST); // Return if not successful if (is_wp_error($success)) { return $success; } // Save additional fields return parent::save_fields($item_id, $object_name); }