/** * Enqueues bundled scripts. */ private function enqueue_bundled_scripts() { $wp_enqueue_util = WP_Enqueue_Util::get_instance(); $wp_recipe = WP_Recipe::get_instance(); $wp_recipe_ingredients = WP_Recipe_Ingredients::get_instance(); $wp_recipe_ingredients_group = WP_Recipe_Ingredients_Group::get_instance(); $handle = $wp_recipe->get_slug() . '-admin-script'; $relative_path = __DIR__ . '/../admin/js/'; $filename = 'bundle.min.js'; $filename_debug = 'bundle.concat.js'; $dependencies = array('underscore'); $group_keys = $wp_recipe_ingredients_group->get_keys(); $new_group = array($group_keys['group'] => ''); $data = array('ingredient' => array('classes' => $wp_recipe_ingredients->get_classes(), 'group' => array('classes' => $wp_recipe_ingredients_group->get_classes(), 'keys' => $group_keys, 'markup' => $wp_recipe_ingredients_group->generate_admin_markup($new_group)), 'id' => WP_Recipe_Util::get_instance()->get_id($wp_recipe_ingredients->get_slug()), 'markup' => $wp_recipe_ingredients->generate_admin_markup())); $options = new WP_Enqueue_Options($handle, $relative_path, $filename, $filename_debug, $dependencies, $wp_recipe->get_version(), true); $localization_name = WP_Recipe_Util::get_instance()->get_id($wp_recipe->get_slug()); $options->set_localization($localization_name, $data); $wp_enqueue_util->enqueue_script($options); }
/** * Gets instance of class. * * @return WP_Recipe_Ingredients Instance of the class. */ public static function get_instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
/** * Renders view. */ public function __render() { global $post; $wp_recipe_ingredients_group = WP_Recipe_Ingredients_Group::get_instance(); wp_nonce_field($this->slug, WP_Recipe_Util::get_instance()->get_nonce($this->slug)); $ingredients = maybe_unserialize(get_post_meta($post->ID, WP_Recipe_Util::get_instance()->get_post_meta_key($this->slug), true)); $ingredients_classes = $this->get_classes(); $ingredients_group_classes = $wp_recipe_ingredients_group->get_classes(); echo '<fieldset class="' . $this->slug . '">'; echo '<section class="toolbar">'; echo '<ul class="actions">'; echo '<li class="action-item">'; echo '<button class="' . $ingredients_classes['add'] . ' button">Add Ingredient</button>'; echo '</li>'; echo '<li class="action-item">'; echo '<button class="' . $ingredients_group_classes['add'] . ' button">Add Group</button>'; echo '</li>'; echo '</ul>'; echo '</section>'; echo '<div class="editor">'; echo '<ul class="list ' . $ingredients_classes['list'] . '">'; if (!empty($ingredients)) { foreach ($ingredients as $item) { if (is_array($item)) { echo $wp_recipe_ingredients_group->generate_admin_markup($item); } else { echo $this->generate_admin_markup($item); } } } echo '</ul>'; echo '</div>'; echo '</fieldset>'; }