/** * 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; }
/** * Generates markup for a given ingredient group. * * @param array $ingredient_group Ingredient group to generate markup for. * @return string Recipe ingredient group markup. */ public function generate_markup($ingredient_group) { $wp_recipe_ingredients = WP_Recipe_Ingredients::get_instance(); $group_classes = $this->get_classes(); $html = ''; $html .= '<li class="' . $group_classes['list'] . '">'; foreach ($ingredient_group as $key => $ingredient) { if ('group' === $key) { $html .= $ingredient; $html .= '<ul>'; } else { $html .= $wp_recipe_ingredients->generate_markup($ingredient); } } $html .= '</ul>'; $html .= '</li>'; return $html; }
/** * 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 recipe shortcode template. * * @param array $attributes Shortcode attributes. * @return string Shortcode template. */ private function get_template($attributes) { extract(shortcode_atts(array('id' => ''), $attributes)); if (empty($id)) { return ''; } $post_meta = get_post_meta($id); if (empty($post_meta)) { return ''; } echo '<div class="recipe">'; WP_Recipe_Title::get_instance()->render($id); WP_Recipe_Controls::get_instance()->render(); WP_Recipe_Yield::get_instance()->render($post_meta); WP_Recipe_Description::get_instance()->render($post_meta); WP_Recipe_Ingredients::get_instance()->render($post_meta); WP_Recipe_Directions::get_instance()->render($post_meta); WP_Recipe_Tips::get_instance()->render($post_meta); WP_Recipe_After::get_instance()->render(); echo '</div>'; }
<?php WP_Recipe_Cross_Reference_Posts::get_instance(); WP_Recipe_Cross_Reference_Recipes::get_instance(); WP_Recipe_Cross_References::get_instance(); WP_Recipe_Description::get_instance(); WP_Recipe_Difficulty::get_instance(); WP_Recipe_Directions::get_instance(); WP_Recipe_Enqueue_Admin_Scripts::get_instance(); WP_Recipe_Enqueue_Admin_Styles::get_instance(); WP_Recipe_Enqueue_Scripts::get_instance(); WP_Recipe_Enqueue_Styles::get_instance(); WP_Recipe_Grunticon::get_instance(); WP_Recipe_Id::get_instance(); WP_Recipe_Ingredients::get_instance(); WP_Recipe_Post_Type::get_instance(); WP_Recipe_Post_Type_Columns::get_instance(); WP_Recipe_Post_Type_Remove_Default_Views::get_instance(); WP_Recipe_Query::get_instance(); WP_Recipe_Search_Results::get_instance(); WP_Recipe_Shortcode::get_instance(); WP_Recipe_Taxonomies::get_instance(); WP_Recipe_Tips::get_instance(); WP_Recipe_Yield::get_instance();