LLMS_Admin_Builder::update_custom_schemas( string $type, LLMS_Post_Model $post, array $post_data )
Handle updating custom schema data
Parameters Parameters
- $type
-
(string) (Required) Model type (lesson, quiz, etc...).
- $post
-
(LLMS_Post_Model) (Required) LLMS_Post_Model object for the model being updated.
- $post_data
-
(array) (Required) Assoc array of raw data to update the model with.
Return Return
(void)
Source Source
File: includes/admin/class.llms.admin.builder.php
}
}
return $ret;
}
/**
* Handle updating custom schema data
*
* @since 3.17.0
* @since 3.30.0 Fixed typo preventing fields specifying a custom callback from working.
* @since 3.30.0 Array fields will run field values through `sanitize_text_field()` instead of requiring a custom sanitization callback.
*
* @param string $type Model type (lesson, quiz, etc...).
* @param LLMS_Post_Model $post LLMS_Post_Model object for the model being updated.
* @param array $post_data Assoc array of raw data to update the model with.
* @return void
*/
public static function update_custom_schemas( $type, $post, $post_data ) {
$schemas = self::get_custom_schemas();
if ( empty( $schemas[ $type ] ) ) {
return;
}
$groups = $schemas[ $type ];
foreach ( $groups as $name => $group ) {
// Allow 3rd parties to manage their own custom save methods.
if ( apply_filters( 'llms_builder_update_custom_fields_group_' . $name, false, $post, $post_data, $groups ) ) {
continue;
}
foreach ( $group['fields'] as $fields ) {
foreach ( $fields as $field ) {
$keys = array( $field['attribute'] );
if ( isset( $field['switch_attribute'] ) ) {
$keys[] = $field['switch_attribute'];
}
foreach ( $keys as $attr ) {
if ( isset( $post_data[ $attr ] ) ) {
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 3.30.0 | Array fields will run field values through sanitize_text_field() instead of requiring a custom sanitization callback. |
| 3.17.0 | Introduced. |