'',
'mb_field_name_user' => '',
'mb_field_value_condition' => '',
'mb_field_value' => '',
) );
// Specific Field Any Value
if( isset( $requirement['trigger_type'] )
&& ( $requirement['trigger_type'] === 'gamipress_meta_box_update_specific_post_field_any_value' ) ) {
update_post_meta( $requirement_id, '_gamipress_meta_box_field_name', $requirement['mb_field_name'] );
}
// Specific Field Any Value
if( isset( $requirement['trigger_type'] )
&& ( $requirement['trigger_type'] === 'gamipress_meta_box_update_specific_user_field_any_value' ) ) {
update_post_meta( $requirement_id, '_gamipress_meta_box_field_name_user', $requirement['mb_field_name_user'] );
}
// Any Field Specific Value
if( isset( $requirement['trigger_type'] )
&& ( $requirement['trigger_type'] === 'gamipress_meta_box_update_any_post_field_specific_value'
|| $requirement['trigger_type'] === 'gamipress_meta_box_update_any_user_field_specific_value' ) ) {
update_post_meta( $requirement_id, '_gamipress_meta_box_field_value_condition', $requirement['mb_field_value_condition'] );
update_post_meta( $requirement_id, '_gamipress_meta_box_field_value', $requirement['mb_field_value'] );
}
// Specific Field Specific Value
if( isset( $requirement['trigger_type'] )
&& ( $requirement['trigger_type'] === 'gamipress_meta_box_update_specific_post_field_specific_value' ) ) {
update_post_meta( $requirement_id, '_gamipress_meta_box_field_value_condition', $requirement['mb_field_value_condition'] );
update_post_meta( $requirement_id, '_gamipress_meta_box_field_value', $requirement['mb_field_value'] );
update_post_meta( $requirement_id, '_gamipress_meta_box_field_name', $requirement['mb_field_name'] );
}
// Specific Field Specific Value
if( isset( $requirement['trigger_type'] )
&& ( $requirement['trigger_type'] === 'gamipress_meta_box_update_specific_user_field_specific_value' ) ) {
update_post_meta( $requirement_id, '_gamipress_meta_box_field_value_condition', $requirement['mb_field_value_condition'] );
update_post_meta( $requirement_id, '_gamipress_meta_box_field_value', $requirement['mb_field_value'] );
update_post_meta( $requirement_id, '_gamipress_meta_box_field_name_user', $requirement['mb_field_name_user'] );
}
}
add_action( 'gamipress_ajax_update_requirement', 'gamipress_meta_box_ajax_update_requirement', 10, 2 );
/**
* Get meta box fields objects related to posts and custom types
*
* @since 1.0.0
*
* @return array
*/
function gamipress_meta_box_get_all_post_fields() {
if ( ! function_exists( 'rwmb_get_object_fields' ) ) {
return array();
}
$post_fields = rwmb_get_object_fields( 'post' );
// Get custom types created on Meta Box
$custom_post_types = get_posts( [
'post_type' => 'mb-post-type',
'post_status' => 'publish',
'numberposts' => -1
] );
if ( !empty ( $custom_post_types ) ) {
foreach ( $custom_post_types as $custom_type ) {
$custom_fields = rwmb_get_object_fields( $custom_type->post_name );
$post_fields = array_merge($post_fields, $custom_fields);
}
}
return $post_fields;
}