WP Recipe Maker - Version 1.21.0

Version Description

  • Feature: change ingredients and instructions list style from settings page
  • Feature: Rename terms on the manage page
  • Feature: Associate same categories as parent post with recipes
  • Improvement: Correctly apply font size setting to Tastefully Simple template
  • Improvement: Ability to override the comment rating templates
  • Fix: Prevent Firefox list style position issue
  • Fix: Make sure Premium version loads with all directory names
  • Fix: Prevent empty nutrition label from showing up
Download this release

Release Info

Developer BrechtVds
Plugin Icon 128x128 WP Recipe Maker
Version 1.21.0
Comparing to
See all releases

Code changes from version 1.20.0 to 1.21.0

assets/css/public/_comments.scss CHANGED
@@ -1,7 +1,5 @@
1
  // main: public.scss
2
  .comment-form-wprm-rating {
3
- display: none;
4
-
5
  .wprm-rating-star {
6
  cursor: pointer;
7
  }
1
  // main: public.scss
2
  .comment-form-wprm-rating {
 
 
3
  .wprm-rating-star {
4
  cursor: pointer;
5
  }
assets/css/public/_template_reset.scss CHANGED
@@ -6,7 +6,11 @@
6
 
7
  p, li {
8
  font-size: 1em;
9
- }
 
 
 
 
10
 
11
  li:before {
12
  display: none;
6
 
7
  p, li {
8
  font-size: 1em;
9
+ }
10
+
11
+ li {
12
+ list-style-position: outside;
13
+ }
14
 
15
  li:before {
16
  display: none;
assets/css/public/public.min.css CHANGED
@@ -1 +1 @@
1
- .comment-form-wprm-rating,.wprm-recipe li:before{display:none}.comment-form-wprm-rating .wprm-rating-star{cursor:pointer}.wprm-rating-star svg{vertical-align:middle;width:16px;height:16px;margin:0}.wprm-rating-star.rated svg polygon{fill:#000}.wprm-recipe{overflow:auto;zoom:1}.wprm-recipe li,.wprm-recipe p{font-size:1em}
1
+ .comment-form-wprm-rating .wprm-rating-star{cursor:pointer}.wprm-rating-star svg{vertical-align:middle;width:16px;height:16px;margin:0}.wprm-rating-star.rated svg polygon{fill:#000}.wprm-recipe{overflow:auto;zoom:1}.wprm-recipe li,.wprm-recipe p{font-size:1em}.wprm-recipe li{list-style-position:outside}.wprm-recipe li:before{display:none}
assets/js/admin/manage.js CHANGED
@@ -1,5 +1,19 @@
1
  var wprm_admin = wprm_admin || {};
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  wprm_admin.update_term_metadata = function(term_id, field, value) {
4
  var data = {
5
  action: 'wprm_update_term_metadata',
@@ -124,7 +138,7 @@ jQuery(document).ready(function($) {
124
 
125
  // Add tooltips.
126
  jQuery('.wprm-manage-ingredients-actions').tooltipster({
127
- content: '<div class="wprm-manage-ingredients-actions-tooltip"><div class="tooltip-header">&nbsp;</div><a href="#" class="wprm-manage-ingredients-actions-link">Edit Ingredient Link</a><a href="#" class="wprm-manage-ingredients-actions-merge">Merge into Another Ingredient</a><a href="#" class="wprm-manage-ingredients-actions-delete">Delete Ingredient</a></div>',
128
  contentAsHTML: true,
129
  functionBefore: function() {
130
  var instances = jQuery.tooltipster.instances();
@@ -161,7 +175,7 @@ jQuery(document).ready(function($) {
161
  });
162
 
163
  jQuery('.wprm-manage-taxonomies-actions').tooltipster({
164
- content: '<div class="wprm-manage-taxonomies-actions-tooltip"><div class="tooltip-header">&nbsp;</div><a href="#" class="wprm-manage-taxonomies-actions-merge">Merge into Another Term</a><a href="#" class="wprm-manage-taxonomies-actions-delete">Delete Term</a></div>',
165
  contentAsHTML: true,
166
  functionBefore: function() {
167
  var instances = jQuery.tooltipster.instances();
@@ -247,6 +261,18 @@ jQuery(document).ready(function($) {
247
  wprm_admin.update_term_metadata(id, 'ingredient_link_nofollow', nofollow);
248
  });
249
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  jQuery(document).on('click', '.wprm-manage-ingredients-actions-link', function(e) {
251
  e.preventDefault();
252
 
@@ -271,6 +297,19 @@ jQuery(document).ready(function($) {
271
  }
272
  });
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  jQuery(document).on('click', '.wprm-manage-taxonomies-actions-merge', function(e) {
275
  e.preventDefault();
276
 
1
  var wprm_admin = wprm_admin || {};
2
 
3
+ wprm_admin.rename_term = function(term_id, taxonomy, new_name) {
4
+ var data = {
5
+ action: 'wprm_rename_term',
6
+ security: wprm_manage.nonce,
7
+ term_id: term_id,
8
+ taxonomy: taxonomy,
9
+ new_name: new_name
10
+ };
11
+
12
+ jQuery.post(wprm_manage.ajax_url, data, function() {
13
+ jQuery('.wprm-manage-datatable').DataTable().ajax.reload(null, false);
14
+ });
15
+ };
16
+
17
  wprm_admin.update_term_metadata = function(term_id, field, value) {
18
  var data = {
19
  action: 'wprm_update_term_metadata',
138
 
139
  // Add tooltips.
140
  jQuery('.wprm-manage-ingredients-actions').tooltipster({
141
+ content: '<div class="wprm-manage-ingredients-actions-tooltip"><div class="tooltip-header">&nbsp;</div><a href="#" class="wprm-manage-ingredients-actions-rename">Rename Ingredient</a><a href="#" class="wprm-manage-ingredients-actions-link">Edit Ingredient Link</a><a href="#" class="wprm-manage-ingredients-actions-merge">Merge into Another Ingredient</a><a href="#" class="wprm-manage-ingredients-actions-delete">Delete Ingredient</a></div>',
142
  contentAsHTML: true,
143
  functionBefore: function() {
144
  var instances = jQuery.tooltipster.instances();
175
  });
176
 
177
  jQuery('.wprm-manage-taxonomies-actions').tooltipster({
178
+ content: '<div class="wprm-manage-taxonomies-actions-tooltip"><div class="tooltip-header">&nbsp;</div><a href="#" class="wprm-manage-taxonomies-actions-rename">Rename Term</a><a href="#" class="wprm-manage-taxonomies-actions-merge">Merge into Another Term</a><a href="#" class="wprm-manage-taxonomies-actions-delete">Delete Term</a></div>',
179
  contentAsHTML: true,
180
  functionBefore: function() {
181
  var instances = jQuery.tooltipster.instances();
261
  wprm_admin.update_term_metadata(id, 'ingredient_link_nofollow', nofollow);
262
  });
263
 
264
+ jQuery(document).on('click', '.wprm-manage-ingredients-actions-rename', function(e) {
265
+ e.preventDefault();
266
+
267
+ var id = jQuery(this).data('id'),
268
+ name = jQuery('#wprm-manage-ingredients-name-' + id).text();
269
+
270
+ var new_name = prompt('What do you want to rename "' + name + '" to?', name).trim();
271
+ if(new_name) {
272
+ wprm_admin.rename_term(id, 'ingredient', new_name);
273
+ }
274
+ });
275
+
276
  jQuery(document).on('click', '.wprm-manage-ingredients-actions-link', function(e) {
277
  e.preventDefault();
278
 
297
  }
298
  });
299
 
300
+ jQuery(document).on('click', '.wprm-manage-taxonomies-actions-rename', function(e) {
301
+ e.preventDefault();
302
+
303
+ var id = jQuery(this).data('id'),
304
+ name = jQuery('#wprm-manage-taxonomies-name-' + id).text(),
305
+ taxonomy = jQuery('.wprm-manage-taxonomies').data('taxonomy');
306
+
307
+ var new_name = prompt('What do you want to rename "' + name + '" to?', name).trim();
308
+ if(new_name) {
309
+ wprm_admin.rename_term(id, taxonomy, new_name);
310
+ }
311
+ });
312
+
313
  jQuery(document).on('click', '.wprm-manage-taxonomies-actions-merge', function(e) {
314
  e.preventDefault();
315
 
assets/js/public/comment-rating.js CHANGED
@@ -42,5 +42,8 @@ jQuery(document).ready(function($) {
42
  });
43
  }
44
  });
 
 
 
45
  }
46
  });
42
  });
43
  }
44
  });
45
+ } else {
46
+ // Hide when no recipe is found.
47
+ jQuery('.comment-form-wprm-rating').hide();
48
  }
49
  });
includes/admin/class-wprm-recipe-saver.php CHANGED
@@ -207,6 +207,9 @@ class WPRM_Recipe_Saver {
207
  public static function update_recipes_in_post( $post_id, $recipe_ids ) {
208
  $post = get_post( $post_id );
209
 
 
 
 
210
  // Update recipes.
211
  foreach ( $recipe_ids as $recipe_id ) {
212
  $recipe = array(
@@ -219,6 +222,9 @@ class WPRM_Recipe_Saver {
219
  wp_update_post( $recipe );
220
 
221
  update_post_meta( $recipe_id, 'wprm_parent_post_id', $post_id );
 
 
 
222
  }
223
  }
224
 
207
  public static function update_recipes_in_post( $post_id, $recipe_ids ) {
208
  $post = get_post( $post_id );
209
 
210
+ $categories = get_the_terms( $post, 'category' );
211
+ $cat_ids = is_wp_error( $categories ) ? array() : wp_list_pluck( $categories, 'term_id' );
212
+
213
  // Update recipes.
214
  foreach ( $recipe_ids as $recipe_id ) {
215
  $recipe = array(
222
  wp_update_post( $recipe );
223
 
224
  update_post_meta( $recipe_id, 'wprm_parent_post_id', $post_id );
225
+
226
+ // Associate categories with recipes.
227
+ wp_set_post_categories( $recipe_id, $cat_ids );
228
  }
229
  }
230
 
includes/admin/manage/class-wprm-manage.php CHANGED
@@ -32,6 +32,7 @@ class WPRM_Manage {
32
 
33
  add_action( 'wp_ajax_wprm_manage_datatable', array( __CLASS__, 'ajax_manage_datatable' ) );
34
  add_action( 'wp_ajax_wprm_update_term_metadata', array( __CLASS__, 'ajax_update_term_metadata' ) );
 
35
  add_action( 'wp_ajax_wprm_delete_or_merge_term', array( __CLASS__, 'ajax_delete_or_merge_term' ) );
36
  add_action( 'wp_ajax_wprm_delete_terms', array( __CLASS__, 'ajax_delete_terms' ) );
37
  add_action( 'wp_ajax_wprm_delete_recipe', array( __CLASS__, 'ajax_delete_recipe' ) );
@@ -88,6 +89,46 @@ class WPRM_Manage {
88
  wp_die();
89
  }
90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  /**
92
  * Delete or merge terms through AJAX.
93
  *
@@ -160,6 +201,50 @@ class WPRM_Manage {
160
  wp_die();
161
  }
162
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  /**
164
  * Merge terms for all recipes using them.
165
  *
32
 
33
  add_action( 'wp_ajax_wprm_manage_datatable', array( __CLASS__, 'ajax_manage_datatable' ) );
34
  add_action( 'wp_ajax_wprm_update_term_metadata', array( __CLASS__, 'ajax_update_term_metadata' ) );
35
+ add_action( 'wp_ajax_wprm_rename_term', array( __CLASS__, 'ajax_rename_term' ) );
36
  add_action( 'wp_ajax_wprm_delete_or_merge_term', array( __CLASS__, 'ajax_delete_or_merge_term' ) );
37
  add_action( 'wp_ajax_wprm_delete_terms', array( __CLASS__, 'ajax_delete_terms' ) );
38
  add_action( 'wp_ajax_wprm_delete_recipe', array( __CLASS__, 'ajax_delete_recipe' ) );
89
  wp_die();
90
  }
91
 
92
+ /**
93
+ * Rename terms through AJAX.
94
+ *
95
+ * @since 1.21.0
96
+ */
97
+ public static function ajax_rename_term() {
98
+ if ( check_ajax_referer( 'wprm', 'security', false ) ) {
99
+ $term_id = isset( $_POST['term_id'] ) ? intval( $_POST['term_id'] ) : 0; // Input var okay.
100
+ $taxonomy = isset( $_POST['taxonomy'] ) ? sanitize_key( wp_unslash( $_POST['taxonomy'] ) ) : ''; // Input var okay.
101
+ $new_name = isset( $_POST['new_name'] ) ? sanitize_text_field( wp_unslash( $_POST['new_name'] ) ) : ''; // Input var okay.
102
+
103
+ // This ensures were only chaning our own taxonomies.
104
+ $taxonomy = 'wprm_' . $taxonomy;
105
+
106
+ if ( $term_id ) {
107
+ $term = get_term( $term_id, $taxonomy );
108
+
109
+ // Check if this is one of our taxonomies.
110
+ if ( $term && ! is_wp_error( $term ) ) {
111
+ $term_update = wp_update_term(
112
+ $term_id,
113
+ $taxonomy,
114
+ array(
115
+ 'name' => $new_name,
116
+ 'slug' => sanitize_title( $new_name ),
117
+ )
118
+ );
119
+
120
+ $term = get_term( $term_id, $taxonomy );
121
+
122
+ if ( ! is_wp_error( $term_update ) ) {
123
+ self::rename_recipe_ingredients( $term );
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ wp_die();
130
+ }
131
+
132
  /**
133
  * Delete or merge terms through AJAX.
134
  *
201
  wp_die();
202
  }
203
 
204
+ /**
205
+ * Rename ingredients for all recipes using them.
206
+ *
207
+ * @since 1.21.0
208
+ * @param int $term Ingredient term to rename.
209
+ */
210
+ public static function rename_recipe_ingredients( $term ) {
211
+ $args = array(
212
+ 'post_type' => WPRM_POST_TYPE,
213
+ 'post_status' => 'any',
214
+ 'nopaging' => true,
215
+ 'tax_query' => array(
216
+ array(
217
+ 'taxonomy' => 'wprm_ingredient',
218
+ 'field' => 'id',
219
+ 'terms' => $term->term_id,
220
+ ),
221
+ )
222
+ );
223
+
224
+ $query = new WP_Query( $args );
225
+ $posts = $query->posts;
226
+ foreach ( $posts as $post ) {
227
+ $recipe = WPRM_Recipe_Manager::get_recipe( $post );
228
+
229
+ $new_ingredients = array();
230
+ foreach ( $recipe->ingredients() as $ingredient_group ) {
231
+ $new_ingredient_group = $ingredient_group;
232
+ $new_ingredient_group['ingredients'] = array();
233
+
234
+ foreach ( $ingredient_group['ingredients'] as $ingredient ) {
235
+ if ( intval( $ingredient['id'] ) === $term->term_id ) {
236
+ $ingredient['name'] = $term->name;
237
+ }
238
+ $new_ingredient_group['ingredients'][] = $ingredient;
239
+ }
240
+
241
+ $new_ingredients[] = $new_ingredient_group;
242
+ }
243
+
244
+ update_post_meta( $recipe->id(), 'wprm_ingredients', $new_ingredients );
245
+ }
246
+ }
247
+
248
  /**
249
  * Merge terms for all recipes using them.
250
  *
includes/class-wp-recipe-maker.php CHANGED
@@ -31,7 +31,7 @@ class WP_Recipe_Maker {
31
  * @since 1.0.0
32
  */
33
  private function define_constants() {
34
- define( 'WPRM_VERSION', '1.20.0' );
35
  define( 'WPRM_PREMIUM_VERSION_REQUIRED', '1.3.0' );
36
  define( 'WPRM_POST_TYPE', 'wprm_recipe' );
37
  define( 'WPRM_DIR', plugin_dir_path( dirname( __FILE__ ) ) );
@@ -46,10 +46,19 @@ class WP_Recipe_Maker {
46
  public function __construct() {
47
  $this->define_constants();
48
  $this->load_dependencies();
49
- do_action( 'wprm_init' );
50
  add_action( 'admin_notices', array( $this, 'admin_notice_required_version' ) );
51
  }
52
 
 
 
 
 
 
 
 
 
 
53
  /**
54
  * Load all plugin dependencies.
55
  *
31
  * @since 1.0.0
32
  */
33
  private function define_constants() {
34
+ define( 'WPRM_VERSION', '1.21.0' );
35
  define( 'WPRM_PREMIUM_VERSION_REQUIRED', '1.3.0' );
36
  define( 'WPRM_POST_TYPE', 'wprm_recipe' );
37
  define( 'WPRM_DIR', plugin_dir_path( dirname( __FILE__ ) ) );
46
  public function __construct() {
47
  $this->define_constants();
48
  $this->load_dependencies();
49
+ add_action( 'plugins_loaded', array( $this, 'wprm_init' ), 1 );
50
  add_action( 'admin_notices', array( $this, 'admin_notice_required_version' ) );
51
  }
52
 
53
+ /**
54
+ * Init WPRM for Premium add-ons.
55
+ *
56
+ * @since 1.21.0
57
+ */
58
+ public function wprm_init() {
59
+ do_action( 'wprm_init' );
60
+ }
61
+
62
  /**
63
  * Load all plugin dependencies.
64
  *
includes/public/class-wprm-comment-rating.php CHANGED
@@ -73,7 +73,8 @@ class WPRM_Comment_Rating {
73
  $rating_html = '';
74
  if ( $rating ) {
75
  ob_start();
76
- require( WPRM_DIR . 'templates/public/comment-rating.php' );
 
77
  $rating_html = ob_get_contents();
78
  ob_end_clean();
79
  }
@@ -102,7 +103,8 @@ class WPRM_Comment_Rating {
102
  */
103
  public static function add_rating_field_to_comments() {
104
  $rating = 0;
105
- require( WPRM_DIR . 'templates/public/comment-rating-form.php' );
 
106
  }
107
 
108
  /**
@@ -123,7 +125,8 @@ class WPRM_Comment_Rating {
123
  public static function add_rating_field_to_admin_comments_form( $comment ) {
124
  $rating = intval( get_comment_meta( $comment->comment_ID, 'wprm-comment-rating', true ) );
125
  wp_nonce_field( 'wprm-comment-rating-nonce', 'wprm-comment-rating-nonce', false );
126
- require( WPRM_DIR . 'templates/public/comment-rating-form.php' );
 
127
  }
128
 
129
  /**
73
  $rating_html = '';
74
  if ( $rating ) {
75
  ob_start();
76
+ $template = apply_filters( 'wprm_template_comment_rating', WPRM_DIR . 'templates/public/comment-rating.php' );
77
+ require( $template );
78
  $rating_html = ob_get_contents();
79
  ob_end_clean();
80
  }
103
  */
104
  public static function add_rating_field_to_comments() {
105
  $rating = 0;
106
+ $template = apply_filters( 'wprm_template_comment_rating_form', WPRM_DIR . 'templates/public/comment-rating-form.php' );
107
+ require( $template );
108
  }
109
 
110
  /**
125
  public static function add_rating_field_to_admin_comments_form( $comment ) {
126
  $rating = intval( get_comment_meta( $comment->comment_ID, 'wprm-comment-rating', true ) );
127
  wp_nonce_field( 'wprm-comment-rating-nonce', 'wprm-comment-rating-nonce', false );
128
+ $template = apply_filters( 'wprm_template_comment_rating_form', WPRM_DIR . 'templates/public/comment-rating-form.php' );
129
+ require( $template );
130
  }
131
 
132
  /**
includes/public/class-wprm-settings.php CHANGED
@@ -44,6 +44,8 @@ class WPRM_Settings {
44
  'template_font_regular' => '',
45
  'template_recipe_image' => '',
46
  'template_instruction_image' => '',
 
 
47
  'template_color_border' => '#aaaaaa',
48
  'template_color_background' => '#ffffff',
49
  'template_color_text' => '#333333',
@@ -234,6 +236,8 @@ class WPRM_Settings {
234
  $template_font_regular = isset( $_POST['template_font_regular'] ) ? sanitize_text_field( wp_unslash( $_POST['template_font_regular'] ) ) : ''; // Input var okay.
235
  $template_recipe_image = isset( $_POST['template_recipe_image'] ) ? sanitize_text_field( wp_unslash( $_POST['template_recipe_image'] ) ) : ''; // Input var okay.
236
  $template_instruction_image = isset( $_POST['template_instruction_image'] ) ? sanitize_text_field( wp_unslash( $_POST['template_instruction_image'] ) ) : ''; // Input var okay.
 
 
237
 
238
  $template_color_border = isset( $_POST['template_color_border'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_border'] ) ) : ''; // Input var okay.
239
  $template_color_background = isset( $_POST['template_color_background'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_background'] ) ) : ''; // Input var okay.
@@ -269,6 +273,8 @@ class WPRM_Settings {
269
  $settings['template_font_regular'] = $template_font_regular;
270
  $settings['template_recipe_image'] = $template_recipe_image;
271
  $settings['template_instruction_image'] = $template_instruction_image;
 
 
272
 
273
  if ( $template_color_border ) { $settings['template_color_border'] = $template_color_border; }
274
  if ( $template_color_background ) { $settings['template_color_background'] = $template_color_background; }
44
  'template_font_regular' => '',
45
  'template_recipe_image' => '',
46
  'template_instruction_image' => '',
47
+ 'template_ingredient_list_style' => 'disc',
48
+ 'template_instruction_list_style' => 'decimal',
49
  'template_color_border' => '#aaaaaa',
50
  'template_color_background' => '#ffffff',
51
  'template_color_text' => '#333333',
236
  $template_font_regular = isset( $_POST['template_font_regular'] ) ? sanitize_text_field( wp_unslash( $_POST['template_font_regular'] ) ) : ''; // Input var okay.
237
  $template_recipe_image = isset( $_POST['template_recipe_image'] ) ? sanitize_text_field( wp_unslash( $_POST['template_recipe_image'] ) ) : ''; // Input var okay.
238
  $template_instruction_image = isset( $_POST['template_instruction_image'] ) ? sanitize_text_field( wp_unslash( $_POST['template_instruction_image'] ) ) : ''; // Input var okay.
239
+ $template_ingredient_list_style = isset( $_POST['template_ingredient_list_style'] ) ? sanitize_key( $_POST['template_ingredient_list_style'] ) : ''; // Input var okay.
240
+ $template_instruction_list_style = isset( $_POST['template_instruction_list_style'] ) ? sanitize_key( $_POST['template_instruction_list_style'] ) : ''; // Input var okay.
241
 
242
  $template_color_border = isset( $_POST['template_color_border'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_border'] ) ) : ''; // Input var okay.
243
  $template_color_background = isset( $_POST['template_color_background'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_background'] ) ) : ''; // Input var okay.
273
  $settings['template_font_regular'] = $template_font_regular;
274
  $settings['template_recipe_image'] = $template_recipe_image;
275
  $settings['template_instruction_image'] = $template_instruction_image;
276
+ if ( $template_ingredient_list_style ) { $settings['template_ingredient_list_style'] = $template_ingredient_list_style; }
277
+ if ( $template_instruction_list_style ) { $settings['template_instruction_list_style'] = $template_instruction_list_style; }
278
 
279
  if ( $template_color_border ) { $settings['template_color_border'] = $template_color_border; }
280
  if ( $template_color_background ) { $settings['template_color_background'] = $template_color_background; }
includes/public/class-wprm-taxonomies.php CHANGED
@@ -50,6 +50,9 @@ class WPRM_Taxonomies {
50
  register_taxonomy( $taxonomy, WPRM_POST_TYPE, $args );
51
  register_taxonomy_for_object_type( $taxonomy, WPRM_POST_TYPE );
52
  }
 
 
 
53
  }
54
 
55
  /**
50
  register_taxonomy( $taxonomy, WPRM_POST_TYPE, $args );
51
  register_taxonomy_for_object_type( $taxonomy, WPRM_POST_TYPE );
52
  }
53
+
54
+ // Associate categories with recipes as well.
55
+ register_taxonomy_for_object_type( 'category', WPRM_POST_TYPE );
56
  }
57
 
58
  /**
includes/public/class-wprm-template-manager.php CHANGED
@@ -92,6 +92,18 @@ class WPRM_Template_Manager {
92
  $output .= $selector . ' .wprm-recipe .wprm-color-accent2 { background-color: ' . WPRM_Settings::get( 'template_color_accent2' ) . '; }';
93
  $output .= $selector . ' .wprm-recipe .wprm-color-accent2 { color: ' . WPRM_Settings::get( 'template_color_accent2_text' ) . '; }';
94
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  // Comment ratings.
96
  $output .= ' .wprm-comment-rating svg path, .comment-form-wprm-rating svg path { fill: ' . WPRM_Settings::get( 'template_color_comment_rating' ) . '; }';
97
  $output .= ' .wprm-comment-rating svg polygon, .comment-form-wprm-rating svg polygon { stroke: ' . WPRM_Settings::get( 'template_color_comment_rating' ) . '; }';
92
  $output .= $selector . ' .wprm-recipe .wprm-color-accent2 { background-color: ' . WPRM_Settings::get( 'template_color_accent2' ) . '; }';
93
  $output .= $selector . ' .wprm-recipe .wprm-color-accent2 { color: ' . WPRM_Settings::get( 'template_color_accent2_text' ) . '; }';
94
 
95
+ // List style.
96
+ if ( 'checkbox' === WPRM_Settings::get( 'template_ingredient_list_style' ) ) {
97
+ $output .= $selector . ' li.wprm-recipe-ingredient { list-style-type: none; }';
98
+ } else {
99
+ $output .= $selector . ' li.wprm-recipe-ingredient { list-style-type: ' . WPRM_Settings::get( 'template_ingredient_list_style' ) . '; }';
100
+ }
101
+ if ( 'checkbox' === WPRM_Settings::get( 'template_instruction_list_style' ) ) {
102
+ $output .= $selector . ' li.wprm-recipe-instruction { list-style-type: none; }';
103
+ } else {
104
+ $output .= $selector . ' li.wprm-recipe-instruction { list-style-type: ' . WPRM_Settings::get( 'template_instruction_list_style' ) . '; }';
105
+ }
106
+
107
  // Comment ratings.
108
  $output .= ' .wprm-comment-rating svg path, .comment-form-wprm-rating svg path { fill: ' . WPRM_Settings::get( 'template_color_comment_rating' ) . '; }';
109
  $output .= ' .wprm-comment-rating svg polygon, .comment-form-wprm-rating svg polygon { stroke: ' . WPRM_Settings::get( 'template_color_comment_rating' ) . '; }';
readme.txt CHANGED
@@ -97,6 +97,16 @@ Yes! We pride ourselves on offering awesome support and almost always answer sup
97
 
98
  == Changelog ==
99
 
 
 
 
 
 
 
 
 
 
 
100
  = 1.20.0 =
101
  * Feature: Intermediate save when creating or editing recipes
102
  * Feature: Settings to personalize the ingredient text import
97
 
98
  == Changelog ==
99
 
100
+ = 1.21.0 =
101
+ * Feature: change ingredients and instructions list style from settings page
102
+ * Feature: Rename terms on the manage page
103
+ * Feature: Associate same categories as parent post with recipes
104
+ * Improvement: Correctly apply font size setting to Tastefully Simple template
105
+ * Improvement: Ability to override the comment rating templates
106
+ * Fix: Prevent Firefox list style position issue
107
+ * Fix: Make sure Premium version loads with all directory names
108
+ * Fix: Prevent empty nutrition label from showing up
109
+
110
  = 1.20.0 =
111
  * Feature: Intermediate save when creating or editing recipes
112
  * Feature: Settings to personalize the ingredient text import
templates/admin/menu/addons.php CHANGED
@@ -24,7 +24,7 @@
24
  <li>Add a mobile-friendly <strong>kitchen timer</strong> to your recipes</li>
25
  <li>More <strong>Premium templates</strong> for a unique recipe template</li>
26
  </ul>
27
- <a class="button button-primary" href="http://bootstrapped.ventures/downloads/wp-recipe-maker-premium/" target="_blank">More Information</a>
28
  <?php endif; // Premium active. ?>
29
 
30
  <h2>WP Recipe Maker Premium - Advanced Nutrition</h2>
@@ -34,6 +34,19 @@
34
  <ul>
35
  <li>Integration with a <strong>Nutrition API</strong> for automatic nutrition facts</li>
36
  </ul>
37
- <a class="button button-primary" href="http://bootstrapped.ventures/downloads/wp-recipe-maker-premium-advanced-nutrition/" target="_blank">More Information</a>
38
- <?php endif; // Premium active. ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  </div>
24
  <li>Add a mobile-friendly <strong>kitchen timer</strong> to your recipes</li>
25
  <li>More <strong>Premium templates</strong> for a unique recipe template</li>
26
  </ul>
27
+ <a class="button button-primary" href="https://bootstrapped.ventures/downloads/wp-recipe-maker-premium/" target="_blank">More Information</a>
28
  <?php endif; // Premium active. ?>
29
 
30
  <h2>WP Recipe Maker Premium - Advanced Nutrition</h2>
34
  <ul>
35
  <li>Integration with a <strong>Nutrition API</strong> for automatic nutrition facts</li>
36
  </ul>
37
+ <a class="button button-primary" href="https://bootstrapped.ventures/downloads/wp-recipe-maker-premium-advanced-nutrition/" target="_blank">More Information</a>
38
+ <?php endif; // Advanced Nutrition active. ?>
39
+
40
+ <h2>WP Recipe Maker Premium - Unit Conversion</h2>
41
+ <?php if ( WPRM_Addons::is_active( 'unit-conversion' ) ) : ?>
42
+ <p>This add-on is active.</p>
43
+ <?php else : ?>
44
+ <ul>
45
+ <li>Define a second unit system for your ingredients</li>
46
+ <li>Allow visitors to easily switch back and forth</li>
47
+ <li>Automatically calculate quantities and units for the second system</li>
48
+ <li>Manually adjust anything for full control</li>
49
+ </ul>
50
+ <a class="button button-primary" href="https://bootstrapped.ventures/downloads/wp-recipe-maker-premium-unit-conversion/" target="_blank">More Information</a>
51
+ <?php endif; // Unit Conversion active. ?>
52
  </div>
templates/admin/menu/faq/whats_new.php CHANGED
@@ -11,6 +11,32 @@
11
 
12
  ?>
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  <h3>2017-07-02 | WP Recipe Maker 1.20.0</h3>
15
  <ul>
16
  <li>Feature: Intermediate save when creating or editing recipes</li>
11
 
12
  ?>
13
 
14
+ <h3>2017-08-21 | WP Recipe Maker 1.21.0</h3>
15
+ <ul>
16
+ <li>Feature: change ingredients and instructions list style from settings page</li>
17
+ <li>Feature: Rename terms on the manage page</li>
18
+ <li>Feature: Associate same categories as parent post with recipes</li>
19
+ <li>Improvement: Correctly apply font size setting to Tastefully Simple template</li>
20
+ <li>Improvement: Ability to override the comment rating templates</li>
21
+ <li>Fix: Prevent Firefox list style position issue</li>
22
+ <li>Fix: Make sure Premium version loads with all directory names</li>
23
+ <li>Fix: Prevent empty nutrition label from showing up</li>
24
+ </ul>
25
+
26
+ <h3>2017-07-06 | WP Recipe Maker Premium - Advanced Nutrition 1.1.0</h3>
27
+ <ul>
28
+ <li>Feature: Adjust nutrition values per ingredient before calculating</li>
29
+ <li>Feature: Save and recall custom nutrition ingredients</li>
30
+ <li>Feature: Remember previously matched ingredients</li>
31
+ </ul>
32
+
33
+ <h3>2017-07-03 | WP Recipe Maker Premium 1.5.0</h3>
34
+ <ul>
35
+ <li>Feature: Custom Author Links</li>
36
+ <li>Feature: Clone Recipe</li>
37
+ <li>Fix: Servings changer bug with some fractions</li>
38
+ </ul>
39
+
40
  <h3>2017-07-02 | WP Recipe Maker 1.20.0</h3>
41
  <ul>
42
  <li>Feature: Intermediate save when creating or editing recipes</li>
templates/admin/settings/appearance.php CHANGED
@@ -148,6 +148,70 @@
148
  </p>
149
  </td>
150
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  </tbody>
152
  </table>
153
  <?php if ( WPRM_Settings::get( 'features_custom_style' ) ) : ?>
148
  </p>
149
  </td>
150
  </tr>
151
+ <tr>
152
+ <th scope="row">
153
+ <label for="template_ingredient_list_style"><?php esc_html_e( 'Ingredient List Style', 'wp-recipe-maker' ); ?></label>
154
+ </th>
155
+ <td>
156
+ <select id="template_ingredient_list_style" name="template_ingredient_list_style">
157
+ <?php
158
+ $options = array(
159
+ 'none' => __( 'None', 'wp-recipe-maker' ),
160
+ 'circle' => __( 'Circle', 'wp-recipe-maker' ),
161
+ 'disc' => __( 'Disc', 'wp-recipe-maker' ),
162
+ 'square' => __( 'Square', 'wp-recipe-maker' ),
163
+ 'decimal' => __( 'Decimal', 'wp-recipe-maker' ),
164
+ 'decimal-leading-zero' => __( 'Decimal with leading zero', 'wp-recipe-maker' ),
165
+ 'lower-roman' => __( 'Lower Roman', 'wp-recipe-maker' ),
166
+ 'upper-roman' => __( 'Upper Roman', 'wp-recipe-maker' ),
167
+ 'lower-latin' => __( 'Lower Latin', 'wp-recipe-maker' ),
168
+ 'upper-latin' => __( 'Upper Latin', 'wp-recipe-maker' ),
169
+ 'lower-greek' => __( 'Lower Greek', 'wp-recipe-maker' ),
170
+ 'armenian' => __( 'Armenian', 'wp-recipe-maker' ),
171
+ 'georgian' => __( 'Georgian', 'wp-recipe-maker' ),
172
+ );
173
+
174
+ $setting = WPRM_Settings::get( 'template_ingredient_list_style' );
175
+ foreach ( $options as $option => $label ) {
176
+ $selected = $setting === $option ? ' selected="selected"' : '';
177
+ echo '<option value="' . esc_attr( $option ) . '"' . esc_attr( $selected ) . '>' . esc_html( $label ) . '</option>';
178
+ }
179
+ ?>
180
+ </select>
181
+ </td>
182
+ </tr>
183
+ <tr>
184
+ <th scope="row">
185
+ <label for="template_instruction_list_style"><?php esc_html_e( 'Instruction List Style', 'wp-recipe-maker' ); ?></label>
186
+ </th>
187
+ <td>
188
+ <select id="template_instruction_list_style" name="template_instruction_list_style">
189
+ <?php
190
+ $options = array(
191
+ 'none' => __( 'None', 'wp-recipe-maker' ),
192
+ 'circle' => __( 'Circle', 'wp-recipe-maker' ),
193
+ 'disc' => __( 'Disc', 'wp-recipe-maker' ),
194
+ 'square' => __( 'Square', 'wp-recipe-maker' ),
195
+ 'decimal' => __( 'Decimal', 'wp-recipe-maker' ),
196
+ 'decimal-leading-zero' => __( 'Decimal with leading zero', 'wp-recipe-maker' ),
197
+ 'lower-roman' => __( 'Lower Roman', 'wp-recipe-maker' ),
198
+ 'upper-roman' => __( 'Upper Roman', 'wp-recipe-maker' ),
199
+ 'lower-latin' => __( 'Lower Latin', 'wp-recipe-maker' ),
200
+ 'upper-latin' => __( 'Upper Latin', 'wp-recipe-maker' ),
201
+ 'lower-greek' => __( 'Lower Greek', 'wp-recipe-maker' ),
202
+ 'armenian' => __( 'Armenian', 'wp-recipe-maker' ),
203
+ 'georgian' => __( 'Georgian', 'wp-recipe-maker' ),
204
+ );
205
+
206
+ $setting = WPRM_Settings::get( 'template_instruction_list_style' );
207
+ foreach ( $options as $option => $label ) {
208
+ $selected = $setting === $option ? ' selected="selected"' : '';
209
+ echo '<option value="' . esc_attr( $option ) . '"' . esc_attr( $selected ) . '>' . esc_html( $label ) . '</option>';
210
+ }
211
+ ?>
212
+ </select>
213
+ </td>
214
+ </tr>
215
  </tbody>
216
  </table>
217
  <?php if ( WPRM_Settings::get( 'features_custom_style' ) ) : ?>
templates/admin/settings/import.php CHANGED
@@ -53,7 +53,7 @@
53
  $options = array(
54
  'comma' => __( 'Everything after the first comma', 'wp-recipe-maker' ),
55
  'parentheses' => __( 'Everything inside parentheses', 'wp-recipe-maker' ),
56
- 'both' => __( 'Comma or parentheses, whichover comes first', 'wp-recipe-maker' ),
57
  'none' => __( 'Do not import to ingredient notes', 'wp-recipe-maker' ),
58
  );
59
 
53
  $options = array(
54
  'comma' => __( 'Everything after the first comma', 'wp-recipe-maker' ),
55
  'parentheses' => __( 'Everything inside parentheses', 'wp-recipe-maker' ),
56
+ 'both' => __( 'Comma or parentheses, whichever comes first', 'wp-recipe-maker' ),
57
  'none' => __( 'Do not import to ingredient notes', 'wp-recipe-maker' ),
58
  );
59
 
templates/recipe/tastefully-simple/tastefully-simple.min.css CHANGED
@@ -1 +1 @@
1
- .wprm-print .wprm-recipe-print,.wprm-print .wprm-recipe-tastefully-simple :after,.wprm-print .wprm-recipe-tastefully-simple :before,.wprm-recipe-container .wprm-recipe-tastefully-simple :after,.wprm-recipe-container .wprm-recipe-tastefully-simple :before{display:none}.wprm-print .wprm-recipe-tastefully-simple,.wprm-recipe-container .wprm-recipe-tastefully-simple{font:12px Verdana,Arial,Geneva,sans-serif;border:1px dashed #666;padding:10px}.wprm-print .wprm-recipe-tastefully-simple li,.wprm-print .wprm-recipe-tastefully-simple p,.wprm-recipe-container .wprm-recipe-tastefully-simple li,.wprm-recipe-container .wprm-recipe-tastefully-simple p{font:12px Verdana,Arial,Geneva,sans-serif}.wprm-print .wprm-recipe-tastefully-simple div,.wprm-print .wprm-recipe-tastefully-simple li,.wprm-print .wprm-recipe-tastefully-simple ol,.wprm-print .wprm-recipe-tastefully-simple p,.wprm-print .wprm-recipe-tastefully-simple span,.wprm-print .wprm-recipe-tastefully-simple ul,.wprm-recipe-container .wprm-recipe-tastefully-simple div,.wprm-recipe-container .wprm-recipe-tastefully-simple li,.wprm-recipe-container .wprm-recipe-tastefully-simple ol,.wprm-recipe-container .wprm-recipe-tastefully-simple p,.wprm-recipe-container .wprm-recipe-tastefully-simple span,.wprm-recipe-container .wprm-recipe-tastefully-simple ul{margin:0;padding:0;line-height:inherit}.wprm-print .wprm-recipe-tastefully-simple svg,.wprm-recipe-container .wprm-recipe-tastefully-simple svg{vertical-align:middle;width:16px;height:16px;margin:0}.wprm-print .wprm-recipe-tastefully-simple .wprm-clear-left,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-clear-left{clear:left;line-height:0;height:0}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container{float:right;max-width:40%;text-align:right}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating{margin-bottom:5px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating .wprm-recipe-rating-details,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating .wprm-recipe-rating-details{font:10px "Trebuchet MS",Arial,Helvetica,sans-serif}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-image,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-image{margin-left:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons{margin-top:10px;text-align:center}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons .wprm-recipe-print,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons .wprm-recipe-print{font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:.4em 1em}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-name,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-name{font:150% Verdana,Geneva,sans-serif;margin-bottom:15px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-times-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-times-container{border-top:1px dotted #666;border-bottom:1px dotted #666;width:60%;padding-top:5px;padding-bottom:5px;margin-bottom:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container{width:33%;text-align:center;float:left;font-weight:700;border-left:1px solid #ccc}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container:first-child,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container:first-child{border-left:none}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time-header,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time-header{margin-bottom:4px;word-break:break-all}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time{font-size:10px;font-weight:400}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-details-container,.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-ingredients-container,.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-summary,.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-summary p,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-details-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-ingredients-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-summary,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-summary p{margin-bottom:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-header,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-header{font-size:1.4em;font-weight:700;margin-top:1em;margin-bottom:1em}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-group-name,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-group-name{margin-top:3px;margin-bottom:3px;font-weight:700}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-ingredients li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-ingredients li{list-style:disc inside;margin-left:10px;line-height:inherit;background:0 0}.wprm-print .wprm-recipe-tastefully-simple .wprm-unit-conversion-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-unit-conversion-container{margin-top:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-instructions li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-instructions li{list-style:decimal;margin-left:30px;line-height:inherit;background:0 0}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ul li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ul li{list-style:disc inside;margin-left:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ol li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ol li{list-style:decimal;margin-left:30px}.wprm-print .wprm-recipe-tastefully-simple{max-width:750px;margin:0 auto}@media only screen and (max-width:480px){.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container{float:none;width:100%;max-width:none;text-align:center;margin-bottom:10px}.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-image{margin-left:0}.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-times-container{width:100%}}
1
+ .wprm-print .wprm-recipe-print,.wprm-print .wprm-recipe-tastefully-simple :after,.wprm-print .wprm-recipe-tastefully-simple :before,.wprm-recipe-container .wprm-recipe-tastefully-simple :after,.wprm-recipe-container .wprm-recipe-tastefully-simple :before{display:none}.wprm-print .wprm-recipe-tastefully-simple,.wprm-recipe-container .wprm-recipe-tastefully-simple{font:12px Verdana,Arial,Geneva,sans-serif;border:1px dashed #666;padding:10px}.wprm-print .wprm-recipe-tastefully-simple li,.wprm-print .wprm-recipe-tastefully-simple p,.wprm-recipe-container .wprm-recipe-tastefully-simple li,.wprm-recipe-container .wprm-recipe-tastefully-simple p{font:1em Verdana,Arial,Geneva,sans-serif}.wprm-print .wprm-recipe-tastefully-simple div,.wprm-print .wprm-recipe-tastefully-simple li,.wprm-print .wprm-recipe-tastefully-simple ol,.wprm-print .wprm-recipe-tastefully-simple p,.wprm-print .wprm-recipe-tastefully-simple span,.wprm-print .wprm-recipe-tastefully-simple ul,.wprm-recipe-container .wprm-recipe-tastefully-simple div,.wprm-recipe-container .wprm-recipe-tastefully-simple li,.wprm-recipe-container .wprm-recipe-tastefully-simple ol,.wprm-recipe-container .wprm-recipe-tastefully-simple p,.wprm-recipe-container .wprm-recipe-tastefully-simple span,.wprm-recipe-container .wprm-recipe-tastefully-simple ul{margin:0;padding:0;line-height:inherit}.wprm-print .wprm-recipe-tastefully-simple svg,.wprm-recipe-container .wprm-recipe-tastefully-simple svg{vertical-align:middle;width:16px;height:16px;margin:0}.wprm-print .wprm-recipe-tastefully-simple .wprm-clear-left,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-clear-left{clear:left;line-height:0;height:0}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container{float:right;max-width:40%;text-align:right}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating{margin-bottom:5px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating .wprm-recipe-rating-details,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-rating .wprm-recipe-rating-details{font:.8em "Trebuchet MS",Arial,Helvetica,sans-serif}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-image,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-image{margin-left:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons{margin-top:10px;text-align:center}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons .wprm-recipe-print,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-buttons .wprm-recipe-print{font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:.4em 1em}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-name,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-name{font:1.5em Verdana,Geneva,sans-serif;margin-bottom:15px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-times-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-times-container{border-top:1px dotted #666;border-bottom:1px dotted #666;width:60%;padding-top:5px;padding-bottom:5px;margin-bottom:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container{width:33%;text-align:center;float:left;font-weight:700;border-left:1px solid #ccc}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container:first-child,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container:first-child{border-left:none}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time-header,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time-header{margin-bottom:4px;word-break:break-all}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-time-container .wprm-recipe-time{font-size:.8em;font-weight:400}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-details-container,.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-ingredients-container,.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-summary,.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-summary p,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-details-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-ingredients-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-summary,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-summary p{margin-bottom:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-header,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-header{font-size:1.4em;font-weight:700;margin-top:1em;margin-bottom:1em}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-group-name,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-group-name{margin-top:3px;margin-bottom:3px;font-weight:700}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-ingredients li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-ingredients li{list-style-position:inside;margin-left:10px;line-height:inherit;background:0 0}.wprm-print .wprm-recipe-tastefully-simple .wprm-unit-conversion-container,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-unit-conversion-container{margin-top:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-instructions li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-instructions li{margin-left:30px;line-height:inherit;background:0 0}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ul li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ul li{list-style:disc inside;margin-left:10px}.wprm-print .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ol li,.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-notes-container ol li{list-style:decimal;margin-left:30px}.wprm-print .wprm-recipe-tastefully-simple{max-width:750px;margin:0 auto}@media only screen and (max-width:480px){.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container{float:none;width:100%;max-width:none;text-align:center;margin-bottom:10px}.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-image-container .wprm-recipe-image{margin-left:0}.wprm-recipe-container .wprm-recipe-tastefully-simple .wprm-recipe-times-container{width:100%}}
templates/recipe/tastefully-simple/tastefully-simple.scss CHANGED
@@ -5,7 +5,7 @@
5
  padding: 10px;
6
 
7
  p, li {
8
- font: 12px Verdana, Arial, Geneva, sans-serif;
9
  }
10
 
11
  div,
@@ -45,7 +45,7 @@
45
  margin-bottom: 5px;
46
 
47
  .wprm-recipe-rating-details {
48
- font: 10px "Trebuchet MS",Arial,Helvetica,sans-serif;
49
  }
50
  }
51
 
@@ -69,7 +69,7 @@
69
  }
70
 
71
  .wprm-recipe-name {
72
- font: 150% Verdana, Geneva, sans-serif;
73
  margin-bottom: 15px;
74
  }
75
 
@@ -99,7 +99,7 @@
99
  }
100
 
101
  .wprm-recipe-time {
102
- font-size: 10px;
103
  font-weight: normal;
104
  }
105
  }
@@ -132,7 +132,7 @@
132
 
133
  .wprm-recipe-ingredients {
134
  li {
135
- list-style: disc inside;
136
  margin-left: 10px;
137
  line-height: inherit;
138
  background: 0 0;
@@ -145,7 +145,6 @@
145
 
146
  .wprm-recipe-instructions {
147
  li {
148
- list-style: decimal;
149
  margin-left: 30px;
150
  line-height: inherit;
151
  background: 0 0;
5
  padding: 10px;
6
 
7
  p, li {
8
+ font: 1em Verdana, Arial, Geneva, sans-serif;
9
  }
10
 
11
  div,
45
  margin-bottom: 5px;
46
 
47
  .wprm-recipe-rating-details {
48
+ font: 0.8em "Trebuchet MS",Arial,Helvetica,sans-serif;
49
  }
50
  }
51
 
69
  }
70
 
71
  .wprm-recipe-name {
72
+ font: 1.5em Verdana, Geneva, sans-serif;
73
  margin-bottom: 15px;
74
  }
75
 
99
  }
100
 
101
  .wprm-recipe-time {
102
+ font-size: 0.8em;
103
  font-weight: normal;
104
  }
105
  }
132
 
133
  .wprm-recipe-ingredients {
134
  li {
135
+ list-style-position: inside;
136
  margin-left: 10px;
137
  line-height: inherit;
138
  background: 0 0;
145
 
146
  .wprm-recipe-instructions {
147
  li {
 
148
  margin-left: 30px;
149
  line-height: inherit;
150
  background: 0 0;
wp-recipe-maker.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: WP Recipe Maker
16
  * Plugin URI: http://bootstrapped.ventures/wp-recipe-maker/
17
  * Description: The easy and user-friendly recipe plugin for everyone. Automatic JSON-LD metadata for better SEO will get you more visitors!
18
- * Version: 1.20.0
19
  * Author: Bootstrapped Ventures
20
  * Author URI: http://bootstrapped.ventures/
21
  * License: GPL-2.0+
15
  * Plugin Name: WP Recipe Maker
16
  * Plugin URI: http://bootstrapped.ventures/wp-recipe-maker/
17
  * Description: The easy and user-friendly recipe plugin for everyone. Automatic JSON-LD metadata for better SEO will get you more visitors!
18
+ * Version: 1.21.0
19
  * Author: Bootstrapped Ventures
20
  * Author URI: http://bootstrapped.ventures/
21
  * License: GPL-2.0+