class Fieldmanager_Context_User extends Fieldmanager_Context_Storable (View source)

Use fieldmanager on the user profile screen and save data primarily to user meta.

Properties

Fieldmanager_Field $fm

The base field associated with this context.

from  Fieldmanager_Context
string $uniqid

Unique ID of the form. Used for forms that are not built into WordPress.

from  Fieldmanager_Context
array $save_keys

Store the meta keys this field saves to, to catch naming conflicts.

from  Fieldmanager_Context
array $taxonomies_to_save

Taxonomies to save to.

from  Fieldmanager_Context_Storable
string $title

Group Title.

Methods

__construct(string $title = '', Fieldmanager_Field $fm = null)

Add fieldmanager to user form.

string
nonce_key()

Get the nonce key for this field.

array
refresh_nonce(array $response)

Include a fresh nonce for this field in a response with refreshed nonces.

bool
is_valid_nonce()

Check if the nonce is valid. Returns false if the nonce is missing and throws an exception if it's invalid. If all goes well, returns true.

mixed
prepare_data(mixed $old_value = null, mixed $new_value = null, object $fm = null)

Prepare the data for saving.

string
render_field(array $args = array())

Render the field.

save(mixed $data = null)

Handle saving data for any context.

save_field(object $field, mixed $data)

Save a single field.

save_walk_children(object $field, mixed $data)

Walk group children to save when serialize_data => false.

mixed
load()

Handle loading data for any context.

mixed
load_field(object $field)

Load a single field.

mixed
load_walk_children(object $field)

Walk group children to load when serialize_data => false.

static string|array
sanitize_scalar_value(mixed $value)

Meta and options are always stored as strings, so it's best to ensure that scalar values get cast as strings to ensure that update_metadata() and update_option() are able to correctly compare the current value against the previous value.

string|array
get_data(int $user_id, string $meta_key, bool $single = false)

Get user meta.

bool|int
add_data(int $user_id, string $meta_key, mixed $meta_value, bool $unique = false)

Add user meta.

mixed
update_data(int $user_id, string $meta_key, mixed $meta_value, mixed $data_prev_value = '')

Update user meta.

bool
delete_data(int $user_id, string $meta_key, mixed $meta_value = '')

Delete user meta.

mixed
legacy_presave_filter(mixed $data) deprecated

Maintain legacy support for custom filter.

render_user_form(WP_User $user)

Render the form on the user profile page.

save_user_form(int $user_id)

Save user form.

save_to_user_meta(int $user_id, array $data = null)

Save data to user meta.

Details

__construct(string $title = '', Fieldmanager_Field $fm = null)

Add fieldmanager to user form.

Parameters

string $title

The form title.

Fieldmanager_Field $fm

The base field.

protected string nonce_key()

Get the nonce key for this field.

Return Value

string

array refresh_nonce(array $response)

Since: 1.3.0

Include a fresh nonce for this field in a response with refreshed nonces.

Parameters

array $response

Response data.

Return Value

array

Updated response data.

protected bool is_valid_nonce()

Check if the nonce is valid. Returns false if the nonce is missing and throws an exception if it's invalid. If all goes well, returns true.

Return Value

bool

protected mixed prepare_data(mixed $old_value = null, mixed $new_value = null, object $fm = null)

Prepare the data for saving.

Parameters

mixed $old_value

Optional. The previous value.

mixed $new_value

Optional. The new value for the field.

object $fm

Optional. The Fieldmanager_Field to prepare.

Return Value

mixed

The filtered and sanitized value, safe to save.

protected string render_field(array $args = array())

Render the field.

Parameters

array $args

{ Optional. Arguments to adjust the rendering behavior.

@type mixed $data The existing data to display with the field. If
                  absent, data will be loaded using
                  Fieldmanager_Context::_load().
@type boolean $echo Output if true, return if false. Default is true.

}

Return Value

string

if $args['echo'] == false.

protected save(mixed $data = null)

Handle saving data for any context.

Parameters

mixed $data

Data to save. Should be raw, e.g. POST data.

protected save_field(object $field, mixed $data)

Save a single field.

Parameters

object $field

Fieldmanager field.

mixed $data

Data to save.

Exceptions

FM_Developer_Exception

protected save_walk_children(object $field, mixed $data)

Walk group children to save when serialize_data => false.

Parameters

object $field

Fieldmanager field.

mixed $data

Data to save.

protected mixed load()

Handle loading data for any context.

Return Value

mixed

The loaded data.

protected mixed load_field(object $field)

Load a single field.

Parameters

object $field

The Fieldmanager field for which to load data.

Return Value

mixed

Data stored for that field in this context.

protected mixed load_walk_children(object $field)

Walk group children to load when serialize_data => false.

Parameters

object $field

Fieldmanager field for which to load data.

Return Value

mixed

Data stored for a singular field with serialized data, or array of data for a groups's children.

static string|array sanitize_scalar_value(mixed $value)

Since: 1.2.0

Meta and options are always stored as strings, so it's best to ensure that scalar values get cast as strings to ensure that update_metadata() and update_option() are able to correctly compare the current value against the previous value.

Parameters

mixed $value

Value being stored.

Return Value

string|array

If $value is scalar, a string is returned. Otherwise, $value returns untouched.

protected string|array get_data(int $user_id, string $meta_key, bool $single = false)

Get user meta.

Parameters

int $user_id

The User ID.

string $meta_key

The meta key for the user meta data.

bool $single

Optional. If true, only returns the first value found for the given data_key. This won't apply to every context. Default is false.

Return Value

string|array

The stored data. If no data is found, should return an empty string (""). {\get_post_meta()}.

See also

get_user_meta().

protected bool|int add_data(int $user_id, string $meta_key, mixed $meta_value, bool $unique = false)

Add user meta.

Parameters

int $user_id

The User ID.

string $meta_key

The meta key for the user meta data.

mixed $meta_value

The meta data.

bool $unique

Optional. If true, data will only be added if the object with the given $data_id doesn't already contain data for the given $data_key. This may not apply to every context. Default is false.

Return Value

bool|int

On success, should return the ID of the stored data (an integer, which will evaluate as true). If the $unique argument is set to true and data with the given key already exists, this should return false. {\add_post_meta()}.

See also

add_user_meta().

protected mixed update_data(int $user_id, string $meta_key, mixed $meta_value, mixed $data_prev_value = '')

Update user meta.

Parameters

int $user_id

The User ID.

string $meta_key

The meta key for the user meta data.

mixed $meta_value

The meta data.

mixed $data_prev_value

Optional. Only update data if the previous value matches the data provided. This may not apply to every context.

Return Value

mixed

Should return data id if the data doesn't exist, otherwise should return true on success and false on failure. If the value passed to this method is the same as the stored value, this method should return false. {\update_post_meta()}.

See also

update_user_meta().

protected bool delete_data(int $user_id, string $meta_key, mixed $meta_value = '')

Delete user meta.

Parameters

int $user_id

The User ID.

string $meta_key

The meta key for the user meta data.

mixed $meta_value

The meta data.

Return Value

bool

False for failure. True for success. {\delete_post_meta()}.

See also

delete_user_meta().

mixed legacy_presave_filter(mixed $data) deprecated

deprecated

Maintain legacy support for custom filter.

Parameters

mixed $data

Data being saved.

Return Value

mixed

render_user_form(WP_User $user)

Render the form on the user profile page.

Parameters

WP_User $user

The user.

save_user_form(int $user_id)

Save user form.

Parameters

int $user_id

The user ID.

save_to_user_meta(int $user_id, array $data = null)

Save data to user meta.

Parameters

int $user_id

The user ID.

array $data

The user data.