renderTemplate(FieldHTML::metaBoxToggler(["WYSIWYG"]), [ "group-name" => self::slugify($fieldGroup[0]), "for" => "page", "hidden" => ["WYSIWYG"], ]); } }); add_action('add_meta_boxes', function () use ($fieldGroup) { $name = $fieldGroup[0]; array_shift($fieldGroup); foreach ($fieldGroup as $group) { // conditionally show/hide the box $slugName = self::slugify($name); add_meta_box( $slugName, $name, function ($post) use ($fieldGroup, $group) { foreach ($fieldGroup as $field) { // sanatize media fields if ($field["type"] === "image") { if (!isset($field["store"])) { $field["store"] = "json"; } } echo site()->renderTemplate(FieldHTML::template($field["type"], get_post_meta($post->ID, "rad_".$field['name'], true), $post->ID, $field), [ "value" => get_post_meta($post->ID, "rad_".$field['name'], true), "id" => $post->ID, "field" => $field, ])."
"; } }, 'page', 'advanced', ); } }); add_action('save_post', function ($post_id) use ($fieldGroup) { foreach ($fieldGroup['fields'] as $field) { if (!isset($_POST['rad_'.$field['name']])) { continue; } update_post_meta($post_id, 'rad_'.$field['name'], wp_kses_post($_POST['rad_'.$field['name']])); } }); } }