/** * Enqueues bundled scripts. */ private function enqueue_bundled_scripts() { $wp_enqueue_util = WP_Enqueue_Util::get_instance(); $wp_recipe = WP_Recipe::get_instance(); $handle = $wp_recipe->get_slug() . '-scripts'; $relative_path = __DIR__ . '/../site/js/'; $filename = 'bundle.min.js'; $filename_debug = 'bundle.concat.js'; $dependencies = array(); $version = $wp_recipe->get_version(); $styles = array($wp_enqueue_util->get_source_to_enqueue(__DIR__ . '/../site/css/', 'wp-recipe-print.min.css', 'wp-recipe-print.css')); $styles = apply_filters('wp_recipe_enqueue_print_styles', $styles); $data = array('print' => array('styles' => $styles)); $options = new WP_Enqueue_Options($handle, $relative_path, $filename, $filename_debug, $dependencies, $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); }
/** * 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); }
/** * Saves data. */ public function __save() { global $post; if (empty($post) || !array_key_exists('content', $_POST)) { return; } $post_id = $post->ID; $wp_recipe = WP_Recipe::get_instance(); $wp_recipe_util = WP_Recipe_Util::get_instance(); $post_references = WP_Recipe_Cross_Reference_Posts::get_instance(); $recipe_references = WP_Recipe_Cross_Reference_Recipes::get_instance(); /* * Need to grab the content from `$_POST` and not the `global post` because * the `global post` contains the existing post information and the `$_POST` * contains the new information being saved. */ $shortcode = $wp_recipe_util->get_shortcode($wp_recipe->get_slug()); $recipe_ids = $wp_recipe_util->get_shortcode_attribute_values($_POST['content'], $shortcode, 'id'); $post_references->update($post_id, $recipe_ids); $recipe_references->update($post_id, $recipe_ids); }
/** * Saves data. * * @param string $post_id Post id. */ public function __save($post_id) { $post_type = WP_Recipe_Post_Type::get_instance()->get_post_type(); WP_Recipe_Util::get_instance()->save_meta_box($post_type, $post_id, $this->slug); }
/** * Adds a recipe reference to posts using the recipe. * * @param string $post_id Post id. * @param array $recipe_ids_used_in_post Recipe ids used in the post. */ private function add_recipe_reference_to_posts_using_the_recipe($post_id, $recipe_ids_used_in_post) { $recipe_ids_used_in_post = array_unique($recipe_ids_used_in_post); foreach ($recipe_ids_used_in_post as $recipe_id) { if (WP_Recipe_Util::get_instance()->recipe_exists($recipe_id)) { $this->add_recipe_reference_to_post($post_id, $recipe_id); } } }
/** * Initialize class. */ public function __construct() { $shortcode = WP_Recipe_Util::get_instance()->get_shortcode(WP_Recipe::get_instance()->get_slug()); add_shortcode($shortcode, array($this, '__render')); }
/** * Adds a post referenced to recipes used in a post. * * @param string $post_id Post id. * @param array $recipe_ids_used_in_post Recipe ids used in the post. */ private function add_post_reference_to_recipes_used_in_post($post_id, $recipe_ids_used_in_post) { foreach ($recipe_ids_used_in_post as $recipe_id) { if (WP_Recipe_Util::get_instance()->recipe_exists($recipe_id) && !$this->is_post_a_recipe_reference($post_id, $recipe_id)) { $this->add_post_reference_to_recipe($post_id, $recipe_id); } } }
/** * Saves meta box. * * @param string $post_type Post type to save for. * @param string $post_id Post id. * @param string $slug Slug of items to save. */ public function save_meta_box($post_type, $post_id, $slug) { $wp_post_type_util = WP_Post_Type_Util::get_instance(); if (!$wp_post_type_util->is_post_type_saving_post_meta($post_type)) { return; } $wp_recipe_util = WP_Recipe_Util::get_instance(); $nonce = $wp_recipe_util->get_nonce($slug); if ($wp_post_type_util->can_save_post_meta($post_id, $slug, $nonce)) { $post_meta_key = $wp_recipe_util->get_post_meta_key($slug); $id = $wp_recipe_util->get_id($slug); update_post_meta($post_id, $post_meta_key, $_POST[$id]); } }