Version Description
- Feature: Change recipe template colors in the settings
- Feature: Change recipe template labels in the settings
- Feature: Manage courses and cuisines
- Improvement: Show days in recipe times
- Improvement: Recipe import performance
- Improvement: Prevent accidental closing of the modal
- Improvement: Setting to use featured image of parent post
- Improvement: Prevent recipe getting overwritten by our other shortcodes
- Fix: Prevent issue with post content replacing recipe notes
- Fix: Only import numbers for nutrition facts
- Fix: WordFence Compatibility
Download this release
Release Info
Developer | BrechtVds |
Plugin | WP Recipe Maker |
Version | 1.10.0 |
Comparing to | |
See all releases |
Code changes from version 1.9.1 to 1.10.0
- assets/css/admin/manage.min.css +1 -1
- assets/css/admin/manage.scss +3 -1
- assets/js/admin/manage.js +56 -3
- assets/js/admin/modal.js +3 -0
- assets/js/admin/recipe-form.js +55 -38
- assets/js/admin/settings.js +1 -0
- includes/admin/class-wprm-import-manager.php +12 -2
- includes/admin/class-wprm-migrations.php +33 -1
- includes/admin/class-wprm-recipe-sanitizer.php +6 -3
- includes/admin/class-wprm-recipe-saver.php +5 -2
- includes/admin/import/class-wprm-import-bigoven.php +39 -24
- includes/admin/import/class-wprm-import-easyrecipe.php +69 -27
- includes/admin/import/class-wprm-import-mealplannerpro.php +23 -1
- includes/admin/import/class-wprm-import-wpultimaterecipe.php +64 -59
- includes/admin/import/class-wprm-import-ziplist.php +20 -1
- includes/admin/import/class-wprm-import.php +16 -1
- includes/admin/manage/class-wprm-manage-taxonomies.php +96 -0
- includes/admin/manage/class-wprm-manage.php +74 -40
- includes/admin/migrations/wprm-1-10-0-wpurp.php +39 -0
- includes/admin/modal/class-wprm-modal.php +4 -1
- includes/class-wp-recipe-maker.php +2 -1
- includes/class-wprm-activator.php +1 -1
- includes/public/class-wprm-recipe.php +13 -2
- includes/public/class-wprm-settings.php +68 -7
- includes/public/class-wprm-shortcode.php +22 -20
- includes/public/class-wprm-taxonomies.php +15 -3
- includes/public/class-wprm-template-helper.php +141 -5
- includes/public/class-wprm-template-manager.php +34 -0
- languages/wp-recipe-maker-de_DE.mo +0 -0
- languages/wp-recipe-maker-de_DE.po +1219 -0
- readme.txt +19 -1
- templates/admin/manage.php +15 -7
- templates/admin/manage/ingredients.php +5 -1
- templates/admin/manage/recipes.php +1 -1
- templates/admin/manage/taxonomies.php +26 -0
- templates/admin/menu/faq/whats_new.php +22 -0
- templates/admin/menu/{import-overview.php → import/import-overview.php} +19 -7
- templates/admin/menu/{import-recipes.php → import/import-recipes.php} +16 -2
- templates/admin/menu/import/import-search.php +45 -0
- templates/admin/modal/tabs/recipe-details.php +9 -18
- templates/admin/settings.php +1 -0
- templates/admin/settings/appearance.php +124 -0
- templates/admin/settings/labels.php +43 -0
- templates/recipe/clean-print-with-image/clean-print-with-image.min.css +1 -1
- templates/recipe/clean-print-with-image/clean-print-with-image.php +30 -38
- templates/recipe/clean-print-with-image/clean-print-with-image.scss +1 -1
- templates/recipe/clean-print/clean-print.min.css +1 -1
- templates/recipe/clean-print/clean-print.php +30 -38
- templates/recipe/clean-print/clean-print.scss +1 -1
- templates/recipe/simple/simple.min.css +1 -1
- templates/recipe/simple/simple.php +31 -39
- templates/recipe/simple/simple.scss +1 -1
- templates/recipe/tastefully-simple/tastefully-simple.min.css +1 -1
- templates/recipe/tastefully-simple/tastefully-simple.php +36 -44
- templates/recipe/tastefully-simple/tastefully-simple.scss +16 -28
- wp-recipe-maker.php +1 -1
assets/css/admin/manage.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wprm-manage .wprm-manage-datatable{display:none}.wprm-manage .wprm-manage-datatable .wprm-icon{cursor:pointer;color:#444}.wprm-manage .dataTables_wrapper{margin-top:20px}.wprm-manage .dataTables_wrapper .wprm-manage-datatable{display:table}.wprm-manage-ingredients-actions-tooltip,.wprm-manage-recipes-actions-tooltip{text-align:right;min-width:250px}.wprm-manage-ingredients-actions-tooltip .tooltip-header,.wprm-manage-recipes-actions-tooltip .tooltip-header{margin-bottom:5px;font-weight:700}.wprm-manage-ingredients-actions-tooltip a,.wprm-manage-recipes-actions-tooltip a{color:#fff;display:block;text-decoration:none}.wprm-manage-ingredients-actions-tooltip a:hover,.wprm-manage-recipes-actions-tooltip a:hover{text-decoration:underline}
|
1 |
+
.wprm-manage .wprm-manage-datatable{display:none}.wprm-manage .wprm-manage-datatable .wprm-icon{cursor:pointer;color:#444}.wprm-manage .dataTables_wrapper{margin-top:20px}.wprm-manage .dataTables_wrapper .wprm-manage-datatable{display:table}.wprm-manage-custom-taxonomies-actions-tooltip,.wprm-manage-ingredients-actions-tooltip,.wprm-manage-recipes-actions-tooltip,.wprm-manage-taxonomies-actions-tooltip{text-align:right;min-width:250px}.wprm-manage-custom-taxonomies-actions-tooltip .tooltip-header,.wprm-manage-ingredients-actions-tooltip .tooltip-header,.wprm-manage-recipes-actions-tooltip .tooltip-header,.wprm-manage-taxonomies-actions-tooltip .tooltip-header{margin-bottom:5px;font-weight:700}.wprm-manage-custom-taxonomies-actions-tooltip a,.wprm-manage-ingredients-actions-tooltip a,.wprm-manage-recipes-actions-tooltip a,.wprm-manage-taxonomies-actions-tooltip a{color:#fff;display:block;text-decoration:none}.wprm-manage-custom-taxonomies-actions-tooltip a:hover,.wprm-manage-ingredients-actions-tooltip a:hover,.wprm-manage-recipes-actions-tooltip a:hover,.wprm-manage-taxonomies-actions-tooltip a:hover{text-decoration:underline}
|
assets/css/admin/manage.scss
CHANGED
@@ -18,7 +18,9 @@
|
|
18 |
}
|
19 |
|
20 |
.wprm-manage-recipes-actions-tooltip,
|
21 |
-
.wprm-manage-ingredients-actions-tooltip
|
|
|
|
|
22 |
text-align: right;
|
23 |
min-width: 250px;
|
24 |
|
18 |
}
|
19 |
|
20 |
.wprm-manage-recipes-actions-tooltip,
|
21 |
+
.wprm-manage-ingredients-actions-tooltip,
|
22 |
+
.wprm-manage-taxonomies-actions-tooltip,
|
23 |
+
.wprm-manage-custom-taxonomies-actions-tooltip {
|
24 |
text-align: right;
|
25 |
min-width: 250px;
|
26 |
|
assets/js/admin/manage.js
CHANGED
@@ -12,11 +12,12 @@ wprm_admin.update_term_metadata = function(term_id, field, value) {
|
|
12 |
jQuery.post(wprm_manage.ajax_url, data);
|
13 |
};
|
14 |
|
15 |
-
wprm_admin.delete_or_merge_term = function(term_id, new_term_id) {
|
16 |
var data = {
|
17 |
action: 'wprm_delete_or_merge_term',
|
18 |
security: wprm_manage.nonce,
|
19 |
term_id: term_id,
|
|
|
20 |
new_term_id: new_term_id
|
21 |
};
|
22 |
|
@@ -99,6 +100,37 @@ jQuery(document).ready(function($) {
|
|
99 |
},
|
100 |
});
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
jQuery('.wprm-manage-recipes-actions').tooltipster({
|
103 |
content: '<div class="wprm-manage-recipes-actions-tooltip"><div class="tooltip-header"> </div><a href="#" class="wprm-manage-recipes-actions-edit">Edit Recipe</a><a href="#" class="wprm-manage-recipes-actions-delete">Delete Recipe</a></div>',
|
104 |
contentAsHTML: true,
|
@@ -150,13 +182,34 @@ jQuery(document).ready(function($) {
|
|
150 |
|
151 |
var new_term = parseInt(prompt('What is the ID of the ingredient that you want to merge "' + name + '" into?', ''));
|
152 |
if(new_term) {
|
153 |
-
wprm_admin.delete_or_merge_term(id, new_term);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
}
|
155 |
});
|
156 |
|
157 |
jQuery(document).on('click', '.wprm-manage-ingredients-actions-delete', function() {
|
158 |
var id = jQuery(this).data('id');
|
159 |
-
wprm_admin.delete_or_merge_term(id, 0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
});
|
161 |
|
162 |
jQuery(document).on('click', '.wprm-manage-recipes-actions-edit', function() {
|
12 |
jQuery.post(wprm_manage.ajax_url, data);
|
13 |
};
|
14 |
|
15 |
+
wprm_admin.delete_or_merge_term = function(term_id, taxonomy, new_term_id) {
|
16 |
var data = {
|
17 |
action: 'wprm_delete_or_merge_term',
|
18 |
security: wprm_manage.nonce,
|
19 |
term_id: term_id,
|
20 |
+
taxonomy: taxonomy,
|
21 |
new_term_id: new_term_id
|
22 |
};
|
23 |
|
100 |
},
|
101 |
});
|
102 |
|
103 |
+
jQuery('.wprm-manage-taxonomies-actions').tooltipster({
|
104 |
+
content: '<div class="wprm-manage-taxonomies-actions-tooltip"><div class="tooltip-header"> </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>',
|
105 |
+
contentAsHTML: true,
|
106 |
+
functionBefore: function() {
|
107 |
+
var instances = jQuery.tooltipster.instances();
|
108 |
+
jQuery.each(instances, function(i, instance){
|
109 |
+
instance.close();
|
110 |
+
});
|
111 |
+
},
|
112 |
+
functionReady: function(instance, helper) {
|
113 |
+
var id = parseInt(jQuery(helper.origin).data('id')),
|
114 |
+
count = parseInt(jQuery(helper.origin).data('count')),
|
115 |
+
name = jQuery('#wprm-manage-taxonomies-name-' + id).text();
|
116 |
+
|
117 |
+
jQuery(helper.tooltip).find('a').data('id', id);
|
118 |
+
jQuery(helper.tooltip).find('.tooltip-header').text('#' + id + ' - ' + name);
|
119 |
+
},
|
120 |
+
interactive: true,
|
121 |
+
delay: 0,
|
122 |
+
side: 'left',
|
123 |
+
trigger: 'custom',
|
124 |
+
triggerOpen: {
|
125 |
+
mouseenter: true,
|
126 |
+
touchstart: true
|
127 |
+
},
|
128 |
+
triggerClose: {
|
129 |
+
click: true,
|
130 |
+
tap: true
|
131 |
+
},
|
132 |
+
});
|
133 |
+
|
134 |
jQuery('.wprm-manage-recipes-actions').tooltipster({
|
135 |
content: '<div class="wprm-manage-recipes-actions-tooltip"><div class="tooltip-header"> </div><a href="#" class="wprm-manage-recipes-actions-edit">Edit Recipe</a><a href="#" class="wprm-manage-recipes-actions-delete">Delete Recipe</a></div>',
|
136 |
contentAsHTML: true,
|
182 |
|
183 |
var new_term = parseInt(prompt('What is the ID of the ingredient that you want to merge "' + name + '" into?', ''));
|
184 |
if(new_term) {
|
185 |
+
wprm_admin.delete_or_merge_term(id, 'ingredient', new_term);
|
186 |
+
}
|
187 |
+
});
|
188 |
+
|
189 |
+
jQuery(document).on('click', '.wprm-manage-taxonomies-actions-merge', function() {
|
190 |
+
var id = jQuery(this).data('id'),
|
191 |
+
name = jQuery('#wprm-manage-taxonomies-name-' + id).text(),
|
192 |
+
taxonomy = jQuery('.wprm-manage-taxonomies').data('taxonomy');
|
193 |
+
|
194 |
+
var new_term = parseInt(prompt('What is the ID of the term that you want to merge "' + name + '" into?', ''));
|
195 |
+
if(new_term) {
|
196 |
+
wprm_admin.delete_or_merge_term(id, taxonomy, new_term);
|
197 |
}
|
198 |
});
|
199 |
|
200 |
jQuery(document).on('click', '.wprm-manage-ingredients-actions-delete', function() {
|
201 |
var id = jQuery(this).data('id');
|
202 |
+
wprm_admin.delete_or_merge_term(id, 'ingredient', 0);
|
203 |
+
});
|
204 |
+
|
205 |
+
jQuery(document).on('click', '.wprm-manage-taxonomies-actions-delete', function() {
|
206 |
+
var id = jQuery(this).data('id'),
|
207 |
+
name = jQuery('#wprm-manage-taxonomies-name-' + id).text(),
|
208 |
+
taxonomy = jQuery('.wprm-manage-taxonomies').data('taxonomy');
|
209 |
+
|
210 |
+
if(confirm('Are you sure you want to delete "' + name + '"?')) {
|
211 |
+
wprm_admin.delete_or_merge_term(id, taxonomy, 0);
|
212 |
+
}
|
213 |
});
|
214 |
|
215 |
jQuery(document).on('click', '.wprm-manage-recipes-actions-edit', function() {
|
assets/js/admin/modal.js
CHANGED
@@ -56,6 +56,7 @@ wprm_admin.add_text_to_editor = function(text) {
|
|
56 |
jQuery('textarea#' + wprm_admin.active_editor_id).val(current + text);
|
57 |
} else {
|
58 |
tinyMCE.get(wprm_admin.active_editor_id).focus(true);
|
|
|
59 |
tinyMCE.activeEditor.execCommand('mceInsertContent', false, text);
|
60 |
}
|
61 |
}
|
@@ -70,7 +71,9 @@ jQuery(document).ready(function($) {
|
|
70 |
|
71 |
// Closing Modal
|
72 |
jQuery('.wprm-modal-container').on('click', '.wprm-modal-close, .wprm-modal-backdrop', function() {
|
|
|
73 |
wprm_admin.close_modal();
|
|
|
74 |
});
|
75 |
|
76 |
// Modal Menu
|
56 |
jQuery('textarea#' + wprm_admin.active_editor_id).val(current + text);
|
57 |
} else {
|
58 |
tinyMCE.get(wprm_admin.active_editor_id).focus(true);
|
59 |
+
tinyMCE.activeEditor.selection.collapse(false);
|
60 |
tinyMCE.activeEditor.execCommand('mceInsertContent', false, text);
|
61 |
}
|
62 |
}
|
71 |
|
72 |
// Closing Modal
|
73 |
jQuery('.wprm-modal-container').on('click', '.wprm-modal-close, .wprm-modal-backdrop', function() {
|
74 |
+
if(confirm(wprm_modal.text.modal_close_confirm)) {
|
75 |
wprm_admin.close_modal();
|
76 |
+
}
|
77 |
});
|
78 |
|
79 |
// Modal Menu
|
assets/js/admin/recipe-form.js
CHANGED
@@ -5,43 +5,51 @@ wprm_admin.total_time_set = false;
|
|
5 |
|
6 |
wprm_admin.editing_recipe = 0;
|
7 |
wprm_admin.set_recipe = function(args) {
|
8 |
-
|
9 |
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
|
16 |
-
|
17 |
-
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
|
|
|
|
23 |
|
24 |
-
|
|
|
|
|
|
|
25 |
|
26 |
-
|
27 |
-
action: 'wprm_get_recipe',
|
28 |
-
security: wprm_modal.nonce,
|
29 |
-
recipe_id: recipe_id
|
30 |
-
};
|
31 |
|
32 |
-
|
|
|
|
|
|
|
|
|
33 |
|
34 |
-
|
35 |
-
wprm_admin.stop_loader(button);
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
45 |
};
|
46 |
|
47 |
wprm_admin.edit_recipe = function() {
|
@@ -127,19 +135,22 @@ wprm_admin.set_recipe_fields = function(recipe) {
|
|
127 |
if (cook_time) wprm_admin.cook_time_set = true;
|
128 |
if (total_time) wprm_admin.total_time_set = true;
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
133 |
// Ingredients & Instructions
|
134 |
wprm_admin.set_recipe_ingredient_fields(recipe.ingredients);
|
135 |
wprm_admin.set_recipe_instruction_fields(recipe.instructions);
|
136 |
|
137 |
// Recipe Notes
|
138 |
if (typeof tinyMCE !== 'undefined' && tinyMCE.get('wprm_recipe_notes') && !tinyMCE.get('wprm_recipe_notes').isHidden()) {
|
139 |
-
|
140 |
-
|
141 |
} else {
|
142 |
-
|
143 |
}
|
144 |
};
|
145 |
|
@@ -339,6 +350,12 @@ wprm_admin.insert_update_recipe = function(button) {
|
|
339 |
}
|
340 |
};
|
341 |
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
// Recipe Ingredients
|
343 |
var ingredients = [];
|
344 |
var ingredient_group = {
|
@@ -404,10 +421,10 @@ wprm_admin.insert_update_recipe = function(button) {
|
|
404 |
recipe.instructions = instructions;
|
405 |
|
406 |
// Recipe Notes
|
407 |
-
if (
|
408 |
-
|
409 |
} else {
|
410 |
-
|
411 |
}
|
412 |
|
413 |
// Add any Premium fields
|
5 |
|
6 |
wprm_admin.editing_recipe = 0;
|
7 |
wprm_admin.set_recipe = function(args) {
|
8 |
+
var recipe_id = args.recipe_id ? args.recipe_id : 0;
|
9 |
|
10 |
+
wprm_admin.editing_recipe = recipe_id;
|
11 |
+
wprm_admin.clear_recipe_fields();
|
12 |
+
if(typeof wprmp_admin !== 'undefined') {
|
13 |
+
wprmp_admin.clear_recipe_fields();
|
14 |
+
}
|
15 |
|
16 |
+
if (recipe_id == 0) {
|
17 |
+
var button = jQuery('.wprm-button-action');
|
18 |
|
19 |
+
jQuery('.wprm-router.active').find('.wprm-menu-item').each(function() {
|
20 |
+
jQuery(this).data('button', wprm_modal.text.action_button_insert);
|
21 |
+
});
|
22 |
+
button.text(wprm_modal.text.action_button_insert);
|
23 |
+
} else {
|
24 |
+
var button = jQuery('.wprm-button-action');
|
25 |
|
26 |
+
jQuery('.wprm-router.active').find('.wprm-menu-item').each(function() {
|
27 |
+
jQuery(this).data('button', wprm_modal.text.action_button_update);
|
28 |
+
});
|
29 |
+
button.text(wprm_modal.text.action_button_update);
|
30 |
|
31 |
+
wprm_admin.disable_menu();
|
|
|
|
|
|
|
|
|
32 |
|
33 |
+
var data = {
|
34 |
+
action: 'wprm_get_recipe',
|
35 |
+
security: wprm_modal.nonce,
|
36 |
+
recipe_id: recipe_id
|
37 |
+
};
|
38 |
|
39 |
+
wprm_admin.start_loader(button);
|
|
|
40 |
|
41 |
+
jQuery.post(wprm_modal.ajax_url, data, function(out) {
|
42 |
+
wprm_admin.stop_loader(button);
|
43 |
+
|
44 |
+
if (out.success) {
|
45 |
+
wprm_admin.set_recipe_fields(out.data.recipe);
|
46 |
+
if(typeof wprmp_admin !== 'undefined') {
|
47 |
+
wprmp_admin.set_recipe_fields(out.data.recipe);
|
48 |
+
}
|
49 |
+
jQuery('.wprm-frame-title').find('h1').text(wprm_modal.text.edit_recipe);
|
50 |
+
}
|
51 |
+
}, 'json');
|
52 |
+
}
|
53 |
};
|
54 |
|
55 |
wprm_admin.edit_recipe = function() {
|
135 |
if (cook_time) wprm_admin.cook_time_set = true;
|
136 |
if (total_time) wprm_admin.total_time_set = true;
|
137 |
|
138 |
+
for (var tag in recipe.tags) {
|
139 |
+
if (recipe.tags.hasOwnProperty(tag)) {
|
140 |
+
wprm_admin.set_recipe_tags(recipe, tag);
|
141 |
+
}
|
142 |
+
}
|
143 |
+
|
144 |
// Ingredients & Instructions
|
145 |
wprm_admin.set_recipe_ingredient_fields(recipe.ingredients);
|
146 |
wprm_admin.set_recipe_instruction_fields(recipe.instructions);
|
147 |
|
148 |
// Recipe Notes
|
149 |
if (typeof tinyMCE !== 'undefined' && tinyMCE.get('wprm_recipe_notes') && !tinyMCE.get('wprm_recipe_notes').isHidden()) {
|
150 |
+
tinyMCE.get('wprm_recipe_notes').focus(true);
|
151 |
+
tinyMCE.activeEditor.setContent(recipe.notes);
|
152 |
} else {
|
153 |
+
jQuery('#wprm_recipe_notes').val(recipe.notes);
|
154 |
}
|
155 |
};
|
156 |
|
350 |
}
|
351 |
};
|
352 |
|
353 |
+
// Recipe Tags
|
354 |
+
recipe.tags = {};
|
355 |
+
jQuery('.wprm-recipe-tags').each(function() {
|
356 |
+
recipe.tags[jQuery(this).data('key')] = jQuery(this).val();
|
357 |
+
});
|
358 |
+
|
359 |
// Recipe Ingredients
|
360 |
var ingredients = [];
|
361 |
var ingredient_group = {
|
421 |
recipe.instructions = instructions;
|
422 |
|
423 |
// Recipe Notes
|
424 |
+
if (typeof tinyMCE !== 'undefined' && tinyMCE.get('wprm_recipe_notes') && !tinyMCE.get('wprm_recipe_notes').isHidden()) {
|
425 |
+
recipe.notes = tinyMCE.get('wprm_recipe_notes').getContent();
|
426 |
} else {
|
427 |
+
recipe.notes = jQuery('#wprm_recipe_notes').val();
|
428 |
}
|
429 |
|
430 |
// Add any Premium fields
|
assets/js/admin/settings.js
CHANGED
@@ -2,4 +2,5 @@ var wprm_admin = wprm_admin || {};
|
|
2 |
|
3 |
jQuery(document).ready(function($) {
|
4 |
jQuery('.wprm-settings').find('select').select2_wprm();
|
|
|
5 |
});
|
2 |
|
3 |
jQuery(document).ready(function($) {
|
4 |
jQuery('.wprm-settings').find('select').select2_wprm();
|
5 |
+
jQuery('.wprm-settings').find('.wprm-color').wpColorPicker();
|
6 |
});
|
includes/admin/class-wprm-import-manager.php
CHANGED
@@ -49,6 +49,7 @@ class WPRM_Import_Manager {
|
|
49 |
public static function add_submenu_page() {
|
50 |
add_submenu_page( 'wprecipemaker', __( 'Import Recipes', 'wp-recipe-maker' ), __( 'Import Recipes', 'wp-recipe-maker' ), 'manage_options', 'wprm_import_overview', array( __CLASS__, 'overview_page_template' ) );
|
51 |
add_submenu_page( null, __( 'Import Recipes', 'wp-recipe-maker' ), __( 'Import Recipes', 'wp-recipe-maker' ), 'manage_options', 'wprm_import', array( __CLASS__, 'import_page_template' ) );
|
|
|
52 |
}
|
53 |
|
54 |
/**
|
@@ -68,7 +69,7 @@ class WPRM_Import_Manager {
|
|
68 |
* @since 1.0.0
|
69 |
*/
|
70 |
public static function overview_page_template() {
|
71 |
-
require_once( WPRM_DIR . 'templates/admin/menu/import-overview.php' );
|
72 |
}
|
73 |
|
74 |
/**
|
@@ -77,7 +78,16 @@ class WPRM_Import_Manager {
|
|
77 |
* @since 1.0.0
|
78 |
*/
|
79 |
public static function import_page_template() {
|
80 |
-
require_once( WPRM_DIR . 'templates/admin/menu/import-recipes.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
82 |
|
83 |
/**
|
49 |
public static function add_submenu_page() {
|
50 |
add_submenu_page( 'wprecipemaker', __( 'Import Recipes', 'wp-recipe-maker' ), __( 'Import Recipes', 'wp-recipe-maker' ), 'manage_options', 'wprm_import_overview', array( __CLASS__, 'overview_page_template' ) );
|
51 |
add_submenu_page( null, __( 'Import Recipes', 'wp-recipe-maker' ), __( 'Import Recipes', 'wp-recipe-maker' ), 'manage_options', 'wprm_import', array( __CLASS__, 'import_page_template' ) );
|
52 |
+
add_submenu_page( null, __( 'Search Recipes', 'wp-recipe-maker' ), __( 'Search Recipes', 'wp-recipe-maker' ), 'manage_options', 'wprm_import_search', array( __CLASS__, 'import_search_page_template' ) );
|
53 |
}
|
54 |
|
55 |
/**
|
69 |
* @since 1.0.0
|
70 |
*/
|
71 |
public static function overview_page_template() {
|
72 |
+
require_once( WPRM_DIR . 'templates/admin/menu/import/import-overview.php' );
|
73 |
}
|
74 |
|
75 |
/**
|
78 |
* @since 1.0.0
|
79 |
*/
|
80 |
public static function import_page_template() {
|
81 |
+
require_once( WPRM_DIR . 'templates/admin/menu/import/import-recipes.php' );
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Get the template for the import search page.
|
86 |
+
*
|
87 |
+
* @since 1.10.0
|
88 |
+
*/
|
89 |
+
public static function import_search_page_template() {
|
90 |
+
require_once( WPRM_DIR . 'templates/admin/menu/import/import-search.php' );
|
91 |
}
|
92 |
|
93 |
/**
|
includes/admin/class-wprm-migrations.php
CHANGED
@@ -19,6 +19,15 @@
|
|
19 |
*/
|
20 |
class WPRM_Migrations {
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
/**
|
23 |
* Register actions and filters.
|
24 |
*
|
@@ -26,6 +35,7 @@ class WPRM_Migrations {
|
|
26 |
*/
|
27 |
public static function init() {
|
28 |
add_action( 'admin_init', array( __CLASS__, 'check_if_migration_needed' ) );
|
|
|
29 |
}
|
30 |
|
31 |
/**
|
@@ -36,12 +46,34 @@ class WPRM_Migrations {
|
|
36 |
public static function check_if_migration_needed() {
|
37 |
$migrated_to_version = get_option( 'wprm_migrated_to_version', '0.0.0' );
|
38 |
|
39 |
-
if ( version_compare( $migrated_to_version,
|
40 |
require_once( WPRM_DIR . 'includes/admin/migrations/wprm-1-7-1-ingredient-ids.php' );
|
41 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
|
43 |
update_option( 'wprm_migrated_to_version', WPRM_VERSION );
|
44 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
46 |
|
47 |
WPRM_Migrations::init();
|
19 |
*/
|
20 |
class WPRM_Migrations {
|
21 |
|
22 |
+
/**
|
23 |
+
* Notices to show after migrating.
|
24 |
+
*
|
25 |
+
* @since 1.10.0
|
26 |
+
* @access private
|
27 |
+
* @var array $notices Notices to show.
|
28 |
+
*/
|
29 |
+
private static $notices = array();
|
30 |
+
|
31 |
/**
|
32 |
* Register actions and filters.
|
33 |
*
|
35 |
*/
|
36 |
public static function init() {
|
37 |
add_action( 'admin_init', array( __CLASS__, 'check_if_migration_needed' ) );
|
38 |
+
add_action( 'admin_notices', array( __CLASS__, 'migration_notices' ) );
|
39 |
}
|
40 |
|
41 |
/**
|
46 |
public static function check_if_migration_needed() {
|
47 |
$migrated_to_version = get_option( 'wprm_migrated_to_version', '0.0.0' );
|
48 |
|
49 |
+
if ( version_compare( $migrated_to_version, '1.7.1' ) < 0 ) {
|
50 |
require_once( WPRM_DIR . 'includes/admin/migrations/wprm-1-7-1-ingredient-ids.php' );
|
51 |
}
|
52 |
+
if ( version_compare( $migrated_to_version, '1.10.0' ) < 0 ) {
|
53 |
+
require_once( WPRM_DIR . 'includes/admin/migrations/wprm-1-10-0-wpurp.php' );
|
54 |
+
}
|
55 |
+
|
56 |
+
if ( '0.0.0' === $migrated_to_version ) {
|
57 |
+
self::$notices = array();
|
58 |
+
}
|
59 |
|
60 |
update_option( 'wprm_migrated_to_version', WPRM_VERSION );
|
61 |
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Show any migration notices that might have been set.
|
65 |
+
*
|
66 |
+
* @since 1.10.0
|
67 |
+
*/
|
68 |
+
public static function migration_notices() {
|
69 |
+
foreach ( self::$notices as $notice ) {
|
70 |
+
echo '<div class="notice notice-warning is-dismissible">';
|
71 |
+
echo '<p><strong>WP Recipe Maker</strong><br/>';
|
72 |
+
echo wp_kses( $notice );
|
73 |
+
echo '</p>';
|
74 |
+
echo '</div>';
|
75 |
+
}
|
76 |
+
}
|
77 |
}
|
78 |
|
79 |
WPRM_Migrations::init();
|
includes/admin/class-wprm-recipe-sanitizer.php
CHANGED
@@ -48,8 +48,11 @@ class WPRM_Recipe_Sanitizer {
|
|
48 |
|
49 |
// Recipe Tags.
|
50 |
$sanitized_recipe['tags'] = array();
|
51 |
-
$
|
52 |
-
|
|
|
|
|
|
|
53 |
|
54 |
// Recipe Ingredients.
|
55 |
$sanitized_recipe['ingredients'] = array();
|
@@ -160,7 +163,7 @@ class WPRM_Recipe_Sanitizer {
|
|
160 |
);
|
161 |
|
162 |
foreach ( $nutrition_fields as $field ) {
|
163 |
-
$sanitized_recipe['nutrition'][ $field ] = isset( $recipe['nutrition'][ $field ] ) && '' !== trim( $recipe['nutrition'][ $field ] ) ? str_replace( ',', '.', $recipe['nutrition'][ $field ] ) : false;
|
164 |
}
|
165 |
}
|
166 |
|
48 |
|
49 |
// Recipe Tags.
|
50 |
$sanitized_recipe['tags'] = array();
|
51 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
52 |
+
foreach ( $taxonomies as $taxonomy => $options ) {
|
53 |
+
$key = substr( $taxonomy, 5 ); // Get rid of wprm_.
|
54 |
+
$sanitized_recipe['tags'][ $key ] = isset( $recipe['tags'] ) && isset( $recipe['tags'][ $key ] ) && $recipe['tags'][ $key ] ? array_map( array( __CLASS__, 'sanitize_tags' ), $recipe['tags'][ $key ] ) : array();
|
55 |
+
}
|
56 |
|
57 |
// Recipe Ingredients.
|
58 |
$sanitized_recipe['ingredients'] = array();
|
163 |
);
|
164 |
|
165 |
foreach ( $nutrition_fields as $field ) {
|
166 |
+
$sanitized_recipe['nutrition'][ $field ] = isset( $recipe['nutrition'][ $field ] ) && '' !== trim( $recipe['nutrition'][ $field ] ) ? floatval( str_replace( ',', '.', $recipe['nutrition'][ $field ] ) ) : false;
|
167 |
}
|
168 |
}
|
169 |
|
includes/admin/class-wprm-recipe-saver.php
CHANGED
@@ -101,8 +101,11 @@ class WPRM_Recipe_Saver {
|
|
101 |
}
|
102 |
|
103 |
// Recipe Taxonomies.
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
106 |
|
107 |
// Recipe Ingredients.
|
108 |
$ingredient_ids = array();
|
101 |
}
|
102 |
|
103 |
// Recipe Taxonomies.
|
104 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
105 |
+
foreach ( $taxonomies as $taxonomy => $options ) {
|
106 |
+
$key = substr( $taxonomy, 5 ); // Get rid of wprm_.
|
107 |
+
wp_set_object_terms( $id, $recipe['tags'][ $key ], $taxonomy, false );
|
108 |
+
}
|
109 |
|
110 |
// Recipe Ingredients.
|
111 |
$ingredient_ids = array();
|
includes/admin/import/class-wprm-import-bigoven.php
CHANGED
@@ -27,6 +27,15 @@ class WPRM_Import_Bigoven extends WPRM_Import {
|
|
27 |
return 'bigoven';
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Get the name of this import source.
|
32 |
*
|
@@ -45,34 +54,46 @@ class WPRM_Import_Bigoven extends WPRM_Import {
|
|
45 |
return '';
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
/**
|
49 |
* Get a list of recipes that are available to import.
|
50 |
*
|
51 |
* @since 1.7.0
|
|
|
52 |
*/
|
53 |
-
public function get_recipes() {
|
54 |
$recipes = array();
|
55 |
|
56 |
-
// Loop through all posts.
|
57 |
$limit = 100;
|
58 |
-
$offset =
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
);
|
69 |
-
|
70 |
-
$query = new WP_Query( $args );
|
71 |
|
72 |
-
|
73 |
-
break;
|
74 |
-
}
|
75 |
|
|
|
76 |
$posts = $query->posts;
|
77 |
|
78 |
foreach ( $posts as $post ) {
|
@@ -80,13 +101,7 @@ class WPRM_Import_Bigoven extends WPRM_Import {
|
|
80 |
'name' => $post->post_title,
|
81 |
'url' => get_edit_post_link( $post->ID ),
|
82 |
);
|
83 |
-
|
84 |
-
wp_cache_delete( $post->ID, 'posts' );
|
85 |
-
wp_cache_delete( $post->ID, 'post_meta' );
|
86 |
}
|
87 |
-
|
88 |
-
$offset += $limit;
|
89 |
-
wp_cache_flush();
|
90 |
}
|
91 |
|
92 |
return $recipes;
|
27 |
return 'bigoven';
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* Wether or not this importer requires a manual search for recipes.
|
32 |
+
*
|
33 |
+
* @since 1.10.0
|
34 |
+
*/
|
35 |
+
public function requires_search() {
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get the name of this import source.
|
41 |
*
|
54 |
return '';
|
55 |
}
|
56 |
|
57 |
+
/**
|
58 |
+
* Get the total number of recipes to import.
|
59 |
+
*
|
60 |
+
* @since 1.10.0
|
61 |
+
*/
|
62 |
+
public function get_recipe_count() {
|
63 |
+
$args = array(
|
64 |
+
'post_type' => 'bo-recipe',
|
65 |
+
'post_status' => 'any',
|
66 |
+
'posts_per_page' => 1,
|
67 |
+
);
|
68 |
+
|
69 |
+
$query = new WP_Query( $args );
|
70 |
+
return $query->found_posts;
|
71 |
+
}
|
72 |
+
|
73 |
/**
|
74 |
* Get a list of recipes that are available to import.
|
75 |
*
|
76 |
* @since 1.7.0
|
77 |
+
* @param int $page Page of recipes to get.
|
78 |
*/
|
79 |
+
public function get_recipes( $page = 0 ) {
|
80 |
$recipes = array();
|
81 |
|
|
|
82 |
$limit = 100;
|
83 |
+
$offset = $limit * $page;
|
84 |
+
|
85 |
+
$args = array(
|
86 |
+
'post_type' => 'bo-recipe',
|
87 |
+
'post_status' => 'any',
|
88 |
+
'orderby' => 'date',
|
89 |
+
'order' => 'DESC',
|
90 |
+
'posts_per_page' => $limit,
|
91 |
+
'offset' => $offset,
|
92 |
+
);
|
|
|
|
|
|
|
93 |
|
94 |
+
$query = new WP_Query( $args );
|
|
|
|
|
95 |
|
96 |
+
if ( $query->have_posts() ) {
|
97 |
$posts = $query->posts;
|
98 |
|
99 |
foreach ( $posts as $post ) {
|
101 |
'name' => $post->post_title,
|
102 |
'url' => get_edit_post_link( $post->ID ),
|
103 |
);
|
|
|
|
|
|
|
104 |
}
|
|
|
|
|
|
|
105 |
}
|
106 |
|
107 |
return $recipes;
|
includes/admin/import/class-wprm-import-easyrecipe.php
CHANGED
@@ -27,6 +27,15 @@ class WPRM_Import_Easyrecipe extends WPRM_Import {
|
|
27 |
return 'easyrecipe';
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Get the name of this import source.
|
32 |
*
|
@@ -46,38 +55,45 @@ class WPRM_Import_Easyrecipe extends WPRM_Import {
|
|
46 |
}
|
47 |
|
48 |
/**
|
49 |
-
* Get
|
50 |
*
|
51 |
-
* @since 1.
|
52 |
*/
|
53 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
if ( ! class_exists( 'simple_html_dom' ) && ! class_exists( 'simple_html_dom_node' ) ) {
|
55 |
require_once( WPRM_DIR . 'vendor/simple_html_dom/simple_html_dom.php' );
|
56 |
libxml_use_internal_errors( true );
|
57 |
}
|
58 |
|
59 |
$recipes = array();
|
|
|
60 |
|
61 |
-
// Loop through all posts.
|
62 |
$limit = 100;
|
63 |
-
$offset =
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
);
|
74 |
-
|
75 |
-
$query = new WP_Query( $args );
|
76 |
|
77 |
-
|
78 |
-
break;
|
79 |
-
}
|
80 |
|
|
|
81 |
$posts = $query->posts;
|
82 |
|
83 |
foreach ( $posts as $post ) {
|
@@ -95,16 +111,37 @@ class WPRM_Import_Easyrecipe extends WPRM_Import {
|
|
95 |
);
|
96 |
}
|
97 |
}
|
98 |
-
|
99 |
-
wp_cache_delete( $post->ID, 'posts' );
|
100 |
-
wp_cache_delete( $post->ID, 'post_meta' );
|
101 |
}
|
102 |
-
|
103 |
-
$
|
104 |
-
wp_cache_flush();
|
105 |
}
|
106 |
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
|
110 |
/**
|
@@ -373,6 +410,11 @@ class WPRM_Import_Easyrecipe extends WPRM_Import {
|
|
373 |
);
|
374 |
wp_update_post( $update_content );
|
375 |
|
|
|
|
|
|
|
|
|
|
|
376 |
// Migrate comment ratings.
|
377 |
$comments = get_comments( array( 'post_id' => $post_id ) );
|
378 |
|
27 |
return 'easyrecipe';
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* Wether or not this importer requires a manual search for recipes.
|
32 |
+
*
|
33 |
+
* @since 1.10.0
|
34 |
+
*/
|
35 |
+
public function requires_search() {
|
36 |
+
return true;
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get the name of this import source.
|
41 |
*
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
+
* Get the total number of recipes to import.
|
59 |
*
|
60 |
+
* @since 1.10.0
|
61 |
*/
|
62 |
+
public function get_recipe_count() {
|
63 |
+
$recipes_found = get_option( 'wprm_import_easyrecipe_recipes', array() );
|
64 |
+
return count( $recipes_found );
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Search for recipes to import.
|
69 |
+
*
|
70 |
+
* @since 1.10.0
|
71 |
+
* @param int $page Page of recipes to import.
|
72 |
+
*/
|
73 |
+
public function search_recipes( $page = 0 ) {
|
74 |
if ( ! class_exists( 'simple_html_dom' ) && ! class_exists( 'simple_html_dom_node' ) ) {
|
75 |
require_once( WPRM_DIR . 'vendor/simple_html_dom/simple_html_dom.php' );
|
76 |
libxml_use_internal_errors( true );
|
77 |
}
|
78 |
|
79 |
$recipes = array();
|
80 |
+
$finished = false;
|
81 |
|
|
|
82 |
$limit = 100;
|
83 |
+
$offset = $limit * $page;
|
84 |
+
|
85 |
+
$args = array(
|
86 |
+
'post_type' => array( 'post', 'page' ),
|
87 |
+
'post_status' => 'any',
|
88 |
+
'orderby' => 'date',
|
89 |
+
'order' => 'DESC',
|
90 |
+
'posts_per_page' => $limit,
|
91 |
+
'offset' => $offset,
|
92 |
+
);
|
|
|
|
|
|
|
93 |
|
94 |
+
$query = new WP_Query( $args );
|
|
|
|
|
95 |
|
96 |
+
if ( $query->have_posts() ) {
|
97 |
$posts = $query->posts;
|
98 |
|
99 |
foreach ( $posts as $post ) {
|
111 |
);
|
112 |
}
|
113 |
}
|
|
|
|
|
|
|
114 |
}
|
115 |
+
} else {
|
116 |
+
$finished = true;
|
|
|
117 |
}
|
118 |
|
119 |
+
$found_recipes = get_option( 'wprm_import_easyrecipe_recipes', array() );
|
120 |
+
$found_recipes = array_merge( $found_recipes, $recipes );
|
121 |
+
|
122 |
+
update_option( 'wprm_import_easyrecipe_recipes', $found_recipes, false );
|
123 |
+
|
124 |
+
$search_result = array(
|
125 |
+
'finished' => $finished,
|
126 |
+
'recipes' => count( $found_recipes ),
|
127 |
+
);
|
128 |
+
|
129 |
+
return $search_result;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Get a list of recipes that are available to import.
|
134 |
+
*
|
135 |
+
* @since 1.0.0
|
136 |
+
* @param int $page Page of recipes to get.
|
137 |
+
*/
|
138 |
+
public function get_recipes( $page = 0 ) {
|
139 |
+
$found_recipes = get_option( 'wprm_import_easyrecipe_recipes', array() );
|
140 |
+
|
141 |
+
$limit = 100;
|
142 |
+
$offset = $limit * $page;
|
143 |
+
|
144 |
+
return array_slice( $found_recipes, $offset, $limit );
|
145 |
}
|
146 |
|
147 |
/**
|
410 |
);
|
411 |
wp_update_post( $update_content );
|
412 |
|
413 |
+
// Remove from found recipes.
|
414 |
+
$found_recipes = get_option( 'wprm_import_easyrecipe_recipes', array() );
|
415 |
+
unset( $found_recipes[ $id ] );
|
416 |
+
update_option( 'wprm_import_easyrecipe_recipes', $found_recipes, false );
|
417 |
+
|
418 |
// Migrate comment ratings.
|
419 |
$comments = get_comments( array( 'post_id' => $post_id ) );
|
420 |
|
includes/admin/import/class-wprm-import-mealplannerpro.php
CHANGED
@@ -27,6 +27,15 @@ class WPRM_Import_Mealplannerpro extends WPRM_Import {
|
|
27 |
return 'mealplannerpro';
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Get the name of this import source.
|
32 |
*
|
@@ -45,12 +54,25 @@ class WPRM_Import_Mealplannerpro extends WPRM_Import {
|
|
45 |
return '';
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
/**
|
49 |
* Get a list of recipes that are available to import.
|
50 |
*
|
51 |
* @since 1.7.0
|
|
|
52 |
*/
|
53 |
-
public function get_recipes() {
|
54 |
$recipes = array();
|
55 |
|
56 |
global $wpdb;
|
27 |
return 'mealplannerpro';
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* Wether or not this importer requires a manual search for recipes.
|
32 |
+
*
|
33 |
+
* @since 1.10.0
|
34 |
+
*/
|
35 |
+
public function requires_search() {
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get the name of this import source.
|
41 |
*
|
54 |
return '';
|
55 |
}
|
56 |
|
57 |
+
/**
|
58 |
+
* Get the total number of recipes to import.
|
59 |
+
*
|
60 |
+
* @since 1.10.0
|
61 |
+
*/
|
62 |
+
public function get_recipe_count() {
|
63 |
+
global $wpdb;
|
64 |
+
$nbr_recipes = $wpdb->get_var( 'SELECT COUNT(*) FROM ' . $wpdb->prefix . 'mpprecipe_recipes WHERE SUBSTRING( server_recipe_id, 0, 5 ) <> "wprm-"' );
|
65 |
+
|
66 |
+
return $nbr_recipes;
|
67 |
+
}
|
68 |
+
|
69 |
/**
|
70 |
* Get a list of recipes that are available to import.
|
71 |
*
|
72 |
* @since 1.7.0
|
73 |
+
* @param int $page Page of recipes to get.
|
74 |
*/
|
75 |
+
public function get_recipes( $page = 0 ) {
|
76 |
$recipes = array();
|
77 |
|
78 |
global $wpdb;
|
includes/admin/import/class-wprm-import-wpultimaterecipe.php
CHANGED
@@ -27,6 +27,15 @@ class WPRM_Import_Wpultimaterecipe extends WPRM_Import {
|
|
27 |
return 'wpultimaterecipe';
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Get the name of this import source.
|
32 |
*
|
@@ -52,56 +61,65 @@ class WPRM_Import_Wpultimaterecipe extends WPRM_Import {
|
|
52 |
$wpurp_taxonomies = get_option( 'wpurp_taxonomies', array() );
|
53 |
unset( $wpurp_taxonomies['ingredient'] );
|
54 |
|
55 |
-
$
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
$html .= '<
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
$selected = 'cuisine' === $name ? ' selected="selected"' : '';
|
70 |
-
$html .= '<option value="' . esc_attr( $name ) . '"' . esc_html( $selected ) . '>' . esc_html( $options['labels']['name'] ) . '</option>';
|
71 |
}
|
72 |
-
$html .= '</select>';
|
73 |
|
74 |
return $html;
|
75 |
}
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
/**
|
78 |
* Get a list of recipes that are available to import.
|
79 |
*
|
80 |
* @since 1.3.0
|
|
|
81 |
*/
|
82 |
-
public function get_recipes() {
|
83 |
$recipes = array();
|
84 |
|
85 |
-
// Loop through all posts.
|
86 |
$limit = 100;
|
87 |
-
$offset =
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
);
|
98 |
-
|
99 |
-
$query = new WP_Query( $args );
|
100 |
|
101 |
-
|
102 |
-
break;
|
103 |
-
}
|
104 |
|
|
|
105 |
$posts = $query->posts;
|
106 |
|
107 |
foreach ( $posts as $post ) {
|
@@ -109,13 +127,7 @@ class WPRM_Import_Wpultimaterecipe extends WPRM_Import {
|
|
109 |
'name' => $post->post_title,
|
110 |
'url' => get_edit_post_link( $post->ID ),
|
111 |
);
|
112 |
-
|
113 |
-
wp_cache_delete( $post->ID, 'posts' );
|
114 |
-
wp_cache_delete( $post->ID, 'post_meta' );
|
115 |
}
|
116 |
-
|
117 |
-
$offset += $limit;
|
118 |
-
wp_cache_flush();
|
119 |
}
|
120 |
|
121 |
return $recipes;
|
@@ -177,26 +189,19 @@ class WPRM_Import_Wpultimaterecipe extends WPRM_Import {
|
|
177 |
$recipe['total_time'] = $recipe['prep_time'] + $recipe['cook_time'] + $passive_time_minutes;
|
178 |
|
179 |
// Recipe Tags.
|
180 |
-
$course_tag = isset( $post_data['wpurp-tags-course'] ) ? $post_data['wpurp-tags-course'] : false;
|
181 |
-
$cuisine_tag = isset( $post_data['wpurp-tags-cuisine'] ) ? $post_data['wpurp-tags-cuisine'] : false;
|
182 |
-
|
183 |
$recipe['tags'] = array();
|
184 |
-
$recipe['tags']['course'] = array();
|
185 |
-
if ( $course_tag ) {
|
186 |
-
$terms = get_the_terms( $id, $course_tag );
|
187 |
-
if ( $terms && ! is_wp_error( $terms ) ) {
|
188 |
-
foreach ( $terms as $term ) {
|
189 |
-
$recipe['tags']['course'][] = $term->name;
|
190 |
-
}
|
191 |
-
}
|
192 |
-
}
|
193 |
|
194 |
-
$
|
195 |
-
|
196 |
-
$
|
197 |
-
|
198 |
-
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
200 |
}
|
201 |
}
|
202 |
}
|
27 |
return 'wpultimaterecipe';
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* Wether or not this importer requires a manual search for recipes.
|
32 |
+
*
|
33 |
+
* @since 1.10.0
|
34 |
+
*/
|
35 |
+
public function requires_search() {
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get the name of this import source.
|
41 |
*
|
61 |
$wpurp_taxonomies = get_option( 'wpurp_taxonomies', array() );
|
62 |
unset( $wpurp_taxonomies['ingredient'] );
|
63 |
|
64 |
+
$wprm_taxonomies = WPRM_Taxonomies::get_taxonomies();
|
65 |
+
|
66 |
+
foreach ( $wprm_taxonomies as $wprm_taxonomy => $options ) {
|
67 |
+
$wprm_key = substr( $wprm_taxonomy, 5 );
|
68 |
+
|
69 |
+
$html .= '<label for="wpurp-tags-' . $wprm_key . '">' . $options['name'] . ':</label> ';
|
70 |
+
$html .= '<select name="wpurp-tags-' . $wprm_key . '" id="wpurp-tags-' . $wprm_key . '">';
|
71 |
+
$html .= "<option value=\"\">Don't import anything for this tag</option>";
|
72 |
+
foreach ( $wpurp_taxonomies as $name => $options ) {
|
73 |
+
$selected = $wprm_key === $name ? ' selected="selected"' : '';
|
74 |
+
$html .= '<option value="' . esc_attr( $name ) . '"' . esc_html( $selected ) . '>' . esc_html( $options['labels']['name'] ) . '</option>';
|
75 |
+
}
|
76 |
+
$html .= '</select>';
|
77 |
+
$html .= '<br />';
|
|
|
|
|
78 |
}
|
|
|
79 |
|
80 |
return $html;
|
81 |
}
|
82 |
|
83 |
+
/**
|
84 |
+
* Get the total number of recipes to import.
|
85 |
+
*
|
86 |
+
* @since 1.10.0
|
87 |
+
*/
|
88 |
+
public function get_recipe_count() {
|
89 |
+
$args = array(
|
90 |
+
'post_type' => 'recipe',
|
91 |
+
'post_status' => 'any',
|
92 |
+
'posts_per_page' => 1,
|
93 |
+
);
|
94 |
+
|
95 |
+
$query = new WP_Query( $args );
|
96 |
+
return $query->found_posts;
|
97 |
+
}
|
98 |
+
|
99 |
/**
|
100 |
* Get a list of recipes that are available to import.
|
101 |
*
|
102 |
* @since 1.3.0
|
103 |
+
* @param int $page Page of recipes to get.
|
104 |
*/
|
105 |
+
public function get_recipes( $page = 0 ) {
|
106 |
$recipes = array();
|
107 |
|
|
|
108 |
$limit = 100;
|
109 |
+
$offset = $limit * $page;
|
110 |
+
|
111 |
+
$args = array(
|
112 |
+
'post_type' => 'recipe',
|
113 |
+
'post_status' => 'any',
|
114 |
+
'orderby' => 'date',
|
115 |
+
'order' => 'DESC',
|
116 |
+
'posts_per_page' => $limit,
|
117 |
+
'offset' => $offset,
|
118 |
+
);
|
|
|
|
|
|
|
119 |
|
120 |
+
$query = new WP_Query( $args );
|
|
|
|
|
121 |
|
122 |
+
if ( $query->have_posts() ) {
|
123 |
$posts = $query->posts;
|
124 |
|
125 |
foreach ( $posts as $post ) {
|
127 |
'name' => $post->post_title,
|
128 |
'url' => get_edit_post_link( $post->ID ),
|
129 |
);
|
|
|
|
|
|
|
130 |
}
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
return $recipes;
|
189 |
$recipe['total_time'] = $recipe['prep_time'] + $recipe['cook_time'] + $passive_time_minutes;
|
190 |
|
191 |
// Recipe Tags.
|
|
|
|
|
|
|
192 |
$recipe['tags'] = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
|
194 |
+
$wprm_taxonomies = WPRM_Taxonomies::get_taxonomies();
|
195 |
+
foreach ( $wprm_taxonomies as $wprm_taxonomy => $options ) {
|
196 |
+
$wprm_key = substr( $wprm_taxonomy, 5 );
|
197 |
+
$tag = isset( $post_data[ 'wpurp-tags-' . $wprm_key ] ) ? $post_data[ 'wpurp-tags-' . $wprm_key ] : false;
|
198 |
+
|
199 |
+
if ( $tag ) {
|
200 |
+
$terms = get_the_terms( $id, $tag );
|
201 |
+
if ( $terms && ! is_wp_error( $terms ) ) {
|
202 |
+
foreach ( $terms as $term ) {
|
203 |
+
$recipe['tags'][ $wprm_key ][] = $term->name;
|
204 |
+
}
|
205 |
}
|
206 |
}
|
207 |
}
|
includes/admin/import/class-wprm-import-ziplist.php
CHANGED
@@ -27,6 +27,15 @@ class WPRM_Import_Ziplist extends WPRM_Import {
|
|
27 |
return 'ziplist';
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Get the name of this import source.
|
32 |
*
|
@@ -45,12 +54,22 @@ class WPRM_Import_Ziplist extends WPRM_Import {
|
|
45 |
return '';
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
/**
|
49 |
* Get a list of recipes that are available to import.
|
50 |
*
|
51 |
* @since 1.8.0
|
|
|
52 |
*/
|
53 |
-
public function get_recipes() {
|
54 |
$recipes = array();
|
55 |
|
56 |
global $wpdb;
|
27 |
return 'ziplist';
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* Wether or not this importer requires a manual search for recipes.
|
32 |
+
*
|
33 |
+
* @since 1.10.0
|
34 |
+
*/
|
35 |
+
public function requires_search() {
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
|
39 |
/**
|
40 |
* Get the name of this import source.
|
41 |
*
|
54 |
return '';
|
55 |
}
|
56 |
|
57 |
+
/**
|
58 |
+
* Get the total number of recipes to import.
|
59 |
+
*
|
60 |
+
* @since 1.10.0
|
61 |
+
*/
|
62 |
+
public function get_recipe_count() {
|
63 |
+
return count( $this->get_recipes() );
|
64 |
+
}
|
65 |
+
|
66 |
/**
|
67 |
* Get a list of recipes that are available to import.
|
68 |
*
|
69 |
* @since 1.8.0
|
70 |
+
* @param int $page Page of recipes to get.
|
71 |
*/
|
72 |
+
public function get_recipes( $page = 0 ) {
|
73 |
$recipes = array();
|
74 |
|
75 |
global $wpdb;
|
includes/admin/import/class-wprm-import.php
CHANGED
@@ -32,6 +32,13 @@ abstract class WPRM_Import {
|
|
32 |
*/
|
33 |
abstract public function get_name();
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* Get HTML for the import settings.
|
37 |
*
|
@@ -39,12 +46,20 @@ abstract class WPRM_Import {
|
|
39 |
*/
|
40 |
abstract public function get_settings_html();
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
/**
|
43 |
* Get a list of recipes that are available to import.
|
44 |
*
|
45 |
* @since 1.0.0
|
|
|
46 |
*/
|
47 |
-
abstract public function get_recipes();
|
48 |
|
49 |
/**
|
50 |
* Get recipe with the specified ID in the import format.
|
32 |
*/
|
33 |
abstract public function get_name();
|
34 |
|
35 |
+
/**
|
36 |
+
* Wether or not this importer requires a manual search for recipes.
|
37 |
+
*
|
38 |
+
* @since 1.10.0
|
39 |
+
*/
|
40 |
+
abstract public function requires_search();
|
41 |
+
|
42 |
/**
|
43 |
* Get HTML for the import settings.
|
44 |
*
|
46 |
*/
|
47 |
abstract public function get_settings_html();
|
48 |
|
49 |
+
/**
|
50 |
+
* Get the total number of recipes to import.
|
51 |
+
*
|
52 |
+
* @since 1.10.0
|
53 |
+
*/
|
54 |
+
abstract public function get_recipe_count();
|
55 |
+
|
56 |
/**
|
57 |
* Get a list of recipes that are available to import.
|
58 |
*
|
59 |
* @since 1.0.0
|
60 |
+
* @param int $page Page of recipes to get.
|
61 |
*/
|
62 |
+
abstract public function get_recipes( $page );
|
63 |
|
64 |
/**
|
65 |
* Get recipe with the specified ID in the import format.
|
includes/admin/manage/class-wprm-manage-taxonomies.php
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Handle the manage taxonomies pages.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.10.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/admin/manage
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Handle the manage taxonomies pages.
|
14 |
+
*
|
15 |
+
* @since 1.10.0
|
16 |
+
* @package WP_Recipe_Maker
|
17 |
+
* @subpackage WP_Recipe_Maker/includes/admin/manage
|
18 |
+
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
+
*/
|
20 |
+
class WPRM_Manage_Taxonomies {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Register actions and filters.
|
24 |
+
*
|
25 |
+
* @since 1.10.0
|
26 |
+
*/
|
27 |
+
public static function init() {
|
28 |
+
add_filter( 'wprm_manage_tabs', array( __CLASS__, 'manage_tabs' ) );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Add tags to the manage tabs.
|
33 |
+
*
|
34 |
+
* @since 1.10.0
|
35 |
+
* @param array $tabs Tags tabs.
|
36 |
+
*/
|
37 |
+
public static function manage_tabs( $tabs ) {
|
38 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
39 |
+
|
40 |
+
foreach ( $taxonomies as $taxonomy => $labels ) {
|
41 |
+
$uid = 'taxonomy_' . substr( $taxonomy, 5 );
|
42 |
+
$tabs[ $uid ] = $labels['name'];
|
43 |
+
}
|
44 |
+
return $tabs;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Get the data to display in the datatable.
|
49 |
+
*
|
50 |
+
* @since 1.10.0
|
51 |
+
* @param array $datatable Datatable request values.
|
52 |
+
* @param mixed $taxonomy Taxonomy to get the datatable for.
|
53 |
+
*/
|
54 |
+
public static function get_datatable( $datatable, $taxonomy ) {
|
55 |
+
$data = array();
|
56 |
+
|
57 |
+
$orderby_options = array(
|
58 |
+
0 => 'id',
|
59 |
+
1 => 'name',
|
60 |
+
2 => 'count',
|
61 |
+
);
|
62 |
+
$orderby = isset( $orderby_options[ $datatable['orderby'] ] ) ? $orderby_options[ $datatable['orderby'] ] : $orderby_options[0];
|
63 |
+
|
64 |
+
$args = array(
|
65 |
+
'taxonomy' => $taxonomy,
|
66 |
+
'hide_empty' => false,
|
67 |
+
'orderby' => $orderby,
|
68 |
+
'order' => $datatable['order'],
|
69 |
+
'number' => $datatable['length'],
|
70 |
+
'offset' => $datatable['start'],
|
71 |
+
'search' => $datatable['search'],
|
72 |
+
);
|
73 |
+
|
74 |
+
$terms = get_terms( $args );
|
75 |
+
|
76 |
+
foreach ( $terms as $term ) {
|
77 |
+
$data[] = array(
|
78 |
+
$term->term_id,
|
79 |
+
'<span id="wprm-manage-taxonomies-name-' . esc_attr( $term->term_id ) . '">' . $term->name . '</span>',
|
80 |
+
$term->count,
|
81 |
+
'<span class="dashicons dashicons-admin-tools wprm-icon wprm-manage-taxonomies-actions" data-id="' . esc_attr( $term->term_id ) . '" data-count="' . esc_attr( $term->count ) . '"></span>',
|
82 |
+
);
|
83 |
+
}
|
84 |
+
|
85 |
+
$total = wp_count_terms( $taxonomy, array( 'hide_empty' => false ) );
|
86 |
+
|
87 |
+
return array(
|
88 |
+
'draw' => $datatable['draw'],
|
89 |
+
'recordsTotal' => $total,
|
90 |
+
'recordsFiltered' => $total,
|
91 |
+
'data' => $data,
|
92 |
+
);
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
WPRM_Manage_Taxonomies::init();
|
includes/admin/manage/class-wprm-manage.php
CHANGED
@@ -28,6 +28,7 @@ class WPRM_Manage {
|
|
28 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue' ) );
|
29 |
add_action( 'admin_menu', array( __CLASS__, 'add_submenu_page' ) );
|
30 |
add_action( 'admin_notices', array( __CLASS__, 'notices' ) );
|
|
|
31 |
|
32 |
add_action( 'wp_ajax_wprm_manage_datatable', array( __CLASS__, 'ajax_manage_datatable' ) );
|
33 |
add_action( 'wp_ajax_wprm_update_term_metadata', array( __CLASS__, 'ajax_update_term_metadata' ) );
|
@@ -41,18 +42,22 @@ class WPRM_Manage {
|
|
41 |
* @since 1.9.0
|
42 |
*/
|
43 |
public static function enqueue() {
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
'
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
|
58 |
/**
|
@@ -83,24 +88,29 @@ class WPRM_Manage {
|
|
83 |
public static function ajax_delete_or_merge_term() {
|
84 |
if ( check_ajax_referer( 'wprm', 'security', false ) ) {
|
85 |
$term_id = isset( $_POST['term_id'] ) ? intval( $_POST['term_id'] ) : 0; // Input var okay.
|
|
|
86 |
$new_term_id = isset( $_POST['new_term_id'] ) ? intval( $_POST['new_term_id'] ) : 0; // Input var okay.
|
87 |
|
|
|
|
|
|
|
88 |
if ( $term_id ) {
|
89 |
-
$term = get_term( $term_id );
|
90 |
|
91 |
// Check if this is one of our taxonomies.
|
92 |
-
if (
|
93 |
if ( ! $new_term_id ) {
|
94 |
-
// Make sure this
|
95 |
-
if ( 0 === $term->count ) {
|
96 |
-
wp_delete_term( $term->term_id, $
|
97 |
}
|
98 |
} else {
|
99 |
-
|
|
|
100 |
|
101 |
-
if ( ! is_wp_error( $new_term )
|
102 |
self::merge_recipe_terms( $term, $new_term );
|
103 |
-
wp_delete_term( $term->term_id, $
|
104 |
}
|
105 |
}
|
106 |
}
|
@@ -134,30 +144,35 @@ class WPRM_Manage {
|
|
134 |
$query = new WP_Query( $args );
|
135 |
$posts = $query->posts;
|
136 |
foreach ( $posts as $post ) {
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
$
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
$ingredient['id']
|
148 |
-
|
|
|
|
|
|
|
|
|
149 |
}
|
150 |
-
$new_ingredient_ids[] = intval( $ingredient['id'] );
|
151 |
-
$new_ingredient_group['ingredients'][] = $ingredient;
|
152 |
-
}
|
153 |
|
154 |
-
|
155 |
-
|
156 |
|
157 |
-
|
158 |
-
|
159 |
|
160 |
-
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
}
|
163 |
|
@@ -198,6 +213,9 @@ class WPRM_Manage {
|
|
198 |
$data = WPRM_Manage_Recipes::get_datatable( $datatable );
|
199 |
} elseif ( 'wprm-manage-ingredients' === $table ) {
|
200 |
$data = WPRM_Manage_Ingredients::get_datatable( $datatable );
|
|
|
|
|
|
|
201 |
}
|
202 |
|
203 |
echo wp_json_encode( $data );
|
@@ -241,6 +259,22 @@ class WPRM_Manage {
|
|
241 |
require_once( WPRM_DIR . 'templates/admin/manage.php' );
|
242 |
}
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
/**
|
245 |
* Show notices on the manage pages.
|
246 |
*
|
28 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue' ) );
|
29 |
add_action( 'admin_menu', array( __CLASS__, 'add_submenu_page' ) );
|
30 |
add_action( 'admin_notices', array( __CLASS__, 'notices' ) );
|
31 |
+
add_action( 'wprm_manage_page', array( __CLASS__, 'manage_page' ) );
|
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' ) );
|
42 |
* @since 1.9.0
|
43 |
*/
|
44 |
public static function enqueue() {
|
45 |
+
$screen = get_current_screen();
|
46 |
+
|
47 |
+
if ( 'toplevel_page_wprecipemaker' === $screen->base ) {
|
48 |
+
wp_enqueue_style( 'datatables', WPRM_URL . 'vendor/datatables/datatables.min.css', array(), WPRM_VERSION, 'all' );
|
49 |
+
wp_enqueue_style( 'tooltipster', WPRM_URL . 'vendor/tooltipster/css/tooltipster.bundle.min.css', array(), WPRM_VERSION, 'all' );
|
50 |
+
wp_enqueue_style( 'wprm-manage', WPRM_URL . 'assets/css/admin/manage.min.css', array(), WPRM_VERSION, 'all' );
|
51 |
+
|
52 |
+
wp_enqueue_script( 'datatables', WPRM_URL . 'vendor/datatables/datatables.min.js', array( 'jquery' ), WPRM_VERSION, true );
|
53 |
+
wp_enqueue_script( 'tooltipster', WPRM_URL . 'vendor/tooltipster/js/tooltipster.bundle.min.js', array( 'jquery' ), WPRM_VERSION, true );
|
54 |
+
wp_enqueue_script( 'wprm-manage', WPRM_URL . 'assets/js/admin/manage.js', array( 'jquery', 'datatables', 'tooltipster' ), WPRM_VERSION, true );
|
55 |
+
|
56 |
+
wp_localize_script( 'wprm-manage', 'wprm_manage', array(
|
57 |
+
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
58 |
+
'nonce' => wp_create_nonce( 'wprm' ),
|
59 |
+
));
|
60 |
+
}
|
61 |
}
|
62 |
|
63 |
/**
|
88 |
public static function ajax_delete_or_merge_term() {
|
89 |
if ( check_ajax_referer( 'wprm', 'security', false ) ) {
|
90 |
$term_id = isset( $_POST['term_id'] ) ? intval( $_POST['term_id'] ) : 0; // Input var okay.
|
91 |
+
$taxonomy = isset( $_POST['taxonomy'] ) ? sanitize_key( wp_unslash( $_POST['taxonomy'] ) ) : ''; // Input var okay.
|
92 |
$new_term_id = isset( $_POST['new_term_id'] ) ? intval( $_POST['new_term_id'] ) : 0; // Input var okay.
|
93 |
|
94 |
+
// This ensures were only chaning our own taxonomies.
|
95 |
+
$taxonomy = 'wprm_' . $taxonomy;
|
96 |
+
|
97 |
if ( $term_id ) {
|
98 |
+
$term = get_term( $term_id, $taxonomy );
|
99 |
|
100 |
// Check if this is one of our taxonomies.
|
101 |
+
if ( $term && ! is_wp_error( $term ) ) {
|
102 |
if ( ! $new_term_id ) {
|
103 |
+
// Make sure this ingredient is not used anymore before deleting.
|
104 |
+
if ( 'wprm_ingredient' !== $taxonomy || 0 === $term->count ) {
|
105 |
+
wp_delete_term( $term->term_id, $taxonomy );
|
106 |
}
|
107 |
} else {
|
108 |
+
// This ensures the term to merge into is in the same taxonomy.
|
109 |
+
$new_term = get_term( $new_term_id, $taxonomy );
|
110 |
|
111 |
+
if ( $new_term && ! is_wp_error( $new_term ) ) {
|
112 |
self::merge_recipe_terms( $term, $new_term );
|
113 |
+
wp_delete_term( $term->term_id, $taxonomy );
|
114 |
}
|
115 |
}
|
116 |
}
|
144 |
$query = new WP_Query( $args );
|
145 |
$posts = $query->posts;
|
146 |
foreach ( $posts as $post ) {
|
147 |
+
if ( 'wprm_ingredient' === $term->taxonomy ) {
|
148 |
+
$recipe = WPRM_Recipe_Manager::get_recipe( $post );
|
149 |
+
|
150 |
+
$new_ingredients = array();
|
151 |
+
$new_ingredient_ids = array();
|
152 |
+
foreach ( $recipe->ingredients() as $ingredient_group ) {
|
153 |
+
$new_ingredient_group = $ingredient_group;
|
154 |
+
$new_ingredient_group['ingredients'] = array();
|
155 |
+
|
156 |
+
foreach ( $ingredient_group['ingredients'] as $ingredient ) {
|
157 |
+
if ( intval( $ingredient['id'] ) === $term->term_id ) {
|
158 |
+
$ingredient['id'] = $new_term->term_id;
|
159 |
+
$ingredient['name'] = $new_term->name;
|
160 |
+
}
|
161 |
+
$new_ingredient_ids[] = intval( $ingredient['id'] );
|
162 |
+
$new_ingredient_group['ingredients'][] = $ingredient;
|
163 |
}
|
|
|
|
|
|
|
164 |
|
165 |
+
$new_ingredients[] = $new_ingredient_group;
|
166 |
+
}
|
167 |
|
168 |
+
$new_ingredient_ids = array_unique( $new_ingredient_ids );
|
169 |
+
wp_set_object_terms( $recipe->id(), $new_ingredient_ids, 'wprm_ingredient', false );
|
170 |
|
171 |
+
update_post_meta( $recipe->id(), 'wprm_ingredients', $new_ingredients );
|
172 |
+
} else {
|
173 |
+
// Append new term.
|
174 |
+
wp_set_object_terms( $post->ID, $new_term->term_id, $term->taxonomy, true );
|
175 |
+
}
|
176 |
}
|
177 |
}
|
178 |
|
213 |
$data = WPRM_Manage_Recipes::get_datatable( $datatable );
|
214 |
} elseif ( 'wprm-manage-ingredients' === $table ) {
|
215 |
$data = WPRM_Manage_Ingredients::get_datatable( $datatable );
|
216 |
+
} elseif ( 'wprm-manage-taxonomy-' === substr( $table, 0, 21 ) ) {
|
217 |
+
$taxonomy = 'wprm_' . substr( $table, 21 );
|
218 |
+
$data = WPRM_Manage_Taxonomies::get_datatable( $datatable, $taxonomy );
|
219 |
}
|
220 |
|
221 |
echo wp_json_encode( $data );
|
259 |
require_once( WPRM_DIR . 'templates/admin/manage.php' );
|
260 |
}
|
261 |
|
262 |
+
/**
|
263 |
+
* Manage page to output.
|
264 |
+
*
|
265 |
+
* @since 1.10.0
|
266 |
+
* @param mixed $sub Sub manage page to display.
|
267 |
+
*/
|
268 |
+
public static function manage_page( $sub ) {
|
269 |
+
if ( 'recipes' === $sub ) {
|
270 |
+
require_once( WPRM_DIR . 'templates/admin/manage/recipes.php' );
|
271 |
+
} elseif ( 'ingredients' === $sub ) {
|
272 |
+
require_once( WPRM_DIR . 'templates/admin/manage/ingredients.php' );
|
273 |
+
} elseif ( 'taxonomy_' === substr( $sub, 0, 9 ) ) {
|
274 |
+
require_once( WPRM_DIR . 'templates/admin/manage/taxonomies.php' );
|
275 |
+
}
|
276 |
+
}
|
277 |
+
|
278 |
/**
|
279 |
* Show notices on the manage pages.
|
280 |
*
|
includes/admin/migrations/wprm-1-10-0-wpurp.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Migration for cleaning up potential WP Ultimate Recipe leftovers.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.10.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/admin/migrations
|
10 |
+
*/
|
11 |
+
|
12 |
+
// Delete options.
|
13 |
+
delete_option( 'wpurp_custom_templates' );
|
14 |
+
delete_option( 'wpurp_cache' );
|
15 |
+
delete_option( 'wpurp_cache_temp' );
|
16 |
+
delete_option( 'wpurp_cache_resetting' );
|
17 |
+
delete_option( 'wpurp_custom_template_preview' );
|
18 |
+
|
19 |
+
// Disable autoload for custom templates.
|
20 |
+
$mapping = get_option( 'wpurp_custom_template_mapping', array() );
|
21 |
+
|
22 |
+
foreach ( $mapping as $id => $name ) {
|
23 |
+
$id = intval( $id );
|
24 |
+
|
25 |
+
$template = get_option( 'wpurp_custom_template_' . $id, array() );
|
26 |
+
update_option( 'wpurp_custom_template_' . $id, array(), false );
|
27 |
+
update_option( 'wpurp_custom_template_' . $id, $template, false );
|
28 |
+
}
|
29 |
+
|
30 |
+
// Disable autoload for nutritional information.
|
31 |
+
$nutritional = get_option( 'wpurp_nutritional_information', false );
|
32 |
+
|
33 |
+
if ( $nutritional ) {
|
34 |
+
update_option( 'wpurp_nutritional_information', array(), false );
|
35 |
+
update_option( 'wpurp_nutritional_information', $nutritional, false );
|
36 |
+
}
|
37 |
+
|
38 |
+
// Notice regarding template changes.
|
39 |
+
self::$notices[] = 'We introduced an easy way to set the recipe template colors on the <em>WP Recipe Maker > Settings</em> page. Please check your recipe template and make adjustments if needed.';
|
includes/admin/modal/class-wprm-modal.php
CHANGED
@@ -57,11 +57,14 @@ class WPRM_Modal {
|
|
57 |
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
58 |
'nonce' => wp_create_nonce( 'wprm' ),
|
59 |
'text' => array(
|
|
|
|
|
60 |
'action_button_update' => __( 'Update', 'wp-recipe-maker' ),
|
61 |
'media_title' => __( 'Select or Upload Image', 'wp-recipe-maker' ),
|
62 |
'media_button' => __( 'Use Image', 'wp-recipe-maker' ),
|
63 |
'shortcode_remove' => __( 'Are you sure you want to remove this recipe?', 'wp-recipe-maker' ),
|
64 |
'import_text_reset' => __( 'Are you sure you want to start over with importing from text?', 'wp-recipe-maker' ),
|
|
|
65 |
'first_recipe_on_page' => __( 'First recipe on page', 'wp-recipe-maker' ),
|
66 |
'medium_editor_placeholder' => __( 'Type here (select text for advanced styling options)', 'wp-recipe-maker' ),
|
67 |
),
|
@@ -115,7 +118,7 @@ class WPRM_Modal {
|
|
115 |
'recipe' => array(
|
116 |
'order' => 100,
|
117 |
'default' => true,
|
118 |
-
'label' => __( 'Recipe', 'wp-recipe-maker' ),
|
119 |
'tabs' => array(
|
120 |
'text-import' => array(
|
121 |
'order' => 50,
|
57 |
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
58 |
'nonce' => wp_create_nonce( 'wprm' ),
|
59 |
'text' => array(
|
60 |
+
'modal_close_confirm' => __( 'Are you sure? You will lose any unsaved changes.', 'wp-recipe-maker' ),
|
61 |
+
'action_button_insert' => __( 'Insert', 'wp-recipe-maker' ),
|
62 |
'action_button_update' => __( 'Update', 'wp-recipe-maker' ),
|
63 |
'media_title' => __( 'Select or Upload Image', 'wp-recipe-maker' ),
|
64 |
'media_button' => __( 'Use Image', 'wp-recipe-maker' ),
|
65 |
'shortcode_remove' => __( 'Are you sure you want to remove this recipe?', 'wp-recipe-maker' ),
|
66 |
'import_text_reset' => __( 'Are you sure you want to start over with importing from text?', 'wp-recipe-maker' ),
|
67 |
+
'edit_recipe' => __( 'Edit Recipe', 'wp-recipe-maker' ),
|
68 |
'first_recipe_on_page' => __( 'First recipe on page', 'wp-recipe-maker' ),
|
69 |
'medium_editor_placeholder' => __( 'Type here (select text for advanced styling options)', 'wp-recipe-maker' ),
|
70 |
),
|
118 |
'recipe' => array(
|
119 |
'order' => 100,
|
120 |
'default' => true,
|
121 |
+
'label' => __( 'New Recipe', 'wp-recipe-maker' ),
|
122 |
'tabs' => array(
|
123 |
'text-import' => array(
|
124 |
'order' => 50,
|
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.
|
35 |
define( 'WPRM_PREMIUM_VERSION_REQUIRED', '1.1.1' );
|
36 |
define( 'WPRM_POST_TYPE', 'wprm_recipe' );
|
37 |
define( 'WPRM_DIR', plugin_dir_path( dirname( __FILE__ ) ) );
|
@@ -89,6 +89,7 @@ class WP_Recipe_Maker {
|
|
89 |
// Manage.
|
90 |
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage-ingredients.php' );
|
91 |
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage-recipes.php' );
|
|
|
92 |
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage.php' );
|
93 |
|
94 |
// Menu.
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
private function define_constants() {
|
34 |
+
define( 'WPRM_VERSION', '1.10.0' );
|
35 |
define( 'WPRM_PREMIUM_VERSION_REQUIRED', '1.1.1' );
|
36 |
define( 'WPRM_POST_TYPE', 'wprm_recipe' );
|
37 |
define( 'WPRM_DIR', plugin_dir_path( dirname( __FILE__ ) ) );
|
89 |
// Manage.
|
90 |
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage-ingredients.php' );
|
91 |
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage-recipes.php' );
|
92 |
+
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage-taxonomies.php' );
|
93 |
require_once( WPRM_DIR . 'includes/admin/manage/class-wprm-manage.php' );
|
94 |
|
95 |
// Menu.
|
includes/class-wprm-activator.php
CHANGED
@@ -32,6 +32,6 @@ class WPRM_Activator {
|
|
32 |
WPRM_Taxonomies::register_taxonomies();
|
33 |
WPRM_Taxonomies::insert_default_taxonomy_terms();
|
34 |
|
35 |
-
add_option( 'wprm_activated', true );
|
36 |
}
|
37 |
}
|
32 |
WPRM_Taxonomies::register_taxonomies();
|
33 |
WPRM_Taxonomies::insert_default_taxonomy_terms();
|
34 |
|
35 |
+
add_option( 'wprm_activated', true, '', 'no' );
|
36 |
}
|
37 |
}
|
includes/public/class-wprm-recipe.php
CHANGED
@@ -73,8 +73,11 @@ class WPRM_Recipe {
|
|
73 |
$recipe['total_time'] = $this->total_time();
|
74 |
|
75 |
$recipe['tags'] = array();
|
76 |
-
$
|
77 |
-
$
|
|
|
|
|
|
|
78 |
|
79 |
// Ingredients & Instructions.
|
80 |
$recipe['ingredients'] = $this->ingredients();
|
@@ -229,6 +232,14 @@ class WPRM_Recipe {
|
|
229 |
$image_id = get_post_thumbnail_id( $this->id() );
|
230 |
if ( ! $image_id ) {
|
231 |
$image_id = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
}
|
233 |
return $image_id;
|
234 |
}
|
73 |
$recipe['total_time'] = $this->total_time();
|
74 |
|
75 |
$recipe['tags'] = array();
|
76 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
77 |
+
foreach ( $taxonomies as $taxonomy => $options ) {
|
78 |
+
$key = substr( $taxonomy, 5 ); // Get rid of wprm_.
|
79 |
+
$recipe['tags'][ $key ] = $this->tags( $key );
|
80 |
+
}
|
81 |
|
82 |
// Ingredients & Instructions.
|
83 |
$recipe['ingredients'] = $this->ingredients();
|
232 |
$image_id = get_post_thumbnail_id( $this->id() );
|
233 |
if ( ! $image_id ) {
|
234 |
$image_id = 0;
|
235 |
+
|
236 |
+
if ( WPRM_Settings::get( 'recipe_image_use_featured' ) ) {
|
237 |
+
$parent_image_id = get_post_thumbnail_id( $this->parent_post_id() );
|
238 |
+
|
239 |
+
if ( $parent_image_id ) {
|
240 |
+
$image_id = $parent_image_id;
|
241 |
+
}
|
242 |
+
}
|
243 |
}
|
244 |
return $image_id;
|
245 |
}
|
includes/public/class-wprm-settings.php
CHANGED
@@ -36,6 +36,18 @@ class WPRM_Settings {
|
|
36 |
*/
|
37 |
private static $defaults = array(
|
38 |
// Appearance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
'default_recipe_template' => 'simple',
|
40 |
'default_print_template' => 'clean-print',
|
41 |
// Features.
|
@@ -53,6 +65,7 @@ class WPRM_Settings {
|
|
53 |
add_action( 'admin_menu', array( __CLASS__, 'add_submenu_page' ), 20 );
|
54 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue' ) );
|
55 |
add_action( 'admin_post_wprm_settings_appearance', array( __CLASS__, 'form_save_settings_appearance' ) );
|
|
|
56 |
add_action( 'admin_post_wprm_settings_features', array( __CLASS__, 'form_save_settings_features' ) );
|
57 |
|
58 |
add_action( 'wprm_settings_page', array( __CLASS__, 'settings_page' ) );
|
@@ -64,9 +77,10 @@ class WPRM_Settings {
|
|
64 |
* @since 1.2.0
|
65 |
*/
|
66 |
public static function enqueue() {
|
|
|
67 |
wp_enqueue_style( 'wprm-settings', WPRM_URL . 'assets/css/admin/settings.min.css', array(), WPRM_VERSION, 'all' );
|
68 |
|
69 |
-
wp_enqueue_script( 'wprm-settings', WPRM_URL . 'assets/js/admin/settings.js', array( 'jquery' ), WPRM_VERSION, true );
|
70 |
}
|
71 |
|
72 |
/**
|
@@ -87,6 +101,8 @@ class WPRM_Settings {
|
|
87 |
public static function settings_page( $sub ) {
|
88 |
if ( 'appearance' === $sub ) {
|
89 |
require_once( WPRM_DIR . 'templates/admin/settings/appearance.php' );
|
|
|
|
|
90 |
} elseif ( 'features' === $sub ) {
|
91 |
require_once( WPRM_DIR . 'templates/admin/settings/features.php' );
|
92 |
}
|
@@ -188,18 +204,41 @@ class WPRM_Settings {
|
|
188 |
*/
|
189 |
public static function form_save_settings_appearance() {
|
190 |
if ( isset( $_POST['wprm_settings'] ) && wp_verify_nonce( sanitize_key( $_POST['wprm_settings'] ), 'wprm_settings' ) ) { // Input var okay.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
$default_recipe_template = isset( $_POST['default_recipe_template'] ) ? sanitize_text_field( wp_unslash( $_POST['default_recipe_template'] ) ) : ''; // Input var okay.
|
192 |
$default_print_template = isset( $_POST['default_print_template'] ) ? sanitize_text_field( wp_unslash( $_POST['default_print_template'] ) ) : ''; // Input var okay.
|
193 |
|
194 |
$settings = array();
|
195 |
|
196 |
-
|
197 |
-
|
198 |
-
}
|
199 |
|
200 |
-
if ( $
|
201 |
-
|
202 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
|
204 |
self::update_settings( $settings );
|
205 |
}
|
@@ -207,6 +246,28 @@ class WPRM_Settings {
|
|
207 |
exit();
|
208 |
}
|
209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
/**
|
211 |
* Save the features settings.
|
212 |
*
|
36 |
*/
|
37 |
private static $defaults = array(
|
38 |
// Appearance.
|
39 |
+
'recipe_image_use_featured' => false,
|
40 |
+
'show_nutrition_label' => false,
|
41 |
+
'template_color_border' => '#aaaaaa',
|
42 |
+
'template_color_background' => '#ffffff',
|
43 |
+
'template_color_text' => '#333333',
|
44 |
+
'template_color_link' => '#000000',
|
45 |
+
'template_color_header' => '#000000',
|
46 |
+
'template_color_icon' => '#343434',
|
47 |
+
'template_color_accent' => '#2c3e50',
|
48 |
+
'template_color_accent_text' => '#ffffff',
|
49 |
+
'template_color_accent2' => '#3498db',
|
50 |
+
'template_color_accent2_text' => '#ffffff',
|
51 |
'default_recipe_template' => 'simple',
|
52 |
'default_print_template' => 'clean-print',
|
53 |
// Features.
|
65 |
add_action( 'admin_menu', array( __CLASS__, 'add_submenu_page' ), 20 );
|
66 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue' ) );
|
67 |
add_action( 'admin_post_wprm_settings_appearance', array( __CLASS__, 'form_save_settings_appearance' ) );
|
68 |
+
add_action( 'admin_post_wprm_settings_labels', array( __CLASS__, 'form_save_settings_labels' ) );
|
69 |
add_action( 'admin_post_wprm_settings_features', array( __CLASS__, 'form_save_settings_features' ) );
|
70 |
|
71 |
add_action( 'wprm_settings_page', array( __CLASS__, 'settings_page' ) );
|
77 |
* @since 1.2.0
|
78 |
*/
|
79 |
public static function enqueue() {
|
80 |
+
wp_enqueue_style( 'wp-color-picker' );
|
81 |
wp_enqueue_style( 'wprm-settings', WPRM_URL . 'assets/css/admin/settings.min.css', array(), WPRM_VERSION, 'all' );
|
82 |
|
83 |
+
wp_enqueue_script( 'wprm-settings', WPRM_URL . 'assets/js/admin/settings.js', array( 'jquery', 'wp-color-picker' ), WPRM_VERSION, true );
|
84 |
}
|
85 |
|
86 |
/**
|
101 |
public static function settings_page( $sub ) {
|
102 |
if ( 'appearance' === $sub ) {
|
103 |
require_once( WPRM_DIR . 'templates/admin/settings/appearance.php' );
|
104 |
+
} elseif ( 'labels' === $sub ) {
|
105 |
+
require_once( WPRM_DIR . 'templates/admin/settings/labels.php' );
|
106 |
} elseif ( 'features' === $sub ) {
|
107 |
require_once( WPRM_DIR . 'templates/admin/settings/features.php' );
|
108 |
}
|
204 |
*/
|
205 |
public static function form_save_settings_appearance() {
|
206 |
if ( isset( $_POST['wprm_settings'] ) && wp_verify_nonce( sanitize_key( $_POST['wprm_settings'] ), 'wprm_settings' ) ) { // Input var okay.
|
207 |
+
$recipe_image_use_featured = isset( $_POST['recipe_image_use_featured'] ) && sanitize_key( $_POST['recipe_image_use_featured'] ) ? true : false; // Input var okay.
|
208 |
+
$show_nutrition_label = isset( $_POST['show_nutrition_label'] ) && sanitize_key( $_POST['show_nutrition_label'] ) ? true : false; // Input var okay.
|
209 |
+
|
210 |
+
$template_color_border = isset( $_POST['template_color_border'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_border'] ) ) : ''; // Input var okay.
|
211 |
+
$template_color_background = isset( $_POST['template_color_background'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_background'] ) ) : ''; // Input var okay.
|
212 |
+
$template_color_text = isset( $_POST['template_color_text'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_text'] ) ) : ''; // Input var okay.
|
213 |
+
$template_color_link = isset( $_POST['template_color_link'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_link'] ) ) : ''; // Input var okay.
|
214 |
+
$template_color_header = isset( $_POST['template_color_header'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_header'] ) ) : ''; // Input var okay.
|
215 |
+
$template_color_icon = isset( $_POST['template_color_icon'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_icon'] ) ) : ''; // Input var okay.
|
216 |
+
$template_color_accent = isset( $_POST['template_color_accent'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_accent'] ) ) : ''; // Input var okay.
|
217 |
+
$template_color_accent_text = isset( $_POST['template_color_accent_text'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_accent_text'] ) ) : ''; // Input var okay.
|
218 |
+
$template_color_accent2 = isset( $_POST['template_color_accent2'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_accent2'] ) ) : ''; // Input var okay.
|
219 |
+
$template_color_accent2_text = isset( $_POST['template_color_accent2_text'] ) ? sanitize_text_field( wp_unslash( $_POST['template_color_accent2_text'] ) ) : ''; // Input var okay.
|
220 |
+
|
221 |
$default_recipe_template = isset( $_POST['default_recipe_template'] ) ? sanitize_text_field( wp_unslash( $_POST['default_recipe_template'] ) ) : ''; // Input var okay.
|
222 |
$default_print_template = isset( $_POST['default_print_template'] ) ? sanitize_text_field( wp_unslash( $_POST['default_print_template'] ) ) : ''; // Input var okay.
|
223 |
|
224 |
$settings = array();
|
225 |
|
226 |
+
$settings['recipe_image_use_featured'] = $recipe_image_use_featured;
|
227 |
+
$settings['show_nutrition_label'] = $show_nutrition_label;
|
|
|
228 |
|
229 |
+
if ( $template_color_border ) { $settings['template_color_border'] = $template_color_border; }
|
230 |
+
if ( $template_color_background ) { $settings['template_color_background'] = $template_color_background; }
|
231 |
+
if ( $template_color_text ) { $settings['template_color_text'] = $template_color_text; }
|
232 |
+
if ( $template_color_link ) { $settings['template_color_link'] = $template_color_link; }
|
233 |
+
if ( $template_color_header ) { $settings['template_color_header'] = $template_color_header; }
|
234 |
+
if ( $template_color_icon ) { $settings['template_color_icon'] = $template_color_icon; }
|
235 |
+
if ( $template_color_accent ) { $settings['template_color_accent'] = $template_color_accent; }
|
236 |
+
if ( $template_color_accent_text ) { $settings['template_color_accent_text'] = $template_color_accent_text; }
|
237 |
+
if ( $template_color_accent2 ) { $settings['template_color_accent2'] = $template_color_accent2; }
|
238 |
+
if ( $template_color_accent2_text ) { $settings['template_color_accent2_text'] = $template_color_accent2_text; }
|
239 |
+
|
240 |
+
if ( $default_recipe_template ) { $settings['default_recipe_template'] = $default_recipe_template; }
|
241 |
+
if ( $default_print_template ) { $settings['default_print_template'] = $default_print_template; }
|
242 |
|
243 |
self::update_settings( $settings );
|
244 |
}
|
246 |
exit();
|
247 |
}
|
248 |
|
249 |
+
/**
|
250 |
+
* Save the labels settings.
|
251 |
+
*
|
252 |
+
* @since 1.10.0
|
253 |
+
*/
|
254 |
+
public static function form_save_settings_labels() {
|
255 |
+
if ( isset( $_POST['wprm_settings'] ) && wp_verify_nonce( sanitize_key( $_POST['wprm_settings'] ), 'wprm_settings' ) ) { // Input var okay.
|
256 |
+
$labels = array();
|
257 |
+
|
258 |
+
foreach ( $_POST as $id => $value ) { // Input var okay.
|
259 |
+
if ( 'wprm_label_' === substr( $id, 0, 11 ) ) {
|
260 |
+
$uid = sanitize_key( substr( $id, 11 ) );
|
261 |
+
$labels[ $uid ] = sanitize_text_field( wp_unslash( $value ) );
|
262 |
+
}
|
263 |
+
}
|
264 |
+
|
265 |
+
WPRM_Template_Helper::update_labels( $labels );
|
266 |
+
}
|
267 |
+
wp_safe_redirect( admin_url( 'admin.php?page=wprm_settings&sub=labels' ) );
|
268 |
+
exit();
|
269 |
+
}
|
270 |
+
|
271 |
/**
|
272 |
* Save the features settings.
|
273 |
*
|
includes/public/class-wprm-shortcode.php
CHANGED
@@ -222,31 +222,33 @@ class WPRM_Shortcode {
|
|
222 |
'align' => 'left',
|
223 |
), $atts, 'wprm_nutrition_label' );
|
224 |
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
$
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
|
|
|
|
235 |
}
|
236 |
-
}
|
237 |
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
return '';
|
249 |
}
|
|
|
|
|
250 |
}
|
251 |
|
252 |
/**
|
222 |
'align' => 'left',
|
223 |
), $atts, 'wprm_nutrition_label' );
|
224 |
|
225 |
+
if ( WPRM_Addons::is_active( 'premium' ) ) {
|
226 |
+
$recipe_id = intval( $atts['id'] );
|
227 |
+
$align = in_array( $atts['align'], array( 'center', 'right' ) ) ? $atts['align'] : 'left';
|
228 |
+
|
229 |
+
// Get first recipe in post content if no ID is set.
|
230 |
+
if ( ! $recipe_id ) {
|
231 |
+
$parent_post = get_post();
|
232 |
+
$recipes = WPRM_Recipe_Manager::get_recipe_ids_from_content( $parent_post->post_content );
|
233 |
+
|
234 |
+
if ( isset( $recipes[0] ) ) {
|
235 |
+
$recipe_id = $recipes[0];
|
236 |
+
}
|
237 |
}
|
|
|
238 |
|
239 |
+
if ( $recipe_id ) {
|
240 |
+
$recipe = WPRM_Recipe_Manager::get_recipe( $recipe_id );
|
241 |
+
$label = WPRMP_Nutrition_Label::nutrition_label( $recipe );
|
242 |
|
243 |
+
if ( 'left' !== $align ) {
|
244 |
+
$label = '<div class="wprm-nutrition-label-container" style="text-align: ' . $align . ';">' . $label . '</div>';
|
245 |
+
}
|
246 |
|
247 |
+
return $label;
|
248 |
+
}
|
|
|
249 |
}
|
250 |
+
|
251 |
+
return '';
|
252 |
}
|
253 |
|
254 |
/**
|
includes/public/class-wprm-taxonomies.php
CHANGED
@@ -34,7 +34,7 @@ class WPRM_Taxonomies {
|
|
34 |
* @since 1.0.0
|
35 |
*/
|
36 |
public static function register_taxonomies() {
|
37 |
-
$taxonomies = WPRM_Taxonomies::
|
38 |
|
39 |
foreach ( $taxonomies as $taxonomy => $labels ) {
|
40 |
$args = array(
|
@@ -52,11 +52,11 @@ class WPRM_Taxonomies {
|
|
52 |
}
|
53 |
|
54 |
/**
|
55 |
-
* Get the recipe taxonomies.
|
56 |
*
|
57 |
* @since 1.0.0
|
58 |
*/
|
59 |
-
public static function
|
60 |
$taxonomies = apply_filters( 'wprm_recipe_taxonomies', array(
|
61 |
'wprm_course' => array(
|
62 |
'name' => _x( 'Courses', 'taxonomy general name', 'wp-recipe-maker' ),
|
@@ -75,6 +75,18 @@ class WPRM_Taxonomies {
|
|
75 |
return $taxonomies;
|
76 |
}
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
/**
|
79 |
* Insert default terms for recipe taxonomies.
|
80 |
*
|
34 |
* @since 1.0.0
|
35 |
*/
|
36 |
public static function register_taxonomies() {
|
37 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies_to_register();
|
38 |
|
39 |
foreach ( $taxonomies as $taxonomy => $labels ) {
|
40 |
$args = array(
|
52 |
}
|
53 |
|
54 |
/**
|
55 |
+
* Get the recipe taxonomies to register.
|
56 |
*
|
57 |
* @since 1.0.0
|
58 |
*/
|
59 |
+
public static function get_taxonomies_to_register() {
|
60 |
$taxonomies = apply_filters( 'wprm_recipe_taxonomies', array(
|
61 |
'wprm_course' => array(
|
62 |
'name' => _x( 'Courses', 'taxonomy general name', 'wp-recipe-maker' ),
|
75 |
return $taxonomies;
|
76 |
}
|
77 |
|
78 |
+
/**
|
79 |
+
* Get the recipe taxonomies.
|
80 |
+
*
|
81 |
+
* @since 1.10.0
|
82 |
+
*/
|
83 |
+
public static function get_taxonomies() {
|
84 |
+
$taxonomies = self::get_taxonomies_to_register();
|
85 |
+
unset( $taxonomies['wprm_ingredient'] );
|
86 |
+
|
87 |
+
return $taxonomies;
|
88 |
+
}
|
89 |
+
|
90 |
/**
|
91 |
* Insert default terms for recipe taxonomies.
|
92 |
*
|
includes/public/class-wprm-template-helper.php
CHANGED
@@ -18,6 +18,93 @@
|
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Template_Helper {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
/**
|
22 |
* Display the ingredient name with or without link.
|
23 |
*
|
@@ -50,15 +137,33 @@ class WPRM_Template_Helper {
|
|
50 |
* @param boolean $shorthand Wether to use shorthand for the unit text.
|
51 |
*/
|
52 |
public static function time( $type, $time, $shorthand ) {
|
53 |
-
$
|
54 |
-
$
|
|
|
55 |
|
56 |
$output = '';
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
if ( $hours > 0 ) {
|
|
|
|
|
|
|
59 |
$output .= '<span class="wprm-recipe-details wprm-recipe-details-hours wprm-recipe-' . $type . ' wprm-recipe-' . $type . '-hours">';
|
60 |
$output .= $hours;
|
61 |
-
$output .= '</span> <span class="wprm-recipe-details-unit wprm-recipe-details-unit-
|
62 |
|
63 |
if ( $shorthand ) {
|
64 |
$output .= $hours > 1 ? __( 'hr', 'wp-recipe-maker' ) : __( 'hrs', 'wp-recipe-maker' );
|
@@ -70,7 +175,7 @@ class WPRM_Template_Helper {
|
|
70 |
}
|
71 |
|
72 |
if ( $minutes > 0 ) {
|
73 |
-
if ( $hours > 0 ) {
|
74 |
$output .= ' ';
|
75 |
}
|
76 |
$output .= '<span class="wprm-recipe-details wprm-recipe-details-minutes wprm-recipe-' . $type . ' wprm-recipe-' . $type . '-minutes">';
|
@@ -80,7 +185,7 @@ class WPRM_Template_Helper {
|
|
80 |
if ( $shorthand ) {
|
81 |
$output .= $minutes > 1 ? __( 'mins', 'wp-recipe-maker' ) : __( 'min', 'wp-recipe-maker' );
|
82 |
} else {
|
83 |
-
$output .= $minutes > 1 ? __( 'minutes', 'wp-recipe-maker' ) : __( '
|
84 |
}
|
85 |
|
86 |
$output .= '</span>';
|
@@ -124,4 +229,35 @@ class WPRM_Template_Helper {
|
|
124 |
|
125 |
return $output;
|
126 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
}
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Template_Helper {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Cached version of the labels once they have been requested.
|
24 |
+
*
|
25 |
+
* @since 1.10.0
|
26 |
+
* @access private
|
27 |
+
* @var array $recipes Array containing recipes that have already been requested for easy access.
|
28 |
+
*/
|
29 |
+
private static $labels = array();
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Display a label that can be changed in the settings.
|
33 |
+
*
|
34 |
+
* @since 1.10.0
|
35 |
+
* @param mixed $uid UID of the label.
|
36 |
+
* @param mixed $default Default text for the label.
|
37 |
+
*/
|
38 |
+
public static function label( $uid, $default = '' ) {
|
39 |
+
$uid = sanitize_key( $uid );
|
40 |
+
$labels = self::get_labels();
|
41 |
+
|
42 |
+
if ( ! isset( $labels[ $uid ] ) ) {
|
43 |
+
$labels[ $uid ] = $default;
|
44 |
+
self::update_labels( $labels );
|
45 |
+
}
|
46 |
+
|
47 |
+
return $labels[ $uid ];
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Get all the labels.
|
52 |
+
*
|
53 |
+
* @since 1.10.0
|
54 |
+
*/
|
55 |
+
public static function get_labels() {
|
56 |
+
// Lazy load labels.
|
57 |
+
if ( empty( self::$labels ) ) {
|
58 |
+
$default_labels = self::get_default_labels();
|
59 |
+
$saved_labels = get_option( 'wprm_labels', array() );
|
60 |
+
|
61 |
+
self::$labels = array_merge( $default_labels, $saved_labels );
|
62 |
+
}
|
63 |
+
|
64 |
+
return self::$labels;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Get the default labels.
|
69 |
+
*
|
70 |
+
* @since 1.10.0
|
71 |
+
*/
|
72 |
+
public static function get_default_labels() {
|
73 |
+
$defaults = array(
|
74 |
+
'print_button' => __( 'Print', 'wp-recipe-maker' ),
|
75 |
+
'course_tags' => __( 'Course', 'wp-recipe-maker' ),
|
76 |
+
'cuisine_tags' => __( 'Cuisine', 'wp-recipe-maker' ),
|
77 |
+
'prep_time' => __( 'Prep Time', 'wp-recipe-maker' ),
|
78 |
+
'cook_time' => __( 'Cook Time', 'wp-recipe-maker' ),
|
79 |
+
'total_time' => __( 'Total Time', 'wp-recipe-maker' ),
|
80 |
+
'servings' => __( 'Servings', 'wp-recipe-maker' ),
|
81 |
+
'calories' => __( 'Calories', 'wp-recipe-maker' ),
|
82 |
+
'author' => __( 'Author', 'wp-recipe-maker' ),
|
83 |
+
'ingredients' => __( 'Ingredients', 'wp-recipe-maker' ),
|
84 |
+
'instructions' => __( 'Instructions', 'wp-recipe-maker' ),
|
85 |
+
'notes' => __( 'Recipe Notes', 'wp-recipe-maker' ),
|
86 |
+
);
|
87 |
+
|
88 |
+
return apply_filters( 'wprm_label_defaults', $defaults );
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Update the labels.
|
93 |
+
*
|
94 |
+
* @since 1.10.0
|
95 |
+
* @param array $labels_to_update Labels to update.
|
96 |
+
*/
|
97 |
+
public static function update_labels( $labels_to_update ) {
|
98 |
+
$labels = self::get_labels();
|
99 |
+
|
100 |
+
if ( is_array( $labels_to_update ) ) {
|
101 |
+
$labels = array_merge( $labels, $labels_to_update );
|
102 |
+
}
|
103 |
+
|
104 |
+
update_option( 'wprm_labels', $labels );
|
105 |
+
self::$labels = $labels;
|
106 |
+
}
|
107 |
+
|
108 |
/**
|
109 |
* Display the ingredient name with or without link.
|
110 |
*
|
137 |
* @param boolean $shorthand Wether to use shorthand for the unit text.
|
138 |
*/
|
139 |
public static function time( $type, $time, $shorthand ) {
|
140 |
+
$days = floor( $time / (24 * 60) );
|
141 |
+
$hours = floor( ( $time - $days * 24 * 60 ) / 60 );
|
142 |
+
$minutes = ( $time - $days * 24 * 60 ) % 60;
|
143 |
|
144 |
$output = '';
|
145 |
|
146 |
+
if ( $days > 0 ) {
|
147 |
+
$output .= '<span class="wprm-recipe-details wprm-recipe-details-days wprm-recipe-' . $type . ' wprm-recipe-' . $type . '-days">';
|
148 |
+
$output .= $days;
|
149 |
+
$output .= '</span> <span class="wprm-recipe-details-unit wprm-recipe-details-unit-days wprm-recipe-' . $type . '-unit wprm-recipe-' . $type . 'unit-days">';
|
150 |
+
|
151 |
+
if ( $shorthand ) {
|
152 |
+
$output .= $days > 1 ? __( 'd', 'wp-recipe-maker' ) : __( 'd', 'wp-recipe-maker' );
|
153 |
+
} else {
|
154 |
+
$output .= $days > 1 ? __( 'days', 'wp-recipe-maker' ) : __( 'day', 'wp-recipe-maker' );
|
155 |
+
}
|
156 |
+
|
157 |
+
$output .= '</span>';
|
158 |
+
}
|
159 |
+
|
160 |
if ( $hours > 0 ) {
|
161 |
+
if ( $days > 0 ) {
|
162 |
+
$output .= ' ';
|
163 |
+
}
|
164 |
$output .= '<span class="wprm-recipe-details wprm-recipe-details-hours wprm-recipe-' . $type . ' wprm-recipe-' . $type . '-hours">';
|
165 |
$output .= $hours;
|
166 |
+
$output .= '</span> <span class="wprm-recipe-details-unit wprm-recipe-details-unit-hours wprm-recipe-' . $type . '-unit wprm-recipe-' . $type . 'unit-hours">';
|
167 |
|
168 |
if ( $shorthand ) {
|
169 |
$output .= $hours > 1 ? __( 'hr', 'wp-recipe-maker' ) : __( 'hrs', 'wp-recipe-maker' );
|
175 |
}
|
176 |
|
177 |
if ( $minutes > 0 ) {
|
178 |
+
if ( $days > 0 || $hours > 0 ) {
|
179 |
$output .= ' ';
|
180 |
}
|
181 |
$output .= '<span class="wprm-recipe-details wprm-recipe-details-minutes wprm-recipe-' . $type . ' wprm-recipe-' . $type . '-minutes">';
|
185 |
if ( $shorthand ) {
|
186 |
$output .= $minutes > 1 ? __( 'mins', 'wp-recipe-maker' ) : __( 'min', 'wp-recipe-maker' );
|
187 |
} else {
|
188 |
+
$output .= $minutes > 1 ? __( 'minutes', 'wp-recipe-maker' ) : __( 'minute', 'wp-recipe-maker' );
|
189 |
}
|
190 |
|
191 |
$output .= '</span>';
|
229 |
|
230 |
return $output;
|
231 |
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Display the nutrition label.
|
235 |
+
*
|
236 |
+
* @since 1.10.0
|
237 |
+
* @param mixed $align Optional alignment for the nutrition label.
|
238 |
+
*/
|
239 |
+
public static function nutrition_label( $align = 'left' ) {
|
240 |
+
$label = '';
|
241 |
+
if ( WPRM_Settings::get( 'show_nutrition_label' ) ) {
|
242 |
+
$label = '[wprm-nutrition-label align="' . $align . '"]';
|
243 |
+
}
|
244 |
+
return $label;
|
245 |
+
}
|
246 |
+
|
247 |
+
/**
|
248 |
+
* Metadata to add for tags.
|
249 |
+
*
|
250 |
+
* @since 1.10.0
|
251 |
+
* @param mixed $key Tag we're adding the metadata for.
|
252 |
+
*/
|
253 |
+
public static function tags_meta( $key ) {
|
254 |
+
$meta = '';
|
255 |
+
if ( 'course' === $key ) {
|
256 |
+
$meta = ' itemprop="recipeCategory"';
|
257 |
+
} elseif ( 'cuisine' === $key ) {
|
258 |
+
$meta = ' itemprop="recipeCuisine"';
|
259 |
+
}
|
260 |
+
|
261 |
+
return $meta;
|
262 |
+
}
|
263 |
}
|
includes/public/class-wprm-template-manager.php
CHANGED
@@ -34,6 +34,7 @@ class WPRM_Template_Manager {
|
|
34 |
*/
|
35 |
public static function init() {
|
36 |
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'enqueue' ) );
|
|
|
37 |
}
|
38 |
|
39 |
/**
|
@@ -47,6 +48,39 @@ class WPRM_Template_Manager {
|
|
47 |
wp_enqueue_style( 'wprm-template', $template['url'] . '/' . $template['slug'] . '.min.css', array(), WPRM_VERSION, 'all' );
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
/**
|
51 |
* Get template for a specific recipe.
|
52 |
*
|
34 |
*/
|
35 |
public static function init() {
|
36 |
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'enqueue' ) );
|
37 |
+
add_action( 'wp_head', array( __CLASS__, 'custom_css' ) );
|
38 |
}
|
39 |
|
40 |
/**
|
48 |
wp_enqueue_style( 'wprm-template', $template['url'] . '/' . $template['slug'] . '.min.css', array(), WPRM_VERSION, 'all' );
|
49 |
}
|
50 |
|
51 |
+
/**
|
52 |
+
* Output custom CSS from the options.
|
53 |
+
*
|
54 |
+
* @since 1.10.0
|
55 |
+
*/
|
56 |
+
public static function custom_css() {
|
57 |
+
$selector = ' html body .wprm-recipe-container';
|
58 |
+
|
59 |
+
$output = '<style type="text/css">';
|
60 |
+
$output .= $selector . ' { color: ' . WPRM_Settings::get( 'template_color_text' ) . '; }';
|
61 |
+
$output .= $selector . ' .wprm-recipe { background-color: ' . WPRM_Settings::get( 'template_color_background' ) . '; }';
|
62 |
+
$output .= $selector . ' .wprm-recipe { border-color: ' . WPRM_Settings::get( 'template_color_border' ) . '; }';
|
63 |
+
$output .= $selector . ' .wprm-recipe .wprm-color-border { border-color: ' . WPRM_Settings::get( 'template_color_border' ) . '; }';
|
64 |
+
$output .= $selector . ' a { color: ' . WPRM_Settings::get( 'template_color_link' ) . '; }';
|
65 |
+
$output .= $selector . ' .wprm-recipe .wprm-color-header { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
66 |
+
$output .= $selector . ' h1 { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
67 |
+
$output .= $selector . ' h2 { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
68 |
+
$output .= $selector . ' h3 { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
69 |
+
$output .= $selector . ' h4 { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
70 |
+
$output .= $selector . ' h5 { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
71 |
+
$output .= $selector . ' h6 { color: ' . WPRM_Settings::get( 'template_color_header' ) . '; }';
|
72 |
+
$output .= $selector . ' svg path { fill: ' . WPRM_Settings::get( 'template_color_icon' ) . '; }';
|
73 |
+
$output .= $selector . ' svg rect { fill: ' . WPRM_Settings::get( 'template_color_icon' ) . '; }';
|
74 |
+
$output .= $selector . ' svg polygon { stroke: ' . WPRM_Settings::get( 'template_color_icon' ) . '; }';
|
75 |
+
$output .= $selector . ' .wprm-recipe .wprm-color-accent { background-color: ' . WPRM_Settings::get( 'template_color_accent' ) . '; }';
|
76 |
+
$output .= $selector . ' .wprm-recipe .wprm-color-accent { color: ' . WPRM_Settings::get( 'template_color_accent_text' ) . '; }';
|
77 |
+
$output .= $selector . ' .wprm-recipe .wprm-color-accent2 { background-color: ' . WPRM_Settings::get( 'template_color_accent2' ) . '; }';
|
78 |
+
$output .= $selector . ' .wprm-recipe .wprm-color-accent2 { color: ' . WPRM_Settings::get( 'template_color_accent2_text' ) . '; }';
|
79 |
+
$output .= '</style>';
|
80 |
+
|
81 |
+
echo $output;
|
82 |
+
}
|
83 |
+
|
84 |
/**
|
85 |
* Get template for a specific recipe.
|
86 |
*
|
languages/wp-recipe-maker-de_DE.mo
ADDED
Binary file
|
languages/wp-recipe-maker-de_DE.po
ADDED
@@ -0,0 +1,1219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: WP Recipe Maker 1.7.1\n"
|
4 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-recipe-maker\n"
|
5 |
+
"POT-Creation-Date: 2016-12-07 15:02+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"PO-Revision-Date: 2016-12-07 15:03+0000\n"
|
10 |
+
"Last-Translator: Redaktion <uli@insellivetv.de>\n"
|
11 |
+
"Language-Team: German\n"
|
12 |
+
"Language: de-DE\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=n != 1\n"
|
14 |
+
"X-Generator: Loco - https://localise.biz/"
|
15 |
+
|
16 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:30
|
17 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:30
|
18 |
+
msgid "Shortcode Builder"
|
19 |
+
msgstr "Shortcode Builder"
|
20 |
+
|
21 |
+
#: includes/admin/class-wprm-import-manager.php:50
|
22 |
+
#: includes/admin/class-wprm-import-manager.php:51
|
23 |
+
#: templates/admin/menu/import-overview.php:15
|
24 |
+
msgid "Import Recipes"
|
25 |
+
msgstr "Importiere Rezepte"
|
26 |
+
|
27 |
+
#: includes/admin/class-wprm-recipe-parser.php:148
|
28 |
+
msgid "kilograms"
|
29 |
+
msgstr "Kilogramm"
|
30 |
+
|
31 |
+
#: includes/admin/class-wprm-recipe-parser.php:149
|
32 |
+
msgid "kilogram"
|
33 |
+
msgstr "Kilogramm"
|
34 |
+
|
35 |
+
#: includes/admin/class-wprm-recipe-parser.php:150
|
36 |
+
msgid "kg"
|
37 |
+
msgstr "kg"
|
38 |
+
|
39 |
+
#: includes/admin/class-wprm-recipe-parser.php:151
|
40 |
+
msgid "grams"
|
41 |
+
msgstr "Gramm"
|
42 |
+
|
43 |
+
#: includes/admin/class-wprm-recipe-parser.php:152
|
44 |
+
msgid "gram"
|
45 |
+
msgstr "Gram"
|
46 |
+
|
47 |
+
#: includes/admin/class-wprm-recipe-parser.php:153
|
48 |
+
msgid "gr"
|
49 |
+
msgstr "gr"
|
50 |
+
|
51 |
+
#: includes/admin/class-wprm-recipe-parser.php:154
|
52 |
+
#: includes/public/class-wprm-metadata.php:164
|
53 |
+
msgid "g"
|
54 |
+
msgstr "g"
|
55 |
+
|
56 |
+
#: includes/admin/class-wprm-recipe-parser.php:155
|
57 |
+
msgid "milligrams"
|
58 |
+
msgstr "Milligramm"
|
59 |
+
|
60 |
+
#: includes/admin/class-wprm-recipe-parser.php:156
|
61 |
+
msgid "milligram"
|
62 |
+
msgstr "Milligramm"
|
63 |
+
|
64 |
+
#: includes/admin/class-wprm-recipe-parser.php:157
|
65 |
+
#: includes/public/class-wprm-metadata.php:169
|
66 |
+
msgid "mg"
|
67 |
+
msgstr "mg"
|
68 |
+
|
69 |
+
#: includes/admin/class-wprm-recipe-parser.php:158
|
70 |
+
msgid "pounds"
|
71 |
+
msgstr "Pfund"
|
72 |
+
|
73 |
+
#: includes/admin/class-wprm-recipe-parser.php:159
|
74 |
+
msgid "pound"
|
75 |
+
msgstr "Pfund"
|
76 |
+
|
77 |
+
#: includes/admin/class-wprm-recipe-parser.php:160
|
78 |
+
msgid "lbs"
|
79 |
+
msgstr "lbs"
|
80 |
+
|
81 |
+
#: includes/admin/class-wprm-recipe-parser.php:161
|
82 |
+
msgid "lb"
|
83 |
+
msgstr "lb"
|
84 |
+
|
85 |
+
#: includes/admin/class-wprm-recipe-parser.php:162
|
86 |
+
msgid "ounces"
|
87 |
+
msgstr "Unzen"
|
88 |
+
|
89 |
+
#: includes/admin/class-wprm-recipe-parser.php:163
|
90 |
+
msgid "ounce"
|
91 |
+
msgstr "Unze"
|
92 |
+
|
93 |
+
#: includes/admin/class-wprm-recipe-parser.php:164
|
94 |
+
msgid "oz"
|
95 |
+
msgstr "uze"
|
96 |
+
|
97 |
+
#: includes/admin/class-wprm-recipe-parser.php:166
|
98 |
+
msgid "liters"
|
99 |
+
msgstr "Liter"
|
100 |
+
|
101 |
+
#: includes/admin/class-wprm-recipe-parser.php:167
|
102 |
+
msgid "liter"
|
103 |
+
msgstr "Liter"
|
104 |
+
|
105 |
+
#: includes/admin/class-wprm-recipe-parser.php:168
|
106 |
+
msgid "l"
|
107 |
+
msgstr "L"
|
108 |
+
|
109 |
+
#: includes/admin/class-wprm-recipe-parser.php:169
|
110 |
+
msgid "deciliters"
|
111 |
+
msgstr "Deziliter"
|
112 |
+
|
113 |
+
#: includes/admin/class-wprm-recipe-parser.php:170
|
114 |
+
msgid "deciliter"
|
115 |
+
msgstr "Deziliter"
|
116 |
+
|
117 |
+
#: includes/admin/class-wprm-recipe-parser.php:171
|
118 |
+
msgid "dl"
|
119 |
+
msgstr "dl"
|
120 |
+
|
121 |
+
#: includes/admin/class-wprm-recipe-parser.php:172
|
122 |
+
msgid "centiliters"
|
123 |
+
msgstr "Zentiliter"
|
124 |
+
|
125 |
+
#: includes/admin/class-wprm-recipe-parser.php:173
|
126 |
+
msgid "centiliter"
|
127 |
+
msgstr "Zentiliter"
|
128 |
+
|
129 |
+
#: includes/admin/class-wprm-recipe-parser.php:174
|
130 |
+
msgid "cl"
|
131 |
+
msgstr "ct"
|
132 |
+
|
133 |
+
#: includes/admin/class-wprm-recipe-parser.php:175
|
134 |
+
msgid "milliliters"
|
135 |
+
msgstr "Milliliter"
|
136 |
+
|
137 |
+
#: includes/admin/class-wprm-recipe-parser.php:176
|
138 |
+
msgid "milliliter"
|
139 |
+
msgstr "Milliliter"
|
140 |
+
|
141 |
+
#: includes/admin/class-wprm-recipe-parser.php:177
|
142 |
+
msgid "ml"
|
143 |
+
msgstr "ml"
|
144 |
+
|
145 |
+
#: includes/admin/class-wprm-recipe-parser.php:178
|
146 |
+
msgid "gallons"
|
147 |
+
msgstr "Gallonen"
|
148 |
+
|
149 |
+
#: includes/admin/class-wprm-recipe-parser.php:179
|
150 |
+
msgid "gallon"
|
151 |
+
msgstr "Gallone"
|
152 |
+
|
153 |
+
#: includes/admin/class-wprm-recipe-parser.php:180
|
154 |
+
msgid "gal"
|
155 |
+
msgstr "gal"
|
156 |
+
|
157 |
+
#: includes/admin/class-wprm-recipe-parser.php:181
|
158 |
+
msgid "quarts"
|
159 |
+
msgstr "Viertel"
|
160 |
+
|
161 |
+
#: includes/admin/class-wprm-recipe-parser.php:182
|
162 |
+
msgid "quart"
|
163 |
+
msgstr "Viertel"
|
164 |
+
|
165 |
+
#: includes/admin/class-wprm-recipe-parser.php:183
|
166 |
+
msgid "qt"
|
167 |
+
msgstr "1/4"
|
168 |
+
|
169 |
+
#: includes/admin/class-wprm-recipe-parser.php:184
|
170 |
+
msgid "pints"
|
171 |
+
msgstr "Pinnchen"
|
172 |
+
|
173 |
+
#: includes/admin/class-wprm-recipe-parser.php:185
|
174 |
+
msgid "pint"
|
175 |
+
msgstr "Pinnchen"
|
176 |
+
|
177 |
+
#: includes/admin/class-wprm-recipe-parser.php:186
|
178 |
+
msgid "pt"
|
179 |
+
msgstr "Pn."
|
180 |
+
|
181 |
+
#: includes/admin/class-wprm-recipe-parser.php:187
|
182 |
+
msgid "cups"
|
183 |
+
msgstr "Tassen"
|
184 |
+
|
185 |
+
#: includes/admin/class-wprm-recipe-parser.php:188
|
186 |
+
msgid "cup"
|
187 |
+
msgstr "Tasse"
|
188 |
+
|
189 |
+
#: includes/admin/class-wprm-recipe-parser.php:189
|
190 |
+
msgid "cu"
|
191 |
+
msgstr "Tsn."
|
192 |
+
|
193 |
+
#: includes/admin/class-wprm-recipe-parser.php:190
|
194 |
+
msgid "c"
|
195 |
+
msgstr "Ts."
|
196 |
+
|
197 |
+
#: includes/admin/class-wprm-recipe-parser.php:191
|
198 |
+
msgid "fluid ounces"
|
199 |
+
msgstr "Flüssige Unzen"
|
200 |
+
|
201 |
+
#: includes/admin/class-wprm-recipe-parser.php:192
|
202 |
+
msgid "fluid ounce"
|
203 |
+
msgstr "Flüssigunzen"
|
204 |
+
|
205 |
+
#: includes/admin/class-wprm-recipe-parser.php:193
|
206 |
+
msgid "fl ounces"
|
207 |
+
msgstr "fl Unzen"
|
208 |
+
|
209 |
+
#: includes/admin/class-wprm-recipe-parser.php:194
|
210 |
+
msgid "fl ounce"
|
211 |
+
msgstr "fl Unze"
|
212 |
+
|
213 |
+
#: includes/admin/class-wprm-recipe-parser.php:195
|
214 |
+
msgid "floz"
|
215 |
+
msgstr "fluz"
|
216 |
+
|
217 |
+
#: includes/admin/class-wprm-recipe-parser.php:196
|
218 |
+
msgid "tablespoons"
|
219 |
+
msgstr "Esslöffel"
|
220 |
+
|
221 |
+
#: includes/admin/class-wprm-recipe-parser.php:197
|
222 |
+
msgid "tablespoon"
|
223 |
+
msgstr "Essllöffel"
|
224 |
+
|
225 |
+
#: includes/admin/class-wprm-recipe-parser.php:198
|
226 |
+
msgid "tbsps"
|
227 |
+
msgstr "EL"
|
228 |
+
|
229 |
+
#: includes/admin/class-wprm-recipe-parser.php:199
|
230 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:34
|
231 |
+
msgid "tbsp"
|
232 |
+
msgstr "EL"
|
233 |
+
|
234 |
+
#: includes/admin/class-wprm-recipe-parser.php:200
|
235 |
+
msgid "tbls"
|
236 |
+
msgstr "EL"
|
237 |
+
|
238 |
+
#: includes/admin/class-wprm-recipe-parser.php:201
|
239 |
+
msgid "tbs"
|
240 |
+
msgstr "EL"
|
241 |
+
|
242 |
+
#: includes/admin/class-wprm-recipe-parser.php:202
|
243 |
+
msgid "tb"
|
244 |
+
msgstr "EL"
|
245 |
+
|
246 |
+
#: includes/admin/class-wprm-recipe-parser.php:203
|
247 |
+
msgid "T"
|
248 |
+
msgstr "EL"
|
249 |
+
|
250 |
+
#: includes/admin/class-wprm-recipe-parser.php:204
|
251 |
+
msgid "teaspoons"
|
252 |
+
msgstr "Teelöffel"
|
253 |
+
|
254 |
+
#: includes/admin/class-wprm-recipe-parser.php:205
|
255 |
+
msgid "teaspoon"
|
256 |
+
msgstr "Teelöffel"
|
257 |
+
|
258 |
+
#: includes/admin/class-wprm-recipe-parser.php:206
|
259 |
+
msgid "tsps"
|
260 |
+
msgstr "TL"
|
261 |
+
|
262 |
+
#: includes/admin/class-wprm-recipe-parser.php:207
|
263 |
+
msgid "tsp"
|
264 |
+
msgstr "TL"
|
265 |
+
|
266 |
+
#: includes/admin/class-wprm-recipe-parser.php:208
|
267 |
+
msgid "ts"
|
268 |
+
msgstr "TL"
|
269 |
+
|
270 |
+
#: includes/admin/class-wprm-recipe-parser.php:209
|
271 |
+
msgid "t"
|
272 |
+
msgstr "TL"
|
273 |
+
|
274 |
+
#: includes/admin/class-wprm-recipe-parser.php:211
|
275 |
+
msgid "meters"
|
276 |
+
msgstr "Meter"
|
277 |
+
|
278 |
+
#: includes/admin/class-wprm-recipe-parser.php:212
|
279 |
+
msgid "meter"
|
280 |
+
msgstr "Meter"
|
281 |
+
|
282 |
+
#: includes/admin/class-wprm-recipe-parser.php:213
|
283 |
+
msgid "m"
|
284 |
+
msgstr "m"
|
285 |
+
|
286 |
+
#: includes/admin/class-wprm-recipe-parser.php:214
|
287 |
+
msgid "centimeters"
|
288 |
+
msgstr "Zentimeter"
|
289 |
+
|
290 |
+
#: includes/admin/class-wprm-recipe-parser.php:215
|
291 |
+
msgid "centimeter"
|
292 |
+
msgstr "Zentimeter"
|
293 |
+
|
294 |
+
#: includes/admin/class-wprm-recipe-parser.php:216
|
295 |
+
msgid "cm"
|
296 |
+
msgstr "cm"
|
297 |
+
|
298 |
+
#: includes/admin/class-wprm-recipe-parser.php:217
|
299 |
+
msgid "millimeters"
|
300 |
+
msgstr "Millimeter"
|
301 |
+
|
302 |
+
#: includes/admin/class-wprm-recipe-parser.php:218
|
303 |
+
msgid "millimeter"
|
304 |
+
msgstr "Millimeter"
|
305 |
+
|
306 |
+
#: includes/admin/class-wprm-recipe-parser.php:219
|
307 |
+
msgid "mm"
|
308 |
+
msgstr "mm"
|
309 |
+
|
310 |
+
#: includes/admin/class-wprm-recipe-parser.php:220
|
311 |
+
msgid "yards"
|
312 |
+
msgstr "Yard"
|
313 |
+
|
314 |
+
#: includes/admin/class-wprm-recipe-parser.php:221
|
315 |
+
msgid "yard"
|
316 |
+
msgstr "Yard"
|
317 |
+
|
318 |
+
#: includes/admin/class-wprm-recipe-parser.php:222
|
319 |
+
msgid "yd"
|
320 |
+
msgstr "yd"
|
321 |
+
|
322 |
+
#: includes/admin/class-wprm-recipe-parser.php:223
|
323 |
+
msgid "feet"
|
324 |
+
msgstr "Feed"
|
325 |
+
|
326 |
+
#: includes/admin/class-wprm-recipe-parser.php:224
|
327 |
+
msgid "foot"
|
328 |
+
msgstr "Fuß"
|
329 |
+
|
330 |
+
#: includes/admin/class-wprm-recipe-parser.php:225
|
331 |
+
msgid "ft"
|
332 |
+
msgstr "ft"
|
333 |
+
|
334 |
+
#: includes/admin/class-wprm-recipe-parser.php:226
|
335 |
+
msgid "inches"
|
336 |
+
msgstr "Inch"
|
337 |
+
|
338 |
+
#: includes/admin/class-wprm-recipe-parser.php:227
|
339 |
+
msgid "inch"
|
340 |
+
msgstr "Inch"
|
341 |
+
|
342 |
+
#: includes/admin/class-wprm-recipe-parser.php:228
|
343 |
+
msgid "in"
|
344 |
+
msgstr "in"
|
345 |
+
|
346 |
+
#: includes/admin/class-wprm-recipe-parser.php:230
|
347 |
+
msgid "cloves"
|
348 |
+
msgstr "Zehen"
|
349 |
+
|
350 |
+
#: includes/admin/class-wprm-recipe-parser.php:231
|
351 |
+
msgid "clove"
|
352 |
+
msgstr "Zehe"
|
353 |
+
|
354 |
+
#: includes/admin/class-wprm-recipe-parser.php:232
|
355 |
+
msgid "leaves"
|
356 |
+
msgstr "Blätter"
|
357 |
+
|
358 |
+
#: includes/admin/class-wprm-recipe-parser.php:233
|
359 |
+
msgid "leave"
|
360 |
+
msgstr "Blatt"
|
361 |
+
|
362 |
+
#: includes/admin/class-wprm-recipe-parser.php:234
|
363 |
+
msgid "slices"
|
364 |
+
msgstr "Scheiben"
|
365 |
+
|
366 |
+
#: includes/admin/class-wprm-recipe-parser.php:235
|
367 |
+
msgid "slice"
|
368 |
+
msgstr "Scheibe"
|
369 |
+
|
370 |
+
#: includes/admin/class-wprm-recipe-parser.php:236
|
371 |
+
msgid "pieces"
|
372 |
+
msgstr "Stücke"
|
373 |
+
|
374 |
+
#: includes/admin/class-wprm-recipe-parser.php:237
|
375 |
+
msgid "piece"
|
376 |
+
msgstr "Stück"
|
377 |
+
|
378 |
+
#: includes/admin/class-wprm-recipe-parser.php:238
|
379 |
+
msgid "pinches"
|
380 |
+
msgstr "Prisen"
|
381 |
+
|
382 |
+
#: includes/admin/class-wprm-recipe-parser.php:239
|
383 |
+
msgid "pinche"
|
384 |
+
msgstr "Prise"
|
385 |
+
|
386 |
+
#: includes/admin/import/class-wprm-import-easyrecipe.php:89
|
387 |
+
msgid "Unknown"
|
388 |
+
msgstr "unbekannt"
|
389 |
+
|
390 |
+
#: includes/admin/import/class-wprm-import-wpultimaterecipe.php:349
|
391 |
+
#: includes/public/class-wprm-template-helper.php:66
|
392 |
+
msgid "hour"
|
393 |
+
msgstr "Stunde"
|
394 |
+
|
395 |
+
#: includes/admin/import/class-wprm-import-wpultimaterecipe.php:350
|
396 |
+
#: includes/public/class-wprm-template-helper.php:66
|
397 |
+
msgid "hours"
|
398 |
+
msgstr "Stunden"
|
399 |
+
|
400 |
+
#: includes/admin/menu/class-wprm-admin-menu-addons.php:47
|
401 |
+
#: templates/admin/menu/addons.php:15
|
402 |
+
msgid "Add-Ons"
|
403 |
+
msgstr "Add-Ons"
|
404 |
+
|
405 |
+
#: includes/admin/menu/class-wprm-admin-menu-faq.php:76
|
406 |
+
msgid "FAQ & Support"
|
407 |
+
msgstr "FAQ & Unterstützung"
|
408 |
+
|
409 |
+
#: includes/admin/modal/class-wprm-modal.php:60
|
410 |
+
#: templates/admin/modal/modal.php:96
|
411 |
+
msgid "Insert"
|
412 |
+
msgstr "einfügen"
|
413 |
+
|
414 |
+
#: includes/admin/modal/class-wprm-modal.php:61
|
415 |
+
msgid "Update"
|
416 |
+
msgstr "Aktualisieren"
|
417 |
+
|
418 |
+
#: includes/admin/modal/class-wprm-modal.php:62
|
419 |
+
msgid "Select or Upload Image"
|
420 |
+
msgstr "Bild auswählen und hochladen"
|
421 |
+
|
422 |
+
#: includes/admin/modal/class-wprm-modal.php:63
|
423 |
+
msgid "Use Image"
|
424 |
+
msgstr "Bild verwenden"
|
425 |
+
|
426 |
+
#: includes/admin/modal/class-wprm-modal.php:64
|
427 |
+
msgid "Are you sure you want to remove this recipe?"
|
428 |
+
msgstr "Möchten Sie dieses Rezept wirklich entfernen?"
|
429 |
+
|
430 |
+
#: includes/admin/modal/class-wprm-modal.php:65
|
431 |
+
msgid "Are you sure you want to start over with importing from text?"
|
432 |
+
msgstr "Sind Sie sicher, dass Sie mit dem Import von Text beginnen möchten?"
|
433 |
+
|
434 |
+
#: includes/admin/modal/class-wprm-modal.php:117
|
435 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:33
|
436 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:33
|
437 |
+
msgid "Recipe"
|
438 |
+
msgstr "Rezept"
|
439 |
+
|
440 |
+
#: includes/admin/modal/class-wprm-modal.php:121
|
441 |
+
msgid "Import from Text"
|
442 |
+
msgstr "Importiere aus Text"
|
443 |
+
|
444 |
+
#: includes/admin/modal/class-wprm-modal.php:128
|
445 |
+
msgid "Recipe Details"
|
446 |
+
msgstr "Rezept Details"
|
447 |
+
|
448 |
+
#: includes/admin/modal/class-wprm-modal.php:135
|
449 |
+
msgid "Ingredients & Instructions"
|
450 |
+
msgstr "Zutaten & Verarbeitung"
|
451 |
+
|
452 |
+
#: includes/admin/modal/class-wprm-modal.php:141
|
453 |
+
#: templates/recipe/clean-print/clean-print.php:141
|
454 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:142
|
455 |
+
#: templates/recipe/simple/simple.php:161
|
456 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:165
|
457 |
+
msgid "Recipe Notes"
|
458 |
+
msgstr "Rezept-Anmerkungen"
|
459 |
+
|
460 |
+
#: includes/admin/modal/class-wprm-modal.php:150
|
461 |
+
msgid "Recipe Snippets"
|
462 |
+
msgstr "Rezept-Schnipsel"
|
463 |
+
|
464 |
+
#: includes/admin/modal/class-wprm-modal.php:154
|
465 |
+
#: includes/public/class-wprm-shortcode.php:154
|
466 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:45
|
467 |
+
msgid "Jump to Recipe"
|
468 |
+
msgstr "Springe zu Rezept"
|
469 |
+
|
470 |
+
#: includes/admin/modal/class-wprm-modal.php:161
|
471 |
+
#: includes/public/class-wprm-shortcode.php:186
|
472 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:45
|
473 |
+
msgid "Print Recipe"
|
474 |
+
msgstr "Rezept drucken"
|
475 |
+
|
476 |
+
#: includes/admin/modal/class-wprm-shortcode-preview.php:46
|
477 |
+
msgid "remove"
|
478 |
+
msgstr "Entfernen"
|
479 |
+
|
480 |
+
#: includes/public/class-wprm-comment-rating.php:114
|
481 |
+
#: templates/public/comment-rating-form.php:14
|
482 |
+
msgid "Recipe Rating"
|
483 |
+
msgstr "Rezept Bewertung"
|
484 |
+
|
485 |
+
#: includes/public/class-wprm-metadata.php:167
|
486 |
+
#: templates/admin/modal/tabs/recipe-details.php:59
|
487 |
+
#: templates/recipe/clean-print/clean-print.php:76
|
488 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:77
|
489 |
+
#: templates/recipe/simple/simple.php:93
|
490 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:97
|
491 |
+
msgid "kcal"
|
492 |
+
msgstr "kcal"
|
493 |
+
|
494 |
+
#: includes/public/class-wprm-metadata.php:178
|
495 |
+
msgid "1 serving"
|
496 |
+
msgstr "1 Portion"
|
497 |
+
|
498 |
+
#: includes/public/class-wprm-post-type.php:39
|
499 |
+
msgctxt "post type general name"
|
500 |
+
msgid "Recipes"
|
501 |
+
msgstr "Rezepte"
|
502 |
+
|
503 |
+
#: includes/public/class-wprm-post-type.php:40
|
504 |
+
msgctxt "post type singular name"
|
505 |
+
msgid "Recipe"
|
506 |
+
msgstr "Rezept"
|
507 |
+
|
508 |
+
#: includes/public/class-wprm-settings.php:78
|
509 |
+
msgid "WPRM Settings"
|
510 |
+
msgstr "WPRM-Einstellungen"
|
511 |
+
|
512 |
+
#: includes/public/class-wprm-settings.php:78
|
513 |
+
msgid "Settings"
|
514 |
+
msgstr "Einstellungen"
|
515 |
+
|
516 |
+
#: includes/public/class-wprm-taxonomies.php:62
|
517 |
+
msgctxt "taxonomy general name"
|
518 |
+
msgid "Courses"
|
519 |
+
msgstr "Gerichte"
|
520 |
+
|
521 |
+
#: includes/public/class-wprm-taxonomies.php:63
|
522 |
+
msgctxt "taxonomy singular name"
|
523 |
+
msgid "Course"
|
524 |
+
msgstr "Gericht"
|
525 |
+
|
526 |
+
#: includes/public/class-wprm-taxonomies.php:66
|
527 |
+
msgctxt "taxonomy general name"
|
528 |
+
msgid "Cuisines"
|
529 |
+
msgstr "Länder & Regionen"
|
530 |
+
|
531 |
+
#: includes/public/class-wprm-taxonomies.php:67
|
532 |
+
msgctxt "taxonomy singular name"
|
533 |
+
msgid "Cuisine"
|
534 |
+
msgstr "Land & Region"
|
535 |
+
|
536 |
+
#: includes/public/class-wprm-taxonomies.php:70
|
537 |
+
msgctxt "taxonomy general name"
|
538 |
+
msgid "Ingredients"
|
539 |
+
msgstr "Zutaten"
|
540 |
+
|
541 |
+
#: includes/public/class-wprm-taxonomies.php:71
|
542 |
+
msgctxt "taxonomy singular name"
|
543 |
+
msgid "Ingredient"
|
544 |
+
msgstr "Zutat"
|
545 |
+
|
546 |
+
#: includes/public/class-wprm-taxonomies.php:85
|
547 |
+
msgid "Breakfast"
|
548 |
+
msgstr "Frühstück"
|
549 |
+
|
550 |
+
#: includes/public/class-wprm-taxonomies.php:86
|
551 |
+
msgid "Appetizer"
|
552 |
+
msgstr "Vorspeise"
|
553 |
+
|
554 |
+
#: includes/public/class-wprm-taxonomies.php:87
|
555 |
+
msgid "Soup"
|
556 |
+
msgstr "Suppe"
|
557 |
+
|
558 |
+
#: includes/public/class-wprm-taxonomies.php:88
|
559 |
+
msgid "Main Course"
|
560 |
+
msgstr "Hauptgericht"
|
561 |
+
|
562 |
+
#: includes/public/class-wprm-taxonomies.php:89
|
563 |
+
msgid "Side Dish"
|
564 |
+
msgstr "Beilage"
|
565 |
+
|
566 |
+
#: includes/public/class-wprm-taxonomies.php:90
|
567 |
+
msgid "Salad"
|
568 |
+
msgstr "Salat"
|
569 |
+
|
570 |
+
#: includes/public/class-wprm-taxonomies.php:91
|
571 |
+
msgid "Dessert"
|
572 |
+
msgstr "Nachspeise"
|
573 |
+
|
574 |
+
#: includes/public/class-wprm-taxonomies.php:92
|
575 |
+
msgid "Snack"
|
576 |
+
msgstr "Kleinigkeit"
|
577 |
+
|
578 |
+
#: includes/public/class-wprm-taxonomies.php:93
|
579 |
+
msgid "Drinks"
|
580 |
+
msgstr "Getränke"
|
581 |
+
|
582 |
+
#: includes/public/class-wprm-taxonomies.php:97
|
583 |
+
msgid "French"
|
584 |
+
msgstr "Französisch"
|
585 |
+
|
586 |
+
#: includes/public/class-wprm-taxonomies.php:98
|
587 |
+
msgid "Italian"
|
588 |
+
msgstr "Italienisch"
|
589 |
+
|
590 |
+
#: includes/public/class-wprm-taxonomies.php:99
|
591 |
+
msgid "Mediterranean"
|
592 |
+
msgstr "Mediterran"
|
593 |
+
|
594 |
+
#: includes/public/class-wprm-taxonomies.php:100
|
595 |
+
msgid "Indian"
|
596 |
+
msgstr "Indisch"
|
597 |
+
|
598 |
+
#: includes/public/class-wprm-taxonomies.php:101
|
599 |
+
msgid "Chinese"
|
600 |
+
msgstr "Chinesisch"
|
601 |
+
|
602 |
+
#: includes/public/class-wprm-taxonomies.php:102
|
603 |
+
msgid "Japanese"
|
604 |
+
msgstr "Japanisch"
|
605 |
+
|
606 |
+
#: includes/public/class-wprm-taxonomies.php:103
|
607 |
+
msgid "American"
|
608 |
+
msgstr "Amerikanisch"
|
609 |
+
|
610 |
+
#: includes/public/class-wprm-taxonomies.php:104
|
611 |
+
msgid "Mexican"
|
612 |
+
msgstr "Mexikanisch"
|
613 |
+
|
614 |
+
#: includes/public/class-wprm-template-helper.php:64
|
615 |
+
msgid "hr"
|
616 |
+
msgstr "Std."
|
617 |
+
|
618 |
+
#: includes/public/class-wprm-template-helper.php:64
|
619 |
+
msgid "hrs"
|
620 |
+
msgstr "Stdn."
|
621 |
+
|
622 |
+
#: includes/public/class-wprm-template-helper.php:81
|
623 |
+
msgid "mins"
|
624 |
+
msgstr "Min."
|
625 |
+
|
626 |
+
#: includes/public/class-wprm-template-helper.php:81
|
627 |
+
msgid "min"
|
628 |
+
msgstr "Min."
|
629 |
+
|
630 |
+
#: includes/public/class-wprm-template-helper.php:83
|
631 |
+
#: templates/admin/modal/tabs/recipe-details.php:64
|
632 |
+
#: templates/admin/modal/tabs/recipe-details.php:67
|
633 |
+
#: templates/admin/modal/tabs/recipe-details.php:70
|
634 |
+
msgid "minutes"
|
635 |
+
msgstr "Minuten"
|
636 |
+
|
637 |
+
#: includes/public/class-wprm-template-helper.php:120
|
638 |
+
msgid "from"
|
639 |
+
msgstr "von"
|
640 |
+
|
641 |
+
#: includes/public/class-wprm-template-helper.php:120
|
642 |
+
msgid "vote"
|
643 |
+
msgid_plural "votes"
|
644 |
+
msgstr[0] "Bewertung"
|
645 |
+
msgstr[1] "Bewertungen"
|
646 |
+
|
647 |
+
#: templates/admin/menu/import-overview.php:16
|
648 |
+
msgid "Considerations Before Importing"
|
649 |
+
msgstr "Überprüfen vor dem Import"
|
650 |
+
|
651 |
+
#: templates/admin/menu/import-overview.php:18
|
652 |
+
msgid ""
|
653 |
+
"Importing recipes will convert them to our format and they won't be "
|
654 |
+
"available in the old plugin anymore. We recommend backing up before starting "
|
655 |
+
"the process and trying to import 1 single recipe first to make sure "
|
656 |
+
"everything converts properly."
|
657 |
+
msgstr ""
|
658 |
+
"Beim Importieren von Rezepten werden diese in ein neues Format konvertiert "
|
659 |
+
"und sie sind nicht mehr im alten Plugin verfügbar. Wir empfehlen die "
|
660 |
+
"Sicherung vor dem Start des Prozesses und versuchen zunächst nur 1 einziges "
|
661 |
+
"Rezept zu importieren, um sicherzustellen, dass alles richtig umgewandelt "
|
662 |
+
"wird."
|
663 |
+
|
664 |
+
#: templates/admin/menu/import-overview.php:21
|
665 |
+
msgid ""
|
666 |
+
"If your current plugin uses custom post types and has different permalinks "
|
667 |
+
"than regular posts you might want to use a redirection plugin to set up 301 "
|
668 |
+
"redirects. Contact us if you need help!"
|
669 |
+
msgstr ""
|
670 |
+
"Wenn Ihr aktuelles Plugin benutzerdefinierte Post-Typen verwendet und andere "
|
671 |
+
"Permalinks hat, als reguläre Beiträge, können Sie ein Umleitungs-Plugin "
|
672 |
+
"verwenden, um 301 Redirects einzurichten. Treten Sie mit uns in Verbindung, "
|
673 |
+
"wenn Sie Hilfe benötigen!"
|
674 |
+
|
675 |
+
#: templates/admin/menu/import-overview.php:24
|
676 |
+
msgid ""
|
677 |
+
"Importing lots of recipes at once can cause a PHP timeout error. All recipes "
|
678 |
+
"that were handled up until the error will have been imported correctly."
|
679 |
+
msgstr ""
|
680 |
+
"Viele Rezepte auf einmal importieren kann einen PHP-Timeout-Fehler "
|
681 |
+
"verursachen. Alle Rezepte, die bis zu den Fehler behandelt wurden, werden "
|
682 |
+
"korrekt importiert wurden."
|
683 |
+
|
684 |
+
#: templates/admin/menu/import-overview.php:27
|
685 |
+
#: templates/admin/menu/import-recipes.php:44
|
686 |
+
msgid "Recipes to Import"
|
687 |
+
msgstr "Rezepte zum Importieren"
|
688 |
+
|
689 |
+
#: templates/admin/menu/import-overview.php:42
|
690 |
+
#: templates/admin/menu/import-overview.php:67
|
691 |
+
msgid "No recipes found."
|
692 |
+
msgstr "Kein Rezept gefunden"
|
693 |
+
|
694 |
+
#: templates/admin/menu/import-overview.php:47
|
695 |
+
msgid "%d recipe found"
|
696 |
+
msgid_plural "%d recipes found"
|
697 |
+
msgstr[0] "%d Rezept gefunden"
|
698 |
+
msgstr[1] "%d Rezepte gefunden"
|
699 |
+
|
700 |
+
#: templates/admin/menu/import-overview.php:48
|
701 |
+
msgid "Explore import options"
|
702 |
+
msgstr "Erkunden Sie die Importoptionen"
|
703 |
+
|
704 |
+
#: templates/admin/menu/import-overview.php:52
|
705 |
+
msgid "Imported Recipes to Check"
|
706 |
+
msgstr "Importierte Rezepte überprüfen"
|
707 |
+
|
708 |
+
#: templates/admin/menu/import-overview.php:71
|
709 |
+
msgid ""
|
710 |
+
"We recommend going through all of these recipes to make sure the import "
|
711 |
+
"process was successful. Pay attention to the different ingredient parts to "
|
712 |
+
"be able to make use of all of our features."
|
713 |
+
msgstr ""
|
714 |
+
"Es wird empfohlen, alle diese Rezepte zu überprüfen, um sicherzustellen, "
|
715 |
+
"dass der Importvorgang erfolgreich war. Achten Sie auf die Teile der "
|
716 |
+
"verschiedenen Zutaten. ob alle Funktionen richtig übertragen wurden."
|
717 |
+
|
718 |
+
#: templates/admin/menu/import-overview.php:74
|
719 |
+
msgid ""
|
720 |
+
"After doing so you can mark a recipe as checked to keep track of the recipes "
|
721 |
+
"you still have to go through."
|
722 |
+
msgstr ""
|
723 |
+
"Nachdem Sie das getan haben, markieren Sie alle Rezepte als überprüft, um "
|
724 |
+
"den Überblick zu behalten, welche Rezepte noch geprüft werden müssen."
|
725 |
+
|
726 |
+
#: templates/admin/menu/import-overview.php:97
|
727 |
+
msgid "Mark Selected Recipes as Checked"
|
728 |
+
msgstr "Ausgewählte Rezepte als überprüft markieren"
|
729 |
+
|
730 |
+
#: templates/admin/menu/import-recipes.php:20
|
731 |
+
msgid "Something went wrong."
|
732 |
+
msgstr "Etwas ist schief gelaufen."
|
733 |
+
|
734 |
+
#: templates/admin/menu/import-recipes.php:27
|
735 |
+
msgid "Import from %s"
|
736 |
+
msgstr "Import aus %"
|
737 |
+
|
738 |
+
#: templates/admin/menu/import-recipes.php:41
|
739 |
+
msgid "Import Settings"
|
740 |
+
msgstr "Importeinstellungen"
|
741 |
+
|
742 |
+
#: templates/admin/menu/import-recipes.php:45
|
743 |
+
msgid "Select"
|
744 |
+
msgstr "Auswählen"
|
745 |
+
|
746 |
+
#: templates/admin/menu/import-recipes.php:45
|
747 |
+
msgid "all"
|
748 |
+
msgstr "Alle"
|
749 |
+
|
750 |
+
#: templates/admin/menu/import-recipes.php:45
|
751 |
+
msgid "none"
|
752 |
+
msgstr "Keine"
|
753 |
+
|
754 |
+
#: templates/admin/menu/import-recipes.php:63
|
755 |
+
msgid "Import Selected Recipes"
|
756 |
+
msgstr "Importieren Sie ausgewählte Rezepte"
|
757 |
+
|
758 |
+
#: templates/admin/modal/modal.php:16
|
759 |
+
msgid "Close Modal"
|
760 |
+
msgstr "Schließen Sie Modal"
|
761 |
+
|
762 |
+
#: templates/admin/modal/modal.php:38
|
763 |
+
msgid "You're currently editing a recipe."
|
764 |
+
msgstr "Sie bearbeiten gerade ein Rezept."
|
765 |
+
|
766 |
+
#: templates/admin/modal/modal.php:38
|
767 |
+
msgid "Use the \"WP Recipe Maker\" button to access other features."
|
768 |
+
msgstr ""
|
769 |
+
"Die Schaltfläche 'WP-Rezept-Maker' bietet Zugriff auf andere Funktionen."
|
770 |
+
|
771 |
+
#: templates/admin/modal/tabs/import-text.php:16
|
772 |
+
msgid "Start Over"
|
773 |
+
msgstr "Starte nun"
|
774 |
+
|
775 |
+
#: templates/admin/modal/tabs/import-text.php:17
|
776 |
+
msgid "Clear"
|
777 |
+
msgstr "Löschen"
|
778 |
+
|
779 |
+
#: templates/admin/modal/tabs/import-text.php:18
|
780 |
+
msgid "Next"
|
781 |
+
msgstr "Nächste"
|
782 |
+
|
783 |
+
#: templates/admin/modal/tabs/import-text.php:22
|
784 |
+
msgid ""
|
785 |
+
"Paste the recipe you want to import in the textarea below to get started."
|
786 |
+
msgstr ""
|
787 |
+
"Fügen Sie das Rezept, das Sie in den Textbereich importieren möchten, ein, "
|
788 |
+
"um zu beginnen."
|
789 |
+
|
790 |
+
#: templates/admin/modal/tabs/import-text.php:30
|
791 |
+
#: templates/admin/modal/tabs/import-text.php:35
|
792 |
+
#: templates/admin/modal/tabs/import-text.php:40
|
793 |
+
#: templates/admin/modal/tabs/import-text.php:52
|
794 |
+
#: templates/admin/modal/tabs/import-text.php:64
|
795 |
+
msgid "Highlight this part of the recipe:"
|
796 |
+
msgstr "Markieren Sie diesen Teil des Rezepts:"
|
797 |
+
|
798 |
+
#: templates/admin/modal/tabs/import-text.php:30
|
799 |
+
#: templates/admin/modal/tabs/recipe-details.php:30
|
800 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:21
|
801 |
+
msgid "Name"
|
802 |
+
msgstr "Name"
|
803 |
+
|
804 |
+
#: templates/admin/modal/tabs/import-text.php:35
|
805 |
+
#: templates/admin/modal/tabs/recipe-details.php:34
|
806 |
+
msgid "Summary"
|
807 |
+
msgstr "Zusammenfassung"
|
808 |
+
|
809 |
+
#: templates/admin/modal/tabs/import-text.php:40
|
810 |
+
#: templates/recipe/clean-print/clean-print.php:90
|
811 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:91
|
812 |
+
#: templates/recipe/simple/simple.php:107
|
813 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:111
|
814 |
+
msgid "Ingredients"
|
815 |
+
msgstr "Zutaten"
|
816 |
+
|
817 |
+
#: templates/admin/modal/tabs/import-text.php:45
|
818 |
+
msgid "Check any ingredient groups in this list:"
|
819 |
+
msgstr "Überprüfen Sie jede Zutatengruppe in dieser Liste:"
|
820 |
+
|
821 |
+
#: templates/admin/modal/tabs/import-text.php:52
|
822 |
+
#: templates/recipe/clean-print/clean-print.php:120
|
823 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:121
|
824 |
+
#: templates/recipe/simple/simple.php:137
|
825 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:141
|
826 |
+
msgid "Instructions"
|
827 |
+
msgstr "Anleitungen"
|
828 |
+
|
829 |
+
#: templates/admin/modal/tabs/import-text.php:57
|
830 |
+
msgid "Check any instruction groups in this list:"
|
831 |
+
msgstr "Überprüfen Sie jede Anleitungsgruppe in dieser Liste:"
|
832 |
+
|
833 |
+
#: templates/admin/modal/tabs/import-text.php:64
|
834 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:22
|
835 |
+
#: templates/admin/modal/tabs/recipe-notes.php:16
|
836 |
+
msgid "Notes"
|
837 |
+
msgstr "Notizen"
|
838 |
+
|
839 |
+
#: templates/admin/modal/tabs/import-text.php:69
|
840 |
+
msgid "Finished the text import."
|
841 |
+
msgstr "Text Import abgeschlossen."
|
842 |
+
|
843 |
+
#: templates/admin/modal/tabs/recipe-details.php:23
|
844 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:54
|
845 |
+
msgid "Image"
|
846 |
+
msgstr "Bild"
|
847 |
+
|
848 |
+
#: templates/admin/modal/tabs/recipe-details.php:24
|
849 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:70
|
850 |
+
msgid "Add Image"
|
851 |
+
msgstr "Bild hinzufügen"
|
852 |
+
|
853 |
+
#: templates/admin/modal/tabs/recipe-details.php:25
|
854 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:71
|
855 |
+
msgid "Remove Image"
|
856 |
+
msgstr "Bild entfernen"
|
857 |
+
|
858 |
+
#: templates/admin/modal/tabs/recipe-details.php:31
|
859 |
+
msgid "Recipe Name"
|
860 |
+
msgstr "Rezept Name"
|
861 |
+
|
862 |
+
#: templates/admin/modal/tabs/recipe-details.php:38
|
863 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:87
|
864 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:91
|
865 |
+
msgid "Hint"
|
866 |
+
msgstr "Hinweis"
|
867 |
+
|
868 |
+
#: templates/admin/modal/tabs/recipe-details.php:39
|
869 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:92
|
870 |
+
msgid "Select text to add styling or links."
|
871 |
+
msgstr ""
|
872 |
+
"Markieren Sie Textstellen, um Styling oder Links hinzuzufügen.\n"
|
873 |
+
"\t\n"
|
874 |
+
"\t\n"
|
875 |
+
"\t\n"
|
876 |
+
"\t\n"
|
877 |
+
"\t\n"
|
878 |
+
"\t\n"
|
879 |
+
"\t\t\n"
|
880 |
+
|
881 |
+
#: templates/admin/modal/tabs/recipe-details.php:42
|
882 |
+
#: templates/recipe/clean-print/clean-print.php:81
|
883 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:82
|
884 |
+
#: templates/recipe/simple/simple.php:98
|
885 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:102
|
886 |
+
msgid "Author"
|
887 |
+
msgstr "Autor"
|
888 |
+
|
889 |
+
#: templates/admin/modal/tabs/recipe-details.php:44
|
890 |
+
msgid "Don't show"
|
891 |
+
msgstr "Nicht anzeigen"
|
892 |
+
|
893 |
+
#: templates/admin/modal/tabs/recipe-details.php:45
|
894 |
+
msgid "Name of post author"
|
895 |
+
msgstr "Name des Post-Autors"
|
896 |
+
|
897 |
+
#: templates/admin/modal/tabs/recipe-details.php:46
|
898 |
+
msgid "Custom author name"
|
899 |
+
msgstr "Benutzerdefinierte Autorenname"
|
900 |
+
|
901 |
+
#: templates/admin/modal/tabs/recipe-details.php:49
|
902 |
+
msgid "Custom Author Name"
|
903 |
+
msgstr "Benutzerdefinierter Autorenname"
|
904 |
+
|
905 |
+
#: templates/admin/modal/tabs/recipe-details.php:50
|
906 |
+
msgid "Author Name"
|
907 |
+
msgstr "Name des Autors"
|
908 |
+
|
909 |
+
#: templates/admin/modal/tabs/recipe-details.php:53
|
910 |
+
#: templates/recipe/clean-print/clean-print.php:71
|
911 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:72
|
912 |
+
#: templates/recipe/simple/simple.php:88
|
913 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:92
|
914 |
+
msgid "Servings"
|
915 |
+
msgstr "Portionen"
|
916 |
+
|
917 |
+
#: templates/admin/modal/tabs/recipe-details.php:54
|
918 |
+
msgid "people"
|
919 |
+
msgstr "Personen"
|
920 |
+
|
921 |
+
#: templates/admin/modal/tabs/recipe-details.php:58
|
922 |
+
#: templates/recipe/clean-print/clean-print.php:76
|
923 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:77
|
924 |
+
#: templates/recipe/simple/simple.php:93
|
925 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:97
|
926 |
+
msgid "Calories"
|
927 |
+
msgstr "Kalorien"
|
928 |
+
|
929 |
+
#: templates/admin/modal/tabs/recipe-details.php:63
|
930 |
+
#: templates/recipe/clean-print/clean-print.php:54
|
931 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:55
|
932 |
+
#: templates/recipe/simple/simple.php:69
|
933 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:35
|
934 |
+
msgid "Prep Time"
|
935 |
+
msgstr "Vorbereitungszeit"
|
936 |
+
|
937 |
+
#: templates/admin/modal/tabs/recipe-details.php:66
|
938 |
+
#: templates/recipe/clean-print/clean-print.php:59
|
939 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:60
|
940 |
+
#: templates/recipe/simple/simple.php:75
|
941 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:42
|
942 |
+
msgid "Cook Time"
|
943 |
+
msgstr "Zubereitungszeit"
|
944 |
+
|
945 |
+
#: templates/admin/modal/tabs/recipe-details.php:69
|
946 |
+
#: templates/recipe/clean-print/clean-print.php:64
|
947 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:65
|
948 |
+
#: templates/recipe/simple/simple.php:81
|
949 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:49
|
950 |
+
msgid "Total Time"
|
951 |
+
msgstr "Arbeitszeit"
|
952 |
+
|
953 |
+
#: templates/admin/modal/tabs/recipe-details.php:73
|
954 |
+
#: templates/recipe/clean-print/clean-print.php:24
|
955 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:25
|
956 |
+
#: templates/recipe/simple/simple.php:38
|
957 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:64
|
958 |
+
msgid "Course"
|
959 |
+
msgstr "Gericht"
|
960 |
+
|
961 |
+
#: templates/admin/modal/tabs/recipe-details.php:87
|
962 |
+
#: templates/recipe/clean-print/clean-print.php:39
|
963 |
+
#: templates/recipe/clean-print-with-image/clean-print-with-image.php:40
|
964 |
+
#: templates/recipe/simple/simple.php:53
|
965 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:79
|
966 |
+
msgid "Cuisine"
|
967 |
+
msgstr "Länder & Regionen"
|
968 |
+
|
969 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:19
|
970 |
+
msgid "Amount"
|
971 |
+
msgstr "Menge"
|
972 |
+
|
973 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:20
|
974 |
+
msgid "Unit"
|
975 |
+
msgstr "Einheiten"
|
976 |
+
|
977 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:28
|
978 |
+
msgid "Ingredient Group"
|
979 |
+
msgstr "Zutatengruppe"
|
980 |
+
|
981 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:35
|
982 |
+
msgid "olive oil"
|
983 |
+
msgstr "Olivenöl"
|
984 |
+
|
985 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:36
|
986 |
+
msgid "extra virgin"
|
987 |
+
msgstr "Extra Nativ"
|
988 |
+
|
989 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:44
|
990 |
+
msgid "Add Ingredient"
|
991 |
+
msgstr "weitere Zutaten"
|
992 |
+
|
993 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:45
|
994 |
+
msgid "Add Ingredient Group"
|
995 |
+
msgstr "weitere Zutatengruppe"
|
996 |
+
|
997 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:53
|
998 |
+
msgid "Instruction"
|
999 |
+
msgstr "Anleitung"
|
1000 |
+
|
1001 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:60
|
1002 |
+
msgid "Instruction Group"
|
1003 |
+
msgstr "Anleitungsschritt"
|
1004 |
+
|
1005 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:81
|
1006 |
+
msgid "Add Instruction"
|
1007 |
+
msgstr "Anleitung hinzu fügen"
|
1008 |
+
|
1009 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:82
|
1010 |
+
msgid "Add Instruction Group"
|
1011 |
+
msgstr "weiterer Anleitungsschritt"
|
1012 |
+
|
1013 |
+
#: templates/admin/modal/tabs/recipe-ingredients-instructions.php:88
|
1014 |
+
msgid ""
|
1015 |
+
"Use the TAB key to easily move from field to field and add "
|
1016 |
+
"ingredients/instructions without having to click the button."
|
1017 |
+
msgstr ""
|
1018 |
+
"Verwenden Sie die TAB-Taste, um sich leicht von Feld zu Feld zu bewegen und "
|
1019 |
+
"Zutaten / Anweisungen hinzuzufügen, ohne auf die Schaltfläche klicken zu "
|
1020 |
+
"müssen."
|
1021 |
+
|
1022 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:15
|
1023 |
+
msgid ""
|
1024 |
+
"The %s shortcode can be used to add a link that jumps your visitors to a "
|
1025 |
+
"recipe on the page."
|
1026 |
+
msgstr ""
|
1027 |
+
"Der% s-Kurzcode kann verwendet werden, um einen Link hinzuzufügen, der Ihre "
|
1028 |
+
"Besucher zu einem anderen Rezept auf der Seite springen lässt."
|
1029 |
+
|
1030 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:17
|
1031 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:17
|
1032 |
+
msgid "Shortcode Examples"
|
1033 |
+
msgstr "Shortcode Beispiele:"
|
1034 |
+
|
1035 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:20
|
1036 |
+
msgid ""
|
1037 |
+
"Add a link that jumps to the first recipe found on the page with \"Jump to "
|
1038 |
+
"Recipe\" as the link text."
|
1039 |
+
msgstr ""
|
1040 |
+
"Fügen Sie einen Link hinzu, der zum ersten Rezept springt, das auf der Seite "
|
1041 |
+
"mit 'Springe zu Rezept' als Linktext gefunden wird."
|
1042 |
+
|
1043 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:24
|
1044 |
+
msgid ""
|
1045 |
+
"Add a link that jumps to the recipe with ID 123 with \"Jump to Recipe\" as "
|
1046 |
+
"the link text."
|
1047 |
+
msgstr ""
|
1048 |
+
"Fügen Sie einen Link hinzu, der zu dem Rezept mit ID 123 mit 'Springen zu "
|
1049 |
+
"Rezept' als Linktext anzeigt."
|
1050 |
+
|
1051 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:28
|
1052 |
+
msgid ""
|
1053 |
+
"Add a link that jumps to the recipe with ID 123 with \"View Recipe\" as the "
|
1054 |
+
"link text."
|
1055 |
+
msgstr ""
|
1056 |
+
"Fügen Sie einen Link hinzu, der zum Rezept mit ID 123 mit 'Rezept ansehen' "
|
1057 |
+
"als Linktext springt."
|
1058 |
+
|
1059 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:35
|
1060 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:35
|
1061 |
+
msgid "First recipe on page"
|
1062 |
+
msgstr "Erstes Rezept der Seite"
|
1063 |
+
|
1064 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:44
|
1065 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:44
|
1066 |
+
msgid "Text"
|
1067 |
+
msgstr "Text"
|
1068 |
+
|
1069 |
+
#: templates/admin/modal/tabs/recipe-snippets-jump.php:46
|
1070 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:46
|
1071 |
+
msgid "Leave blank to use default"
|
1072 |
+
msgstr "Leer lassen, um die Standardeinstellung zu verwenden"
|
1073 |
+
|
1074 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:15
|
1075 |
+
msgid "The %s shortcode can be used to add a link for printing a recipe."
|
1076 |
+
msgstr ""
|
1077 |
+
"Der %s Kurzcode kann verwendet werden, um einen Link zum Drucken eines "
|
1078 |
+
"Rezepts hinzuzufügen."
|
1079 |
+
|
1080 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:20
|
1081 |
+
msgid ""
|
1082 |
+
"Add a link that prints the first recipe found on the page with \"Print "
|
1083 |
+
"Recipe\" as the link text."
|
1084 |
+
msgstr ""
|
1085 |
+
"Fügen Sie einen Link hinzu, der das erste Rezept auf der Seite mit 'Rezept "
|
1086 |
+
"drucken' als Linktext druckt."
|
1087 |
+
|
1088 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:24
|
1089 |
+
msgid ""
|
1090 |
+
"Add a link that prints the recipe with ID 123 with \"Print Recipe\" as the "
|
1091 |
+
"link text."
|
1092 |
+
msgstr ""
|
1093 |
+
"Fügen Sie einen Link hinzu, der das Rezept mit ID 123 mit 'Druckrezept' als "
|
1094 |
+
"Linktext druckt."
|
1095 |
+
|
1096 |
+
#: templates/admin/modal/tabs/recipe-snippets-print.php:28
|
1097 |
+
msgid ""
|
1098 |
+
"Add a link that prints the recipe with ID 123 with \"Print my new Recipe\" "
|
1099 |
+
"as the link text."
|
1100 |
+
msgstr ""
|
1101 |
+
"ügen Sie einen Link hinzu, der das Rezept mit ID 123 mit 'Mein neues Rezept "
|
1102 |
+
"drucken' als Linktext druckt."
|
1103 |
+
|
1104 |
+
#: templates/admin/settings/appearance.php:17
|
1105 |
+
msgid "Recipe Template"
|
1106 |
+
msgstr "Vorlage für das Rezepterscheinungsbild"
|
1107 |
+
|
1108 |
+
#: templates/admin/settings/appearance.php:19
|
1109 |
+
msgid "Change the look of recipes on your website."
|
1110 |
+
msgstr "Ändern Sie das Aussehen der Rezepte auf Ihrer Website."
|
1111 |
+
|
1112 |
+
#: templates/admin/settings/appearance.php:28
|
1113 |
+
msgid "Default Recipe Template"
|
1114 |
+
msgstr "Standard-Rezepterscheinungsbild"
|
1115 |
+
|
1116 |
+
#: templates/admin/settings/appearance.php:41
|
1117 |
+
msgid "The default template to use for recipes on your website."
|
1118 |
+
msgstr "Das Standarderscheinungsbild für Rezepte auf Ihrer Website verwenden."
|
1119 |
+
|
1120 |
+
#: templates/admin/settings/appearance.php:47
|
1121 |
+
msgid "Default Print Template"
|
1122 |
+
msgstr "Standard-Druckvorlage"
|
1123 |
+
|
1124 |
+
#: templates/admin/settings/appearance.php:60
|
1125 |
+
msgid "The default template to use when printing a recipe."
|
1126 |
+
msgstr ""
|
1127 |
+
"Die Standardvorlage, die beim Drucken eines Rezepts verwendet werden soll."
|
1128 |
+
|
1129 |
+
#: templates/admin/settings/appearance.php:86
|
1130 |
+
msgid "No Screenshot"
|
1131 |
+
msgstr "Keine Screenshots"
|
1132 |
+
|
1133 |
+
#: templates/admin/settings/appearance.php:95
|
1134 |
+
#: templates/admin/settings/features.php:67
|
1135 |
+
msgid "Save Changes"
|
1136 |
+
msgstr "Änderungen speichern"
|
1137 |
+
|
1138 |
+
#: templates/admin/settings/features.php:17 templates/admin/settings.php:17
|
1139 |
+
msgid "Features"
|
1140 |
+
msgstr "Eigenschaften"
|
1141 |
+
|
1142 |
+
#: templates/admin/settings/features.php:19
|
1143 |
+
msgid "Choose the features you want to use on your website."
|
1144 |
+
msgstr ""
|
1145 |
+
"Wählen Sie die Funktionen, die Sie auf Ihrer Website verwenden möchten."
|
1146 |
+
|
1147 |
+
#: templates/admin/settings/features.php:25
|
1148 |
+
msgid "Comment Ratings"
|
1149 |
+
msgstr "Kommentar Bewertungen"
|
1150 |
+
|
1151 |
+
#: templates/admin/settings/features.php:31
|
1152 |
+
msgid "Allow visitors to vote on your recipes when commenting"
|
1153 |
+
msgstr ""
|
1154 |
+
"Lassen Sie Ihre Besucher Ihre Rezepte in der Kommentarfunktion bewerten"
|
1155 |
+
|
1156 |
+
#: templates/admin/settings/features.php:34
|
1157 |
+
#: templates/admin/settings/features.php:61
|
1158 |
+
msgid "Learn more"
|
1159 |
+
msgstr "Mehr erfahren"
|
1160 |
+
|
1161 |
+
#: templates/admin/settings/features.php:40
|
1162 |
+
msgid "Premium Features"
|
1163 |
+
msgstr "Premium Funktionen"
|
1164 |
+
|
1165 |
+
#: templates/admin/settings/features.php:43
|
1166 |
+
msgid "These features are only available in"
|
1167 |
+
msgstr "Diese Funktionen sind nur verfügbar in"
|
1168 |
+
|
1169 |
+
#: templates/admin/settings/features.php:45
|
1170 |
+
msgid "Choose the Premium features you want to use on your website."
|
1171 |
+
msgstr ""
|
1172 |
+
"Wählen Sie aus den Premium-Funktionen, welche Sie auf Ihrer Website "
|
1173 |
+
"verwenden möchten."
|
1174 |
+
|
1175 |
+
#: templates/admin/settings/features.php:52
|
1176 |
+
msgid "Adjustable Servings"
|
1177 |
+
msgstr "Einstellbare Portionsgrößen"
|
1178 |
+
|
1179 |
+
#: templates/admin/settings/features.php:58
|
1180 |
+
msgid "Visitors can adjust the serving size of your recipes"
|
1181 |
+
msgstr "Besucher können die Portionsgröße Ihrer Rezepte anpassen"
|
1182 |
+
|
1183 |
+
#: templates/admin/settings.php:16
|
1184 |
+
msgid "Appearance"
|
1185 |
+
msgstr "Erscheinungsbild"
|
1186 |
+
|
1187 |
+
#: templates/admin/settings.php:26
|
1188 |
+
msgid "WP Recipe Maker Settings"
|
1189 |
+
msgstr "WP Rezept Maker Einstellungen"
|
1190 |
+
|
1191 |
+
#: templates/recipe/simple/simple.php:26
|
1192 |
+
#: templates/recipe/tastefully-simple/tastefully-simple.php:26
|
1193 |
+
msgid "Print"
|
1194 |
+
msgstr "Drucken"
|
1195 |
+
|
1196 |
+
#. Plugin Name of the plugin/theme
|
1197 |
+
msgid "WP Recipe Maker"
|
1198 |
+
msgstr "WP Rezept Maker"
|
1199 |
+
|
1200 |
+
#. Plugin URI of the plugin/theme
|
1201 |
+
msgid "http://bootstrapped.ventures/wp-recipe-maker/"
|
1202 |
+
msgstr "http://bootstrapped.ventures/wp-recipe-maker/"
|
1203 |
+
|
1204 |
+
#. Description of the plugin/theme
|
1205 |
+
msgid ""
|
1206 |
+
"The easy and user-friendly recipe plugin for everyone. Automatic JSON-LD "
|
1207 |
+
"metadata for better SEO will get you more visitors!"
|
1208 |
+
msgstr ""
|
1209 |
+
"Das einfache und benutzerfreundliche Rezept-Plugin für alle. Durch "
|
1210 |
+
"automatische JSON-LD Metadaten für ein besseres SEO erhalten Sie mehr "
|
1211 |
+
"Besucher!"
|
1212 |
+
|
1213 |
+
#. Author of the plugin/theme
|
1214 |
+
msgid "Bootstrapped Ventures"
|
1215 |
+
msgstr "Bootstrapped Ventures"
|
1216 |
+
|
1217 |
+
#. Author URI of the plugin/theme
|
1218 |
+
msgid "http://bootstrapped.ventures/"
|
1219 |
+
msgstr "http://bootstrapped.ventures/"
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: BrechtVds
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QG7KZMGFU325Y
|
4 |
Tags: recipe, recipes, ingredients, food, cooking, seo, schema.org, json-ld
|
5 |
Requires at least: 4.4
|
6 |
-
Tested up to: 4.
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -25,6 +25,7 @@ An overview of WP Recipe Maker features:
|
|
25 |
* Add **photos** to any step of the recipe
|
26 |
* Print recipe and **jump to recipe** shortcodes
|
27 |
* This plugin is **fully responsive**, your recipes will look good on any device
|
|
|
28 |
* Structure your ingredients and instructions in **groups** (e.g. icing and cake batter)
|
29 |
* **Full text search** for your recipes
|
30 |
* Access your recipes through the WordPress **REST API**
|
@@ -45,6 +46,7 @@ Looking for some more advanced functionality? We also have the [WP Recipe Maker
|
|
45 |
* Display all nutrition data in a **nutrition label**
|
46 |
* Add a mobile-friendly **kitchen timer** to your recipes
|
47 |
* More **Premium templates** for a unique recipe template
|
|
|
48 |
|
49 |
This plugin is in active development. Feel free to contact us with any feature requests or ideas.
|
50 |
|
@@ -80,6 +82,19 @@ Yes! We pride ourselves on offering awesome support and almost always answer sup
|
|
80 |
|
81 |
== Changelog ==
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
= 1.9.1 =
|
84 |
* Feature: WP Recipe Maker icon in TinyMCE editor
|
85 |
* Fix: Ingredients settings page
|
@@ -173,6 +188,9 @@ Yes! We pride ourselves on offering awesome support and almost always answer sup
|
|
173 |
|
174 |
== Upgrade notice =
|
175 |
|
|
|
|
|
|
|
176 |
= 1.9.1 =
|
177 |
Fix for settings issue introduced in previous update
|
178 |
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QG7KZMGFU325Y
|
4 |
Tags: recipe, recipes, ingredients, food, cooking, seo, schema.org, json-ld
|
5 |
Requires at least: 4.4
|
6 |
+
Tested up to: 4.7
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
25 |
* Add **photos** to any step of the recipe
|
26 |
* Print recipe and **jump to recipe** shortcodes
|
27 |
* This plugin is **fully responsive**, your recipes will look good on any device
|
28 |
+
* Easily **change labels and colors** to fit your website
|
29 |
* Structure your ingredients and instructions in **groups** (e.g. icing and cake batter)
|
30 |
* **Full text search** for your recipes
|
31 |
* Access your recipes through the WordPress **REST API**
|
46 |
* Display all nutrition data in a **nutrition label**
|
47 |
* Add a mobile-friendly **kitchen timer** to your recipes
|
48 |
* More **Premium templates** for a unique recipe template
|
49 |
+
* Create custom **recipe taxonomies** like price level, difficulty, ...
|
50 |
|
51 |
This plugin is in active development. Feel free to contact us with any feature requests or ideas.
|
52 |
|
82 |
|
83 |
== Changelog ==
|
84 |
|
85 |
+
= 1.10.0 =
|
86 |
+
* Feature: Change recipe template colors in the settings
|
87 |
+
* Feature: Change recipe template labels in the settings
|
88 |
+
* Feature: Manage courses and cuisines
|
89 |
+
* Improvement: Show days in recipe times
|
90 |
+
* Improvement: Recipe import performance
|
91 |
+
* Improvement: Prevent accidental closing of the modal
|
92 |
+
* Improvement: Setting to use featured image of parent post
|
93 |
+
* Improvement: Prevent recipe getting overwritten by our other shortcodes
|
94 |
+
* Fix: Prevent issue with post content replacing recipe notes
|
95 |
+
* Fix: Only import numbers for nutrition facts
|
96 |
+
* Fix: WordFence Compatibility
|
97 |
+
|
98 |
= 1.9.1 =
|
99 |
* Feature: WP Recipe Maker icon in TinyMCE editor
|
100 |
* Fix: Ingredients settings page
|
188 |
|
189 |
== Upgrade notice =
|
190 |
|
191 |
+
= 1.10.0 =
|
192 |
+
Make your recipe template unique in this new update
|
193 |
+
|
194 |
= 1.9.1 =
|
195 |
Fix for settings issue introduced in previous update
|
196 |
|
templates/admin/manage.php
CHANGED
@@ -12,7 +12,12 @@
|
|
12 |
// Subpage.
|
13 |
$sub = isset( $_GET['sub'] ) ? sanitize_key( wp_unslash( $_GET['sub'] ) ) : ''; // Input var okay.
|
14 |
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
16 |
$sub = 'recipes';
|
17 |
}
|
18 |
?>
|
@@ -21,14 +26,17 @@ if ( ! in_array( $sub, array( 'recipes', 'ingredients' ), true ) ) {
|
|
21 |
<h2><?php esc_html_e( 'Manage', 'wp-recipe-maker-premium' ); ?></h2>
|
22 |
|
23 |
<h2 class="nav-tab-wrapper">
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
29 |
</h2>
|
30 |
|
31 |
-
<?php
|
32 |
</div>
|
33 |
|
34 |
<?php
|
12 |
// Subpage.
|
13 |
$sub = isset( $_GET['sub'] ) ? sanitize_key( wp_unslash( $_GET['sub'] ) ) : ''; // Input var okay.
|
14 |
|
15 |
+
$tabs = apply_filters( 'wprm_manage_tabs', array(
|
16 |
+
'recipes' => __( 'Recipes', 'wp-recipe-maker' ),
|
17 |
+
'ingredients' => __( 'Ingredients', 'wp-recipe-maker' ),
|
18 |
+
) );
|
19 |
+
|
20 |
+
if ( ! array_key_exists( $sub, $tabs ) ) {
|
21 |
$sub = 'recipes';
|
22 |
}
|
23 |
?>
|
26 |
<h2><?php esc_html_e( 'Manage', 'wp-recipe-maker-premium' ); ?></h2>
|
27 |
|
28 |
<h2 class="nav-tab-wrapper">
|
29 |
+
<?php
|
30 |
+
foreach ( $tabs as $tab => $label ) {
|
31 |
+
$url = add_query_arg( 'sub', $tab, admin_url( 'admin.php?page=wprecipemaker' ) );
|
32 |
+
$active = $sub === $tab ? ' nav-tab-active' : '';
|
33 |
+
|
34 |
+
echo '<a href="' . esc_url( $url ) . '" class="nav-tab' . esc_attr( $active ) . '">' . esc_html( $label ) . '</a>';
|
35 |
+
}
|
36 |
+
?>
|
37 |
</h2>
|
38 |
|
39 |
+
<?php do_action( 'wprm_manage_page', $sub ); ?>
|
40 |
</div>
|
41 |
|
42 |
<?php
|
templates/admin/manage/ingredients.php
CHANGED
@@ -9,12 +9,16 @@
|
|
9 |
* @subpackage WP_Recipe_Maker/templates/admin/manage
|
10 |
*/
|
11 |
|
|
|
|
|
|
|
|
|
12 |
?>
|
13 |
|
14 |
<table id="wprm-manage-ingredients" class="wprm-manage-datatable" cellspacing="0" width="100%">
|
15 |
<thead>
|
16 |
<tr>
|
17 |
-
<th>ID</th>
|
18 |
<th>Name</th>
|
19 |
<th data-width="50px">Recipes</th>
|
20 |
<th data-sortable="false">Link</th>
|
9 |
* @subpackage WP_Recipe_Maker/templates/admin/manage
|
10 |
*/
|
11 |
|
12 |
+
if ( ! function_exists( 'get_term_meta' ) ) {
|
13 |
+
echo '<br/><strong>Warning:</strong> You need at least WordPress 4.4 to manage the ingredients.';
|
14 |
+
}
|
15 |
+
|
16 |
?>
|
17 |
|
18 |
<table id="wprm-manage-ingredients" class="wprm-manage-datatable" cellspacing="0" width="100%">
|
19 |
<thead>
|
20 |
<tr>
|
21 |
+
<th data-width="50px">ID</th>
|
22 |
<th>Name</th>
|
23 |
<th data-width="50px">Recipes</th>
|
24 |
<th data-sortable="false">Link</th>
|
templates/admin/manage/recipes.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
<table id="wprm-manage-recipes" class="wprm-manage-datatable" cellspacing="0" width="100%">
|
15 |
<thead>
|
16 |
<tr>
|
17 |
-
<th>ID</th>
|
18 |
<th>Date</th>
|
19 |
<th>Name</th>
|
20 |
<th data-sortable="false">Parent Post</th>
|
14 |
<table id="wprm-manage-recipes" class="wprm-manage-datatable" cellspacing="0" width="100%">
|
15 |
<thead>
|
16 |
<tr>
|
17 |
+
<th data-width="50px">ID</th>
|
18 |
<th>Date</th>
|
19 |
<th>Name</th>
|
20 |
<th data-sortable="false">Parent Post</th>
|
templates/admin/manage/taxonomies.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for the taxonomies manage page.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.10.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/templates/admin/manage
|
10 |
+
*/
|
11 |
+
|
12 |
+
$sub = isset( $_GET['sub'] ) ? sanitize_key( wp_unslash( $_GET['sub'] ) ) : ''; // Input var okay.
|
13 |
+
$taxonomy = substr( $sub, 9 );
|
14 |
+
|
15 |
+
?>
|
16 |
+
|
17 |
+
<table id="wprm-manage-taxonomy-<?php echo esc_attr( $taxonomy ); ?>" class="wprm-manage-datatable wprm-manage-taxonomies" data-taxonomy="<?php echo esc_attr( $taxonomy ); ?>" cellspacing="0" width="100%">
|
18 |
+
<thead>
|
19 |
+
<tr>
|
20 |
+
<th data-width="50px">ID</th>
|
21 |
+
<th>Name</th>
|
22 |
+
<th data-width="50px">Recipes</th>
|
23 |
+
<th data-sortable="false" data-width="20px"> </th>
|
24 |
+
</tr>
|
25 |
+
</thead>
|
26 |
+
</table>
|
templates/admin/menu/faq/whats_new.php
CHANGED
@@ -11,6 +11,28 @@
|
|
11 |
|
12 |
?>
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
<h3>2016-11-30 | WP Recipe Maker 1.9.0</h3>
|
15 |
<ul>
|
16 |
<li>Feature: Manage recipes and ingredients in a central place</li>
|
11 |
|
12 |
?>
|
13 |
|
14 |
+
<h3>2016-12-16 | WP Recipe Maker Premium 1.2.0</h3>
|
15 |
+
<ul>
|
16 |
+
<li>Feature: Create your own recipe taxonomies (like courses and cuisines)</li>
|
17 |
+
<li>Feature: Smarter servings changer works for ranges as well</li>
|
18 |
+
<li>Feature: Setting to display nutrition label in recipe template</li>
|
19 |
+
</ul>
|
20 |
+
|
21 |
+
<h3>2016-12-16 | WP Recipe Maker 1.10.0</h3>
|
22 |
+
<ul>
|
23 |
+
<li>Feature: Change recipe template colors in the settings</li>
|
24 |
+
<li>Feature: Change recipe template labels in the settings</li>
|
25 |
+
<li>Feature: Manage courses and cuisines</li>
|
26 |
+
<li>Improvement: Show days in recipe times</li>
|
27 |
+
<li>Improvement: Recipe import performance</li>
|
28 |
+
<li>Improvement: Prevent accidental closing of the modal</li>
|
29 |
+
<li>Improvement: Setting to use featured image of parent post</li>
|
30 |
+
<li>Improvement: Prevent recipe getting overwritten by our other shortcodes</li>
|
31 |
+
<li>Fix: Prevent issue with post content replacing recipe notes</li>
|
32 |
+
<li>Fix: Only import numbers for nutrition facts</li>
|
33 |
+
<li>Fix: WordFence Compatibility</li>
|
34 |
+
</ul>
|
35 |
+
|
36 |
<h3>2016-11-30 | WP Recipe Maker 1.9.0</h3>
|
37 |
<ul>
|
38 |
<li>Feature: Manage recipes and ingredients in a central place</li>
|
templates/admin/menu/{import-overview.php → import/import-overview.php}
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
-
* @subpackage WP_Recipe_Maker/templates/admin/menu
|
10 |
*/
|
11 |
|
12 |
?>
|
@@ -28,12 +28,13 @@
|
|
28 |
<?php
|
29 |
$recipes_to_import = array();
|
30 |
foreach ( self::$importers as $importer ) {
|
31 |
-
$
|
32 |
|
33 |
-
if (
|
34 |
$recipes_to_import[ $importer->get_uid() ] = array(
|
35 |
'name' => $importer->get_name(),
|
36 |
-
'
|
|
|
37 |
);
|
38 |
}
|
39 |
}
|
@@ -43,9 +44,20 @@
|
|
43 |
else :
|
44 |
?>
|
45 |
<?php foreach ( $recipes_to_import as $uid => $importer ) : ?>
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
<?php endforeach; // Each importer. ?>
|
50 |
<?php endif; // Recipes to import. ?>
|
51 |
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/templates/admin/menu/import
|
10 |
*/
|
11 |
|
12 |
?>
|
28 |
<?php
|
29 |
$recipes_to_import = array();
|
30 |
foreach ( self::$importers as $importer ) {
|
31 |
+
$recipe_count = $importer->get_recipe_count();
|
32 |
|
33 |
+
if ( intval( $recipe_count ) > 0 || $importer->requires_search() ) {
|
34 |
$recipes_to_import[ $importer->get_uid() ] = array(
|
35 |
'name' => $importer->get_name(),
|
36 |
+
'requires_search' => $importer->requires_search(),
|
37 |
+
'count' => $recipe_count,
|
38 |
);
|
39 |
}
|
40 |
}
|
44 |
else :
|
45 |
?>
|
46 |
<?php foreach ( $recipes_to_import as $uid => $importer ) : ?>
|
47 |
+
<h4 style="margin-bottom: 0"><?php echo esc_html( $importer['name'] ); ?></h4>
|
48 |
+
<?php if ( $importer['requires_search'] ) : ?>
|
49 |
+
<a href="<?php echo esc_url( add_query_arg( array( 'from' => $uid ), admin_url( 'admin.php?page=wprm_import_search' ) ) ); ?>"><?php esc_html_e( 'Search for recipes', 'wp-recipe-maker' ); ?></a><br/?>
|
50 |
+
<?php endif; // Requires search. ?>
|
51 |
+
<?php if ( intval( $importer['count'] ) > 0 ) : ?>
|
52 |
+
<?php
|
53 |
+
if ( is_int( $importer['count'] ) ) {
|
54 |
+
printf( esc_html( _n( '%d recipe found', '%d recipes found', $importer['count'], 'wp-recipe-maker' ) ), intval( $importer['count'] ) );
|
55 |
+
} else {
|
56 |
+
echo esc_html( $importer['count'] ) . ' ' . esc_html__( ' recipes found' );
|
57 |
+
}
|
58 |
+
?><br />
|
59 |
+
<a href="<?php echo esc_url( add_query_arg( array( 'from' => $uid, 'p' => 0 ), admin_url( 'admin.php?page=wprm_import' ) ) ); ?>"><?php esc_html_e( 'Explore import options', 'wp-recipe-maker' ); ?></a>
|
60 |
+
<?php endif; // Recipe count. ?>
|
61 |
<?php endforeach; // Each importer. ?>
|
62 |
<?php endif; // Recipes to import. ?>
|
63 |
|
templates/admin/menu/{import-recipes.php → import/import-recipes.php}
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
-
* @subpackage WP_Recipe_Maker/templates/admin/menu
|
10 |
*/
|
11 |
|
12 |
?>
|
@@ -14,6 +14,7 @@
|
|
14 |
<div class="wrap wprm-import">
|
15 |
<?php
|
16 |
$uid = isset( $_GET['from'] ) ? sanitize_title( wp_unslash( $_GET['from'] ) ) : ''; // Input var okay.
|
|
|
17 |
$importer = self::get_importer( $uid );
|
18 |
|
19 |
if ( ! $importer ) :
|
@@ -47,7 +48,7 @@
|
|
47 |
<table class="wprm-import-recipes">
|
48 |
<tbody>
|
49 |
<?php
|
50 |
-
$recipes = $importer->get_recipes();
|
51 |
foreach ( $recipes as $id => $recipe ) :
|
52 |
?>
|
53 |
<tr>
|
@@ -65,6 +66,19 @@
|
|
65 |
<?php endforeach; // Recipes to import. ?>
|
66 |
</tbody>
|
67 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
<?php submit_button( __( 'Import Selected Recipes', 'wp-recipe-maker' ) ); ?>
|
69 |
</form>
|
70 |
<?php endif; // Recipe Importer. ?>
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/templates/admin/menu/import
|
10 |
*/
|
11 |
|
12 |
?>
|
14 |
<div class="wrap wprm-import">
|
15 |
<?php
|
16 |
$uid = isset( $_GET['from'] ) ? sanitize_title( wp_unslash( $_GET['from'] ) ) : ''; // Input var okay.
|
17 |
+
$page = isset( $_GET['p'] ) ? intval( wp_unslash( $_GET['p'] ) ) : 0; // Input var okay.
|
18 |
$importer = self::get_importer( $uid );
|
19 |
|
20 |
if ( ! $importer ) :
|
48 |
<table class="wprm-import-recipes">
|
49 |
<tbody>
|
50 |
<?php
|
51 |
+
$recipes = $importer->get_recipes( $page );
|
52 |
foreach ( $recipes as $id => $recipe ) :
|
53 |
?>
|
54 |
<tr>
|
66 |
<?php endforeach; // Recipes to import. ?>
|
67 |
</tbody>
|
68 |
</table>
|
69 |
+
<?php
|
70 |
+
if ( $importer->get_recipe_count() > count( $recipes ) ) {
|
71 |
+
$recipes_left = $importer->get_recipe_count() - count( $recipes );
|
72 |
+
echo '<em>';
|
73 |
+
printf( esc_html( _n( '%d more recipe', '%d more recipes', $recipes_left, 'wp-recipe-maker' ) ), intval( $recipes_left ) );
|
74 |
+
|
75 |
+
if ( 0 === count( $recipes ) ) {
|
76 |
+
echo '<br/>';
|
77 |
+
esc_html_e( 'Try changing the "p" variable in the URL to find the other recipes.', 'wp-recipe-maker' );
|
78 |
+
}
|
79 |
+
echo '</em>';
|
80 |
+
}
|
81 |
+
?>
|
82 |
<?php submit_button( __( 'Import Selected Recipes', 'wp-recipe-maker' ) ); ?>
|
83 |
</form>
|
84 |
<?php endif; // Recipe Importer. ?>
|
templates/admin/menu/import/import-search.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for recipe import search page.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.10.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/templates/admin/menu/import
|
10 |
+
*/
|
11 |
+
|
12 |
+
?>
|
13 |
+
|
14 |
+
<div class="wrap wprm-import">
|
15 |
+
<h4><?php esc_html_e( 'Search Results', 'wp-recipe-maker' ); ?></h4>
|
16 |
+
<?php
|
17 |
+
$uid = isset( $_GET['from'] ) ? sanitize_title( wp_unslash( $_GET['from'] ) ) : ''; // Input var okay.
|
18 |
+
$page = isset( $_GET['p'] ) ? intval( wp_unslash( $_GET['p'] ) ) : 0; // Input var okay.
|
19 |
+
$importer = self::get_importer( $uid );
|
20 |
+
|
21 |
+
if ( ! $importer || ! $importer->requires_search() ) {
|
22 |
+
esc_html_e( 'Something went wrong.', 'wp-recipe-maker' );
|
23 |
+
} else {
|
24 |
+
$search_result = $importer->search_recipes( $page );
|
25 |
+
|
26 |
+
if ( $search_result['finished'] ) {
|
27 |
+
esc_html_e( 'Search finished.', 'wp-recipe-maker' );
|
28 |
+
echo '<br/>';
|
29 |
+
printf( esc_html( _n( '%d recipe found', '%d recipes found', $search_result['recipes'], 'wp-recipe-maker' ) ), intval( $search_result['recipes'] ) );
|
30 |
+
echo '<br/>';
|
31 |
+
?>
|
32 |
+
<a href="<?php echo esc_url( add_query_arg( array( 'from' => $uid, 'p' => 0 ), admin_url( 'admin.php?page=wprm_import' ) ) ); ?>"><?php esc_html_e( 'Explore import options', 'wp-recipe-maker' ); ?></a>
|
33 |
+
<?php
|
34 |
+
} else {
|
35 |
+
esc_html_e( 'Still searching, keep this page open.', 'wp-recipe-maker' );
|
36 |
+
echo '<br/>';
|
37 |
+
printf( esc_html( _n( '%d recipe found', '%d recipes found', $search_result['recipes'], 'wp-recipe-maker' ) ), intval( $search_result['recipes'] ) );
|
38 |
+
?>
|
39 |
+
<script>
|
40 |
+
window.location = '<?php echo add_query_arg( array( 'from' => $uid, 'p' => ($page + 1) ), admin_url( 'admin.php?page=wprm_import_search' ) ); ?>';
|
41 |
+
</script>
|
42 |
+
<?php
|
43 |
+
}
|
44 |
+
}?>
|
45 |
+
</div>
|
templates/admin/modal/tabs/recipe-details.php
CHANGED
@@ -69,26 +69,17 @@
|
|
69 |
<label for="wprm-recipe-total-time"><?php esc_html_e( 'Total Time', 'wp-recipe-maker' ); ?></label>
|
70 |
<input type="number" id="wprm-recipe-total-time" class="wprm-recipe-time" placeholder="30" min="0" /> <?php esc_html_e( 'minutes', 'wp-recipe-maker' ); ?>
|
71 |
</div>
|
72 |
-
|
73 |
-
|
74 |
-
<select id="wprm-recipe-tag-course" class="wprm-recipe-tags" multiple>
|
75 |
-
<?php
|
76 |
-
$terms = get_terms( array(
|
77 |
-
'taxonomy' => 'wprm_course',
|
78 |
-
'hide_empty' => false,
|
79 |
-
) );
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
</div><div class="wprm-recipe-form-container wprm-recipe-form-container-halfs">
|
87 |
-
<label for="wprm-recipe-tag-cuisine"><?php esc_html_e( 'Cuisine', 'wp-recipe-maker' ); ?></label>
|
88 |
-
<select id="wprm-recipe-tag-cuisine" class="wprm-recipe-tags" multiple>
|
89 |
<?php
|
90 |
$terms = get_terms( array(
|
91 |
-
'taxonomy' =>
|
92 |
'hide_empty' => false,
|
93 |
) );
|
94 |
|
@@ -97,5 +88,5 @@
|
|
97 |
}
|
98 |
?>
|
99 |
</select>
|
100 |
-
</div
|
101 |
</div>
|
69 |
<label for="wprm-recipe-total-time"><?php esc_html_e( 'Total Time', 'wp-recipe-maker' ); ?></label>
|
70 |
<input type="number" id="wprm-recipe-total-time" class="wprm-recipe-time" placeholder="30" min="0" /> <?php esc_html_e( 'minutes', 'wp-recipe-maker' ); ?>
|
71 |
</div>
|
72 |
+
<?php
|
73 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
+
foreach ( $taxonomies as $taxonomy => $options ) :
|
76 |
+
$key = substr( $taxonomy, 5 );
|
77 |
+
?><div class="wprm-recipe-form-container wprm-recipe-form-container-halfs">
|
78 |
+
<label for="wprm-recipe-tag-<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $options['singular_name'] ); ?></label>
|
79 |
+
<select id="wprm-recipe-tag-<?php echo esc_attr( $key ); ?>" class="wprm-recipe-tags" data-key="<?php echo esc_attr( $key ); ?>" multiple>
|
|
|
|
|
|
|
80 |
<?php
|
81 |
$terms = get_terms( array(
|
82 |
+
'taxonomy' => $taxonomy,
|
83 |
'hide_empty' => false,
|
84 |
) );
|
85 |
|
88 |
}
|
89 |
?>
|
90 |
</select>
|
91 |
+
</div><?php endforeach; // Taxonomies. ?>
|
92 |
</div>
|
templates/admin/settings.php
CHANGED
@@ -14,6 +14,7 @@ $sub = isset( $_GET['sub'] ) ? sanitize_key( wp_unslash( $_GET['sub'] ) ) : '';
|
|
14 |
|
15 |
$tabs = apply_filters( 'wprm_settings_tabs', array(
|
16 |
'appearance' => __( 'Appearance', 'wp-recipe-maker' ),
|
|
|
17 |
'features' => __( 'Features', 'wp-recipe-maker' ),
|
18 |
) );
|
19 |
|
14 |
|
15 |
$tabs = apply_filters( 'wprm_settings_tabs', array(
|
16 |
'appearance' => __( 'Appearance', 'wp-recipe-maker' ),
|
17 |
+
'labels' => __( 'Labels', 'wp-recipe-maker' ),
|
18 |
'features' => __( 'Features', 'wp-recipe-maker' ),
|
19 |
) );
|
20 |
|
templates/admin/settings/appearance.php
CHANGED
@@ -14,6 +14,130 @@
|
|
14 |
<form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
|
15 |
<input type="hidden" name="action" value="wprm_settings_appearance">
|
16 |
<?php wp_nonce_field( 'wprm_settings', 'wprm_settings', false ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
<h2 class="title"><?php esc_html_e( 'Recipe Template', 'wp-recipe-maker' ); ?></h2>
|
18 |
<p>
|
19 |
<?php esc_html_e( 'Change the look of recipes on your website.', 'wp-recipe-maker' ); ?>
|
14 |
<form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
|
15 |
<input type="hidden" name="action" value="wprm_settings_appearance">
|
16 |
<?php wp_nonce_field( 'wprm_settings', 'wprm_settings', false ); ?>
|
17 |
+
<h2 class="title"><?php esc_html_e( 'Recipe Fields', 'wp-recipe-maker' ); ?></h2>
|
18 |
+
<table class="form-table">
|
19 |
+
<tbody>
|
20 |
+
<tr>
|
21 |
+
<th scope="row">
|
22 |
+
<?php esc_html_e( 'Recipe Image', 'wp-recipe-maker' ); ?>
|
23 |
+
</th>
|
24 |
+
<td>
|
25 |
+
<label for="recipe_image_use_featured">
|
26 |
+
<?php $checked = WPRM_Settings::get( 'recipe_image_use_featured' ) ? ' checked="checked"' : ''; ?>
|
27 |
+
<input name="recipe_image_use_featured" type="checkbox" id="recipe_image_use_featured"<?php echo esc_html( $checked ); ?> />
|
28 |
+
<?php esc_html_e( 'Use featured image of parent post if no recipe image is set', 'wp-recipe-maker' ); ?>
|
29 |
+
</label>
|
30 |
+
</td>
|
31 |
+
</tr>
|
32 |
+
<tr>
|
33 |
+
<th scope="row">
|
34 |
+
<?php esc_html_e( 'Nutrition Label', 'wp-recipe-maker' ); ?>
|
35 |
+
</th>
|
36 |
+
<td>
|
37 |
+
<label for="show_nutrition_label">
|
38 |
+
<?php $checked = WPRM_Settings::get( 'show_nutrition_label' ) ? ' checked="checked"' : ''; ?>
|
39 |
+
<input name="show_nutrition_label" type="checkbox" id="show_nutrition_label"<?php echo esc_html( $checked ); ?> />
|
40 |
+
<?php esc_html_e( 'Display in recipe template', 'wp-recipe-maker' ); ?>
|
41 |
+
</label>
|
42 |
+
<p class="description">
|
43 |
+
<?php if ( ! WPRM_Addons::is_active( 'premium' ) ) : ?>
|
44 |
+
<?php esc_html_e( 'Only available in', 'wp-recipe-maker' ); ?> <a href="https://bootstrapped.ventures/wp-recipe-maker/get-the-plugin/" target="_blank">WP Recipe Maker Premium</a>.
|
45 |
+
<?php else : ?>
|
46 |
+
<?php esc_html_e( 'Display the nutrition label at its default location in the recipe template.', 'wp-recipe-maker' ); ?>
|
47 |
+
<?php endif; ?>
|
48 |
+
</p>
|
49 |
+
</td>
|
50 |
+
</tr>
|
51 |
+
</tbody>
|
52 |
+
</table>
|
53 |
+
<h2 class="title"><?php esc_html_e( 'Recipe Template Options', 'wp-recipe-maker' ); ?></h2>
|
54 |
+
<p>
|
55 |
+
<?php esc_html_e( 'Note: not all options will affect every recipe template.', 'wp-recipe-maker' ); ?>
|
56 |
+
</p>
|
57 |
+
<table class="form-table">
|
58 |
+
<tbody>
|
59 |
+
<tr>
|
60 |
+
<th scope="row">
|
61 |
+
<label for="template_color_background"><?php esc_html_e( 'Background Color', 'wp-recipe-maker' ); ?></label>
|
62 |
+
</th>
|
63 |
+
<td>
|
64 |
+
<input name="template_color_background" type="text" id="template_color_background" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_background' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_background' ) ); ?>" class="wprm-color">
|
65 |
+
</td>
|
66 |
+
</tr>
|
67 |
+
<tr>
|
68 |
+
<th scope="row">
|
69 |
+
<label for="template_color_border"><?php esc_html_e( 'Border Color', 'wp-recipe-maker' ); ?></label>
|
70 |
+
</th>
|
71 |
+
<td>
|
72 |
+
<input name="template_color_border" type="text" id="template_color_border" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_border' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_border' ) ); ?>" class="wprm-color">
|
73 |
+
</td>
|
74 |
+
</tr>
|
75 |
+
<tr>
|
76 |
+
<th scope="row">
|
77 |
+
<label for="template_color_text"><?php esc_html_e( 'Text Color', 'wp-recipe-maker' ); ?></label>
|
78 |
+
</th>
|
79 |
+
<td>
|
80 |
+
<input name="template_color_text" type="text" id="template_color_text" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_text' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_text' ) ); ?>" class="wprm-color">
|
81 |
+
</td>
|
82 |
+
</tr>
|
83 |
+
<tr>
|
84 |
+
<th scope="row">
|
85 |
+
<label for="template_color_link"><?php esc_html_e( 'Link Color', 'wp-recipe-maker' ); ?></label>
|
86 |
+
</th>
|
87 |
+
<td>
|
88 |
+
<input name="template_color_link" type="text" id="template_color_link" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_link' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_link' ) ); ?>" class="wprm-color">
|
89 |
+
</td>
|
90 |
+
</tr>
|
91 |
+
<tr>
|
92 |
+
<th scope="row">
|
93 |
+
<label for="template_color_header"><?php esc_html_e( 'Header Color', 'wp-recipe-maker' ); ?></label>
|
94 |
+
</th>
|
95 |
+
<td>
|
96 |
+
<input name="template_color_header" type="text" id="template_color_header" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_header' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_header' ) ); ?>" class="wprm-color">
|
97 |
+
</td>
|
98 |
+
</tr>
|
99 |
+
<tr>
|
100 |
+
<th scope="row">
|
101 |
+
<label for="template_color_icon"><?php esc_html_e( 'Icon Color', 'wp-recipe-maker' ); ?></label>
|
102 |
+
</th>
|
103 |
+
<td>
|
104 |
+
<input name="template_color_icon" type="text" id="template_color_icon" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_icon' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_icon' ) ); ?>" class="wprm-color">
|
105 |
+
</td>
|
106 |
+
</tr>
|
107 |
+
<tr>
|
108 |
+
<th scope="row">
|
109 |
+
<label for="template_color_accent"><?php esc_html_e( 'Accent Color', 'wp-recipe-maker' ); ?></label>
|
110 |
+
</th>
|
111 |
+
<td>
|
112 |
+
<input name="template_color_accent" type="text" id="template_color_accent" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_accent' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_accent' ) ); ?>" class="wprm-color">
|
113 |
+
</td>
|
114 |
+
</tr>
|
115 |
+
<tr>
|
116 |
+
<th scope="row">
|
117 |
+
<label for="template_color_accent_text"><?php esc_html_e( 'Accent Text Color', 'wp-recipe-maker' ); ?></label>
|
118 |
+
</th>
|
119 |
+
<td>
|
120 |
+
<input name="template_color_accent_text" type="text" id="template_color_accent_text" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_accent_text' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_accent_text' ) ); ?>" class="wprm-color">
|
121 |
+
</td>
|
122 |
+
</tr>
|
123 |
+
<tr>
|
124 |
+
<th scope="row">
|
125 |
+
<label for="template_color_accent2"><?php esc_html_e( 'Accent 2 Color', 'wp-recipe-maker' ); ?></label>
|
126 |
+
</th>
|
127 |
+
<td>
|
128 |
+
<input name="template_color_accent2" type="text" id="template_color_accent2" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_accent2' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_accent2' ) ); ?>" class="wprm-color">
|
129 |
+
</td>
|
130 |
+
</tr>
|
131 |
+
<tr>
|
132 |
+
<th scope="row">
|
133 |
+
<label for="template_color_accent2_text"><?php esc_html_e( 'Accent 2 Text Color', 'wp-recipe-maker' ); ?></label>
|
134 |
+
</th>
|
135 |
+
<td>
|
136 |
+
<input name="template_color_accent2_text" type="text" id="template_color_accent2_text" value="<?php echo esc_attr( WPRM_Settings::get( 'template_color_accent2_text' ) ); ?>" data-default-color="<?php echo esc_attr( WPRM_Settings::get_default( 'template_color_accent2_text' ) ); ?>" class="wprm-color">
|
137 |
+
</td>
|
138 |
+
</tr>
|
139 |
+
</tbody>
|
140 |
+
</table>
|
141 |
<h2 class="title"><?php esc_html_e( 'Recipe Template', 'wp-recipe-maker' ); ?></h2>
|
142 |
<p>
|
143 |
<?php esc_html_e( 'Change the look of recipes on your website.', 'wp-recipe-maker' ); ?>
|
templates/admin/settings/labels.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for the labels settings sub page.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.10.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/templates/admin/settings
|
10 |
+
*/
|
11 |
+
|
12 |
+
?>
|
13 |
+
|
14 |
+
<form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
|
15 |
+
<input type="hidden" name="action" value="wprm_settings_labels">
|
16 |
+
<?php wp_nonce_field( 'wprm_settings', 'wprm_settings', false ); ?>
|
17 |
+
<h2 class="title"><?php esc_html_e( 'Labels', 'wp-recipe-maker' ); ?></h2>
|
18 |
+
<p>
|
19 |
+
<?php esc_html_e( 'Choose the features you want to use on your website.', 'wp-recipe-maker' ); ?>
|
20 |
+
</p>
|
21 |
+
<table class="form-table">
|
22 |
+
<tbody>
|
23 |
+
<?php
|
24 |
+
$labels = WPRM_Template_Helper::get_labels();
|
25 |
+
ksort( $labels );
|
26 |
+
|
27 |
+
foreach ( $labels as $uid => $text ) :
|
28 |
+
$name = ucwords( str_replace( '_', ' ', $uid ) );
|
29 |
+
$uid = 'wprm_label_' . $uid;
|
30 |
+
?>
|
31 |
+
<tr>
|
32 |
+
<th scope="row">
|
33 |
+
<label for="<?php echo esc_attr( $uid ); ?>"><?php echo esc_html( $name ); ?></label>
|
34 |
+
</th>
|
35 |
+
<td>
|
36 |
+
<input name="<?php echo esc_attr( $uid ); ?>" type="text" id="<?php echo esc_attr( $uid ); ?>" value="<?php echo esc_attr( $text ); ?>" class="regular-text">
|
37 |
+
</td>
|
38 |
+
</tr>
|
39 |
+
<?php endforeach; // Labels. ?>
|
40 |
+
</tbody>
|
41 |
+
</table>
|
42 |
+
<?php submit_button( __( 'Save Changes', 'wp-recipe-maker' ) ); ?>
|
43 |
+
</form>
|
templates/recipe/clean-print-with-image/clean-print-with-image.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wprm-recipe-clean-print-with-image{font-size:.9em}.wprm-recipe-clean-print-with-image .wprm-recipe-image{float:left;margin:0 15px 15px 0}.wprm-recipe-clean-print-with-image h2.wprm-recipe-name,.wprm-recipe-clean-print-with-image h3.wprm-recipe-header,.wprm-recipe-clean-print-with-image h4.wprm-recipe-group-name{font-variant:normal;text-transform:none;letter-spacing:normal;margin:0;padding:0}.wprm-recipe-clean-print-with-image h2.wprm-recipe-name{clear:none;font-size:1.8em}.wprm-recipe-clean-print-with-image .wprm-recipe-details-container,.wprm-recipe-clean-print-with-image .wprm-recipe-summary{margin-bottom:15px}.wprm-recipe-clean-print-with-image .wprm-recipe-details-name{display:inline-block;font-weight:700;min-width:130px}.wprm-recipe-clean-print-with-image .wprm-recipe-details-unit{font-size:.8em}.wprm-recipe-clean-print-with-image h3.wprm-recipe-header{margin-top:10px;font-size:1.2em}.wprm-recipe-clean-print-with-image ol,.wprm-recipe-clean-print-with-image ul{margin:0 0 8px}.wprm-recipe-clean-print-with-image ol li,.wprm-recipe-clean-print-with-image ul li{margin:0 0 0 32px}.wprm-recipe-clean-print-with-image h4.wprm-recipe-group-name{margin-top:5px!important;font-weight:300;font-size:1em}.wprm-recipe-clean-print-with-image .wprm-recipe-ingredient-notes{
|
1 |
+
.wprm-recipe-clean-print-with-image{font-size:.9em}.wprm-recipe-clean-print-with-image .wprm-recipe-image{float:left;margin:0 15px 15px 0}.wprm-recipe-clean-print-with-image h2.wprm-recipe-name,.wprm-recipe-clean-print-with-image h3.wprm-recipe-header,.wprm-recipe-clean-print-with-image h4.wprm-recipe-group-name{font-variant:normal;text-transform:none;letter-spacing:normal;margin:0;padding:0}.wprm-recipe-clean-print-with-image h2.wprm-recipe-name{clear:none;font-size:1.8em}.wprm-recipe-clean-print-with-image .wprm-recipe-details-container,.wprm-recipe-clean-print-with-image .wprm-recipe-summary{margin-bottom:15px}.wprm-recipe-clean-print-with-image .wprm-recipe-details-name{display:inline-block;font-weight:700;min-width:130px}.wprm-recipe-clean-print-with-image .wprm-recipe-details-unit{font-size:.8em}.wprm-recipe-clean-print-with-image h3.wprm-recipe-header{margin-top:10px;font-size:1.2em}.wprm-recipe-clean-print-with-image ol,.wprm-recipe-clean-print-with-image ul{margin:0 0 8px}.wprm-recipe-clean-print-with-image ol li,.wprm-recipe-clean-print-with-image ul li{margin:0 0 0 32px}.wprm-recipe-clean-print-with-image h4.wprm-recipe-group-name{margin-top:5px!important;font-weight:300;font-size:1em}.wprm-recipe-clean-print-with-image .wprm-recipe-ingredient-notes{opacity:.7}.wprm-recipe-clean-print-with-image .wprm-recipe-instructions .wprm-recipe-instruction{margin-bottom:5px}.wprm-recipe-clean-print-with-image .wprm-recipe-instruction-text p{margin:0 0 5px}.wprm-recipe-clean-print-with-image .wprm-recipe-instruction-text p:last-of-type{margin-bottom:0}.wprm-print .wprm-recipe-clean-print-with-image{max-width:750px;margin:0 auto}
|
templates/recipe/clean-print-with-image/clean-print-with-image.php
CHANGED
@@ -19,67 +19,58 @@
|
|
19 |
</div>
|
20 |
<div class="wprm-recipe-details-container wprm-recipe-tags-container">
|
21 |
<?php
|
22 |
-
$
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
<?php foreach ( $cuisines as $index => $cuisine ) {
|
43 |
-
if ( 0 !== $index ) {
|
44 |
-
echo ', ';
|
45 |
-
}
|
46 |
-
echo $cuisine->name;
|
47 |
-
} ?>
|
48 |
-
</span>
|
49 |
-
</div>
|
50 |
-
<?php endif; // Cuisine. ?>
|
51 |
</div>
|
52 |
<div class="wprm-recipe-details-container wprm-recipe-times-container">
|
53 |
<?php if ( $recipe->prep_time() ) : ?>
|
54 |
<div class="wprm-recipe-prep-time-container">
|
55 |
-
<span class="wprm-recipe-details-name wprm-recipe-prep-time-name"><?php
|
56 |
</div>
|
57 |
<?php endif; // Prep time. ?>
|
58 |
<?php if ( $recipe->cook_time() ) : ?>
|
59 |
<div class="wprm-recipe-cook-time-container">
|
60 |
-
<span class="wprm-recipe-details-name wprm-recipe-cook-time-name"><?php
|
61 |
</div>
|
62 |
<?php endif; // Cook time. ?>
|
63 |
<?php if ( $recipe->total_time() ) : ?>
|
64 |
<div class="wprm-recipe-total-time-container">
|
65 |
-
<span class="wprm-recipe-details-name wprm-recipe-total-time-name"><?php
|
66 |
</div>
|
67 |
<?php endif; // Total time. ?>
|
68 |
</div>
|
69 |
<div class="wprm-recipe-details-container">
|
70 |
<?php if ( $recipe->servings() ) : ?>
|
71 |
<div class="wprm-recipe-servings-container">
|
72 |
-
<span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php
|
73 |
</div>
|
74 |
<?php endif; // Servings. ?>
|
75 |
<?php if ( $recipe->calories() ) : ?>
|
76 |
<div class="wprm-recipe-calories-container">
|
77 |
-
<span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php
|
78 |
</div>
|
79 |
<?php endif; // Calories. ?>
|
80 |
<?php if ( $recipe->author() ) : ?>
|
81 |
<div class="wprm-recipe-author-container">
|
82 |
-
<span class="wprm-recipe-details-name wprm-recipe-author-name"><?php
|
83 |
</div>
|
84 |
<?php endif; // Author. ?>
|
85 |
</div>
|
@@ -88,7 +79,7 @@
|
|
88 |
$ingredients = $recipe->ingredients();
|
89 |
if ( count( $ingredients ) > 0 ) : ?>
|
90 |
<div class="wprm-recipe-ingredients-container">
|
91 |
-
<h3 class="wprm-recipe-header"><?php
|
92 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
93 |
<div class="wprm-recipe-ingredient-group">
|
94 |
<?php if ( $ingredient_group['name'] ) : ?>
|
@@ -118,7 +109,7 @@
|
|
118 |
$instructions = $recipe->instructions();
|
119 |
if ( count( $instructions ) > 0 ) : ?>
|
120 |
<div class="wprm-recipe-instructions-container">
|
121 |
-
<h3 class="wprm-recipe-header"><?php
|
122 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
123 |
<div class="wprm-recipe-instruction-group">
|
124 |
<?php if ( $instruction_group['name'] ) : ?>
|
@@ -139,8 +130,9 @@
|
|
139 |
<?php endif; // Instructions. ?>
|
140 |
<?php if ( $recipe->notes() ) : ?>
|
141 |
<div class="wprm-recipe-notes-container">
|
142 |
-
<h3 class="wprm-recipe-header"><?php
|
143 |
<?php echo $recipe->notes(); ?>
|
144 |
</div>
|
145 |
<?php endif; // Notes ?>
|
|
|
146 |
</div>
|
19 |
</div>
|
20 |
<div class="wprm-recipe-details-container wprm-recipe-tags-container">
|
21 |
<?php
|
22 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
23 |
+
|
24 |
+
foreach ( $taxonomies as $taxonomy => $options ) :
|
25 |
+
$key = substr( $taxonomy, 5 );
|
26 |
+
$terms = $recipe->tags( $key );
|
27 |
+
|
28 |
+
if ( count( $terms ) > 0 ) : ?>
|
29 |
+
<div class="wprm-recipe-<?php echo $key; ?>-container">
|
30 |
+
<span class="wprm-recipe-details-name wprm-recipe-<?php echo $key; ?>-name"><?php echo WPRM_Template_Helper::label( $key . '_tags', $options['singular_name'] ); ?></span>
|
31 |
+
<span class="wprm-recipe-<?php echo $key; ?>"<?php echo WPRM_Template_Helper::tags_meta( $key ); ?>>
|
32 |
+
<?php foreach ( $terms as $index => $term ) {
|
33 |
+
if ( 0 !== $index ) {
|
34 |
+
echo ', ';
|
35 |
+
}
|
36 |
+
echo $term->name;
|
37 |
+
} ?>
|
38 |
+
</span>
|
39 |
+
</div>
|
40 |
+
<?php endif; // Count.
|
41 |
+
endforeach; // Taxonomies. ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
</div>
|
43 |
<div class="wprm-recipe-details-container wprm-recipe-times-container">
|
44 |
<?php if ( $recipe->prep_time() ) : ?>
|
45 |
<div class="wprm-recipe-prep-time-container">
|
46 |
+
<span class="wprm-recipe-details-name wprm-recipe-prep-time-name"><?php echo WPRM_Template_Helper::label( 'prep_time' ); ?></span> <?php echo $recipe->prep_time_formatted(); ?>
|
47 |
</div>
|
48 |
<?php endif; // Prep time. ?>
|
49 |
<?php if ( $recipe->cook_time() ) : ?>
|
50 |
<div class="wprm-recipe-cook-time-container">
|
51 |
+
<span class="wprm-recipe-details-name wprm-recipe-cook-time-name"><?php echo WPRM_Template_Helper::label( 'cook_time' ); ?></span> <?php echo $recipe->cook_time_formatted(); ?>
|
52 |
</div>
|
53 |
<?php endif; // Cook time. ?>
|
54 |
<?php if ( $recipe->total_time() ) : ?>
|
55 |
<div class="wprm-recipe-total-time-container">
|
56 |
+
<span class="wprm-recipe-details-name wprm-recipe-total-time-name"><?php echo WPRM_Template_Helper::label( 'total_time' ); ?></span> <?php echo $recipe->total_time_formatted(); ?>
|
57 |
</div>
|
58 |
<?php endif; // Total time. ?>
|
59 |
</div>
|
60 |
<div class="wprm-recipe-details-container">
|
61 |
<?php if ( $recipe->servings() ) : ?>
|
62 |
<div class="wprm-recipe-servings-container">
|
63 |
+
<span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php echo WPRM_Template_Helper::label( 'servings' ); ?></span> <span class="wprm-recipe-details wprm-recipe-servings"><?php echo $recipe->servings(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-servings-unit"><?php echo $recipe->servings_unit(); ?></span>
|
64 |
</div>
|
65 |
<?php endif; // Servings. ?>
|
66 |
<?php if ( $recipe->calories() ) : ?>
|
67 |
<div class="wprm-recipe-calories-container">
|
68 |
+
<span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php echo WPRM_Template_Helper::label( 'calories' ); ?></span> <span class="wprm-recipe-details wprm-recipe-calories"><?php echo $recipe->calories(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-calories-unit"><?php _e( 'kcal', 'wp-recipe-maker' ); ?></span>
|
69 |
</div>
|
70 |
<?php endif; // Calories. ?>
|
71 |
<?php if ( $recipe->author() ) : ?>
|
72 |
<div class="wprm-recipe-author-container">
|
73 |
+
<span class="wprm-recipe-details-name wprm-recipe-author-name"><?php echo WPRM_Template_Helper::label( 'author' ); ?></span> <span class="wprm-recipe-details wprm-recipe-author"><?php echo $recipe->author(); ?></span>
|
74 |
</div>
|
75 |
<?php endif; // Author. ?>
|
76 |
</div>
|
79 |
$ingredients = $recipe->ingredients();
|
80 |
if ( count( $ingredients ) > 0 ) : ?>
|
81 |
<div class="wprm-recipe-ingredients-container">
|
82 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'ingredients' ); ?></h3>
|
83 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
84 |
<div class="wprm-recipe-ingredient-group">
|
85 |
<?php if ( $ingredient_group['name'] ) : ?>
|
109 |
$instructions = $recipe->instructions();
|
110 |
if ( count( $instructions ) > 0 ) : ?>
|
111 |
<div class="wprm-recipe-instructions-container">
|
112 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'instructions' ); ?></h3>
|
113 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
114 |
<div class="wprm-recipe-instruction-group">
|
115 |
<?php if ( $instruction_group['name'] ) : ?>
|
130 |
<?php endif; // Instructions. ?>
|
131 |
<?php if ( $recipe->notes() ) : ?>
|
132 |
<div class="wprm-recipe-notes-container">
|
133 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'notes' ); ?></h3>
|
134 |
<?php echo $recipe->notes(); ?>
|
135 |
</div>
|
136 |
<?php endif; // Notes ?>
|
137 |
+
<?php echo WPRM_Template_Helper::nutrition_label(); ?>
|
138 |
</div>
|
templates/recipe/clean-print-with-image/clean-print-with-image.scss
CHANGED
@@ -57,7 +57,7 @@
|
|
57 |
}
|
58 |
|
59 |
.wprm-recipe-ingredient-notes {
|
60 |
-
|
61 |
}
|
62 |
|
63 |
.wprm-recipe-instructions {
|
57 |
}
|
58 |
|
59 |
.wprm-recipe-ingredient-notes {
|
60 |
+
opacity: 0.7;
|
61 |
}
|
62 |
|
63 |
.wprm-recipe-instructions {
|
templates/recipe/clean-print/clean-print.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wprm-recipe-clean-print{font-size:.9em}.wprm-recipe-clean-print h2.wprm-recipe-name,.wprm-recipe-clean-print h3.wprm-recipe-header,.wprm-recipe-clean-print h4.wprm-recipe-group-name{font-variant:normal;text-transform:none;letter-spacing:normal;margin:0;padding:0}.wprm-recipe-clean-print h2.wprm-recipe-name{clear:none;font-size:1.8em}.wprm-recipe-clean-print .wprm-recipe-details-container,.wprm-recipe-clean-print .wprm-recipe-summary{margin-bottom:15px}.wprm-recipe-clean-print .wprm-recipe-details-name{display:inline-block;font-weight:700;min-width:130px}.wprm-recipe-clean-print .wprm-recipe-details-unit{font-size:.8em}.wprm-recipe-clean-print h3.wprm-recipe-header{margin-top:10px;font-size:1.2em}.wprm-recipe-clean-print ol,.wprm-recipe-clean-print ul{margin:0 0 8px}.wprm-recipe-clean-print ol li,.wprm-recipe-clean-print ul li{margin:0 0 0 32px}.wprm-recipe-clean-print h4.wprm-recipe-group-name{margin-top:5px!important;font-weight:300;font-size:1em}.wprm-recipe-clean-print .wprm-recipe-ingredient-notes{
|
1 |
+
.wprm-recipe-clean-print{font-size:.9em}.wprm-recipe-clean-print h2.wprm-recipe-name,.wprm-recipe-clean-print h3.wprm-recipe-header,.wprm-recipe-clean-print h4.wprm-recipe-group-name{font-variant:normal;text-transform:none;letter-spacing:normal;margin:0;padding:0}.wprm-recipe-clean-print h2.wprm-recipe-name{clear:none;font-size:1.8em}.wprm-recipe-clean-print .wprm-recipe-details-container,.wprm-recipe-clean-print .wprm-recipe-summary{margin-bottom:15px}.wprm-recipe-clean-print .wprm-recipe-details-name{display:inline-block;font-weight:700;min-width:130px}.wprm-recipe-clean-print .wprm-recipe-details-unit{font-size:.8em}.wprm-recipe-clean-print h3.wprm-recipe-header{margin-top:10px;font-size:1.2em}.wprm-recipe-clean-print ol,.wprm-recipe-clean-print ul{margin:0 0 8px}.wprm-recipe-clean-print ol li,.wprm-recipe-clean-print ul li{margin:0 0 0 32px}.wprm-recipe-clean-print h4.wprm-recipe-group-name{margin-top:5px!important;font-weight:300;font-size:1em}.wprm-recipe-clean-print .wprm-recipe-ingredient-notes{opacity:.7}.wprm-recipe-clean-print .wprm-recipe-instructions .wprm-recipe-instruction{margin-bottom:5px}.wprm-recipe-clean-print .wprm-recipe-instruction-text p{margin:0 0 5px}.wprm-recipe-clean-print .wprm-recipe-instruction-text p:last-of-type{margin-bottom:0}.wprm-print .wprm-recipe-clean-print{max-width:750px;margin:0 auto}
|
templates/recipe/clean-print/clean-print.php
CHANGED
@@ -18,67 +18,58 @@
|
|
18 |
</div>
|
19 |
<div class="wprm-recipe-details-container wprm-recipe-tags-container">
|
20 |
<?php
|
21 |
-
$
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
<?php foreach ( $cuisines as $index => $cuisine ) {
|
42 |
-
if ( 0 !== $index ) {
|
43 |
-
echo ', ';
|
44 |
-
}
|
45 |
-
echo $cuisine->name;
|
46 |
-
} ?>
|
47 |
-
</span>
|
48 |
-
</div>
|
49 |
-
<?php endif; // Cuisine. ?>
|
50 |
</div>
|
51 |
<div class="wprm-recipe-details-container wprm-recipe-times-container">
|
52 |
<?php if ( $recipe->prep_time() ) : ?>
|
53 |
<div class="wprm-recipe-prep-time-container">
|
54 |
-
<span class="wprm-recipe-details-name wprm-recipe-prep-time-name"><?php
|
55 |
</div>
|
56 |
<?php endif; // Prep time. ?>
|
57 |
<?php if ( $recipe->cook_time() ) : ?>
|
58 |
<div class="wprm-recipe-cook-time-container">
|
59 |
-
<span class="wprm-recipe-details-name wprm-recipe-cook-time-name"><?php
|
60 |
</div>
|
61 |
<?php endif; // Cook time. ?>
|
62 |
<?php if ( $recipe->total_time() ) : ?>
|
63 |
<div class="wprm-recipe-total-time-container">
|
64 |
-
<span class="wprm-recipe-details-name wprm-recipe-total-time-name"><?php
|
65 |
</div>
|
66 |
<?php endif; // Total time. ?>
|
67 |
</div>
|
68 |
<div class="wprm-recipe-details-container">
|
69 |
<?php if ( $recipe->servings() ) : ?>
|
70 |
<div class="wprm-recipe-servings-container">
|
71 |
-
<span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php
|
72 |
</div>
|
73 |
<?php endif; // Servings. ?>
|
74 |
<?php if ( $recipe->calories() ) : ?>
|
75 |
<div class="wprm-recipe-calories-container">
|
76 |
-
<span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php
|
77 |
</div>
|
78 |
<?php endif; // Calories. ?>
|
79 |
<?php if ( $recipe->author() ) : ?>
|
80 |
<div class="wprm-recipe-author-container">
|
81 |
-
<span class="wprm-recipe-details-name wprm-recipe-author-name"><?php
|
82 |
</div>
|
83 |
<?php endif; // Author. ?>
|
84 |
</div>
|
@@ -87,7 +78,7 @@
|
|
87 |
$ingredients = $recipe->ingredients();
|
88 |
if ( count( $ingredients ) > 0 ) : ?>
|
89 |
<div class="wprm-recipe-ingredients-container">
|
90 |
-
<h3 class="wprm-recipe-header"><?php
|
91 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
92 |
<div class="wprm-recipe-ingredient-group">
|
93 |
<?php if ( $ingredient_group['name'] ) : ?>
|
@@ -117,7 +108,7 @@
|
|
117 |
$instructions = $recipe->instructions();
|
118 |
if ( count( $instructions ) > 0 ) : ?>
|
119 |
<div class="wprm-recipe-instructions-container">
|
120 |
-
<h3 class="wprm-recipe-header"><?php
|
121 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
122 |
<div class="wprm-recipe-instruction-group">
|
123 |
<?php if ( $instruction_group['name'] ) : ?>
|
@@ -138,8 +129,9 @@
|
|
138 |
<?php endif; // Instructions. ?>
|
139 |
<?php if ( $recipe->notes() ) : ?>
|
140 |
<div class="wprm-recipe-notes-container">
|
141 |
-
<h3 class="wprm-recipe-header"><?php
|
142 |
<?php echo $recipe->notes(); ?>
|
143 |
</div>
|
144 |
<?php endif; // Notes ?>
|
|
|
145 |
</div>
|
18 |
</div>
|
19 |
<div class="wprm-recipe-details-container wprm-recipe-tags-container">
|
20 |
<?php
|
21 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
22 |
+
|
23 |
+
foreach ( $taxonomies as $taxonomy => $options ) :
|
24 |
+
$key = substr( $taxonomy, 5 );
|
25 |
+
$terms = $recipe->tags( $key );
|
26 |
+
|
27 |
+
if ( count( $terms ) > 0 ) : ?>
|
28 |
+
<div class="wprm-recipe-<?php echo $key; ?>-container">
|
29 |
+
<span class="wprm-recipe-details-name wprm-recipe-<?php echo $key; ?>-name"><?php echo WPRM_Template_Helper::label( $key . '_tags', $options['singular_name'] ); ?></span>
|
30 |
+
<span class="wprm-recipe-<?php echo $key; ?>"<?php echo WPRM_Template_Helper::tags_meta( $key ); ?>>
|
31 |
+
<?php foreach ( $terms as $index => $term ) {
|
32 |
+
if ( 0 !== $index ) {
|
33 |
+
echo ', ';
|
34 |
+
}
|
35 |
+
echo $term->name;
|
36 |
+
} ?>
|
37 |
+
</span>
|
38 |
+
</div>
|
39 |
+
<?php endif; // Count.
|
40 |
+
endforeach; // Taxonomies. ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
</div>
|
42 |
<div class="wprm-recipe-details-container wprm-recipe-times-container">
|
43 |
<?php if ( $recipe->prep_time() ) : ?>
|
44 |
<div class="wprm-recipe-prep-time-container">
|
45 |
+
<span class="wprm-recipe-details-name wprm-recipe-prep-time-name"><?php echo WPRM_Template_Helper::label( 'prep_time' ); ?></span> <?php echo $recipe->prep_time_formatted(); ?>
|
46 |
</div>
|
47 |
<?php endif; // Prep time. ?>
|
48 |
<?php if ( $recipe->cook_time() ) : ?>
|
49 |
<div class="wprm-recipe-cook-time-container">
|
50 |
+
<span class="wprm-recipe-details-name wprm-recipe-cook-time-name"><?php echo WPRM_Template_Helper::label( 'cook_time' ); ?></span> <?php echo $recipe->cook_time_formatted(); ?>
|
51 |
</div>
|
52 |
<?php endif; // Cook time. ?>
|
53 |
<?php if ( $recipe->total_time() ) : ?>
|
54 |
<div class="wprm-recipe-total-time-container">
|
55 |
+
<span class="wprm-recipe-details-name wprm-recipe-total-time-name"><?php echo WPRM_Template_Helper::label( 'total_time' ); ?></span> <?php echo $recipe->total_time_formatted(); ?>
|
56 |
</div>
|
57 |
<?php endif; // Total time. ?>
|
58 |
</div>
|
59 |
<div class="wprm-recipe-details-container">
|
60 |
<?php if ( $recipe->servings() ) : ?>
|
61 |
<div class="wprm-recipe-servings-container">
|
62 |
+
<span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php echo WPRM_Template_Helper::label( 'servings' ); ?></span> <span class="wprm-recipe-details wprm-recipe-servings"><?php echo $recipe->servings(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-servings-unit"><?php echo $recipe->servings_unit(); ?></span>
|
63 |
</div>
|
64 |
<?php endif; // Servings. ?>
|
65 |
<?php if ( $recipe->calories() ) : ?>
|
66 |
<div class="wprm-recipe-calories-container">
|
67 |
+
<span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php echo WPRM_Template_Helper::label( 'calories' ); ?></span> <span class="wprm-recipe-details wprm-recipe-calories"><?php echo $recipe->calories(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-calories-unit"><?php _e( 'kcal', 'wp-recipe-maker' ); ?></span>
|
68 |
</div>
|
69 |
<?php endif; // Calories. ?>
|
70 |
<?php if ( $recipe->author() ) : ?>
|
71 |
<div class="wprm-recipe-author-container">
|
72 |
+
<span class="wprm-recipe-details-name wprm-recipe-author-name"><?php echo WPRM_Template_Helper::label( 'author' ); ?></span> <span class="wprm-recipe-details wprm-recipe-author"><?php echo $recipe->author(); ?></span>
|
73 |
</div>
|
74 |
<?php endif; // Author. ?>
|
75 |
</div>
|
78 |
$ingredients = $recipe->ingredients();
|
79 |
if ( count( $ingredients ) > 0 ) : ?>
|
80 |
<div class="wprm-recipe-ingredients-container">
|
81 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'ingredients' ); ?></h3>
|
82 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
83 |
<div class="wprm-recipe-ingredient-group">
|
84 |
<?php if ( $ingredient_group['name'] ) : ?>
|
108 |
$instructions = $recipe->instructions();
|
109 |
if ( count( $instructions ) > 0 ) : ?>
|
110 |
<div class="wprm-recipe-instructions-container">
|
111 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'instructions' ); ?></h3>
|
112 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
113 |
<div class="wprm-recipe-instruction-group">
|
114 |
<?php if ( $instruction_group['name'] ) : ?>
|
129 |
<?php endif; // Instructions. ?>
|
130 |
<?php if ( $recipe->notes() ) : ?>
|
131 |
<div class="wprm-recipe-notes-container">
|
132 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'notes' ); ?></h3>
|
133 |
<?php echo $recipe->notes(); ?>
|
134 |
</div>
|
135 |
<?php endif; // Notes ?>
|
136 |
+
<?php echo WPRM_Template_Helper::nutrition_label(); ?>
|
137 |
</div>
|
templates/recipe/clean-print/clean-print.scss
CHANGED
@@ -52,7 +52,7 @@
|
|
52 |
}
|
53 |
|
54 |
.wprm-recipe-ingredient-notes {
|
55 |
-
|
56 |
}
|
57 |
|
58 |
.wprm-recipe-instructions {
|
52 |
}
|
53 |
|
54 |
.wprm-recipe-ingredient-notes {
|
55 |
+
opacity: 0.7;
|
56 |
}
|
57 |
|
58 |
.wprm-recipe-instructions {
|
templates/recipe/simple/simple.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wprm-recipe-simple{border-top:1px solid #aaa;background-color:#fafafa;padding:10px;margin:20px 0;font-size:.9em}.wprm-recipe-simple li,.wprm-recipe-simple p{font-size:1em}.wprm-recipe-simple h2.wprm-recipe-name,.wprm-recipe-simple h3.wprm-recipe-header,.wprm-recipe-simple h4.wprm-recipe-group-name{font-variant:normal;text-transform:none;letter-spacing:normal;margin:0;padding:0}.wprm-recipe-simple .wprm-recipe-image-container{float:right;text-align:center;margin:0 0 10px 10px}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-image{margin:0}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-rating{margin-bottom:5px}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-rating svg{vertical-align:middle;width:16px;height:16px;margin:0}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-rating .wprm-recipe-rating-details{font-size:.8em}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-print{font-size:.9em;cursor:pointer}.wprm-recipe-simple h2.wprm-recipe-name{clear:none;font-size:1.8em}.wprm-recipe-simple .wprm-recipe-details-container,.wprm-recipe-simple .wprm-recipe-summary{margin-bottom:15px}.wprm-recipe-simple .wprm-recipe-details-icon svg{vertical-align:middle;width:16px;height:16px}.wprm-recipe-simple .wprm-recipe-details-name{display:inline-block;font-weight:700;min-width:130px}.wprm-recipe-simple .wprm-recipe-details-unit{font-size:.8em}.wprm-recipe-simple h3.wprm-recipe-header{margin-top:10px;font-size:1.2em}.wprm-recipe-simple ol,.wprm-recipe-simple ul{margin:0 0 8px}.wprm-recipe-simple ol li,.wprm-recipe-simple ul li{margin:0 0 0 32px}.wprm-recipe-simple h4.wprm-recipe-group-name{margin-top:5px!important;font-weight:300;font-size:1em}.wprm-recipe-simple .wprm-recipe-ingredient-notes{
|
1 |
+
.wprm-recipe-simple{border-top:1px solid #aaa;background-color:#fafafa;padding:10px;margin:20px 0;font-size:.9em}.wprm-recipe-simple li,.wprm-recipe-simple p{font-size:1em}.wprm-recipe-simple h2.wprm-recipe-name,.wprm-recipe-simple h3.wprm-recipe-header,.wprm-recipe-simple h4.wprm-recipe-group-name{font-variant:normal;text-transform:none;letter-spacing:normal;margin:0;padding:0}.wprm-recipe-simple .wprm-recipe-image-container{float:right;text-align:center;margin:0 0 10px 10px}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-image{margin:0}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-rating{margin-bottom:5px}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-rating svg{vertical-align:middle;width:16px;height:16px;margin:0}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-rating .wprm-recipe-rating-details{font-size:.8em}.wprm-recipe-simple .wprm-recipe-image-container .wprm-recipe-print{font-size:.9em;cursor:pointer}.wprm-recipe-simple h2.wprm-recipe-name{clear:none;font-size:1.8em}.wprm-recipe-simple .wprm-recipe-details-container,.wprm-recipe-simple .wprm-recipe-summary{margin-bottom:15px}.wprm-recipe-simple .wprm-recipe-details-icon svg{vertical-align:middle;width:16px;height:16px}.wprm-recipe-simple .wprm-recipe-details-name{display:inline-block;font-weight:700;min-width:130px}.wprm-recipe-simple .wprm-recipe-details-unit{font-size:.8em}.wprm-recipe-simple h3.wprm-recipe-header{margin-top:10px;font-size:1.2em}.wprm-recipe-simple ol,.wprm-recipe-simple ul{margin:0 0 8px}.wprm-recipe-simple ol li,.wprm-recipe-simple ul li{margin:0 0 0 32px}.wprm-recipe-simple h4.wprm-recipe-group-name{margin-top:5px!important;font-weight:300;font-size:1em}.wprm-recipe-simple .wprm-recipe-ingredient-notes{opacity:.7}.wprm-recipe-simple .wprm-recipe-instructions .wprm-recipe-instruction{margin-bottom:5px}.wprm-recipe-simple .wprm-recipe-instruction-text p{margin:0 0 5px}.wprm-recipe-simple .wprm-recipe-instruction-text p:last-of-type{margin-bottom:0}.wprm-recipe-simple .wprm-recipe-instruction-image{margin:5px 0 15px}.wprm-print .wprm-recipe-simple{max-width:750px;margin:0 auto}.wprm-print .wprm-recipe-print{display:none}@media only screen and (max-width:640px){.wprm-recipe-simple .wprm-recipe-image-container{float:none}.wprm-recipe-simple .wprm-recipe-details-name{min-width:0}}
|
templates/recipe/simple/simple.php
CHANGED
@@ -23,7 +23,7 @@
|
|
23 |
echo $recipe->rating_stars( true );
|
24 |
}
|
25 |
?>
|
26 |
-
<span class="wprm-recipe-print"><span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/printer.svg' ); ?></span> <?php
|
27 |
</div>
|
28 |
</div>
|
29 |
<h2 class="wprm-recipe-name" itemprop="name"><?php echo $recipe->name(); ?></h2>
|
@@ -32,70 +32,61 @@
|
|
32 |
</div>
|
33 |
<div class="wprm-recipe-details-container wprm-recipe-tags-container">
|
34 |
<?php
|
35 |
-
$
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
<?php foreach ( $cuisines as $index => $cuisine ) {
|
56 |
-
if ( 0 !== $index ) {
|
57 |
-
echo ', ';
|
58 |
-
}
|
59 |
-
echo $cuisine->name;
|
60 |
-
} ?>
|
61 |
-
</span>
|
62 |
-
</div>
|
63 |
-
<?php endif; // Cuisine. ?>
|
64 |
</div>
|
65 |
<div class="wprm-recipe-details-container wprm-recipe-times-container">
|
66 |
<?php if ( $recipe->prep_time() ) : ?>
|
67 |
<div class="wprm-recipe-prep-time-container">
|
68 |
<meta itemprop="prepTime" content="PT<?php echo $recipe->prep_time(); ?>M" />
|
69 |
-
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/knife.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-prep-time-name"><?php
|
70 |
</div>
|
71 |
<?php endif; // Prep time. ?>
|
72 |
<?php if ( $recipe->cook_time() ) : ?>
|
73 |
<div class="wprm-recipe-cook-time-container">
|
74 |
<meta itemprop="cookTime" content="PT<?php echo $recipe->cook_time(); ?>M" />
|
75 |
-
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/pan.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-cook-time-name"><?php
|
76 |
</div>
|
77 |
<?php endif; // Cook time. ?>
|
78 |
<?php if ( $recipe->total_time() ) : ?>
|
79 |
<div class="wprm-recipe-total-time-container">
|
80 |
<meta itemprop="totalTime" content="PT<?php echo $recipe->total_time(); ?>M" />
|
81 |
-
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/clock.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-total-time-name"><?php
|
82 |
</div>
|
83 |
<?php endif; // Total time. ?>
|
84 |
</div>
|
85 |
<div class="wprm-recipe-details-container">
|
86 |
<?php if ( $recipe->servings() ) : ?>
|
87 |
<div class="wprm-recipe-servings-container">
|
88 |
-
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/cutlery.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php
|
89 |
</div>
|
90 |
<?php endif; // Servings. ?>
|
91 |
<?php if ( $recipe->calories() ) : ?>
|
92 |
<div class="wprm-recipe-calories-container" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation">
|
93 |
-
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/battery.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php
|
94 |
</div>
|
95 |
<?php endif; // Calories. ?>
|
96 |
<?php if ( $recipe->author() ) : ?>
|
97 |
<div class="wprm-recipe-author-container">
|
98 |
-
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/chef-hat.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-author-name"><?php
|
99 |
</div>
|
100 |
<?php endif; // Author. ?>
|
101 |
</div>
|
@@ -104,7 +95,7 @@
|
|
104 |
$ingredients = $recipe->ingredients();
|
105 |
if ( count( $ingredients ) > 0 ) : ?>
|
106 |
<div class="wprm-recipe-ingredients-container">
|
107 |
-
<h3 class="wprm-recipe-header"><?php
|
108 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
109 |
<div class="wprm-recipe-ingredient-group">
|
110 |
<?php if ( $ingredient_group['name'] ) : ?>
|
@@ -134,7 +125,7 @@
|
|
134 |
$instructions = $recipe->instructions();
|
135 |
if ( count( $instructions ) > 0 ) : ?>
|
136 |
<div class="wprm-recipe-instructions-container">
|
137 |
-
<h3 class="wprm-recipe-header"><?php
|
138 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
139 |
<div class="wprm-recipe-instruction-group">
|
140 |
<?php if ( $instruction_group['name'] ) : ?>
|
@@ -158,8 +149,9 @@
|
|
158 |
<?php endif; // Instructions. ?>
|
159 |
<?php if ( $recipe->notes() ) : ?>
|
160 |
<div class="wprm-recipe-notes-container">
|
161 |
-
<h3 class="wprm-recipe-header"><?php
|
162 |
<?php echo $recipe->notes(); ?>
|
163 |
</div>
|
164 |
<?php endif; // Notes ?>
|
|
|
165 |
</div>
|
23 |
echo $recipe->rating_stars( true );
|
24 |
}
|
25 |
?>
|
26 |
+
<span class="wprm-recipe-print"><span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/printer.svg' ); ?></span> <?php echo WPRM_Template_Helper::label( 'print_button' ); ?></span>
|
27 |
</div>
|
28 |
</div>
|
29 |
<h2 class="wprm-recipe-name" itemprop="name"><?php echo $recipe->name(); ?></h2>
|
32 |
</div>
|
33 |
<div class="wprm-recipe-details-container wprm-recipe-tags-container">
|
34 |
<?php
|
35 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
36 |
+
|
37 |
+
foreach ( $taxonomies as $taxonomy => $options ) :
|
38 |
+
$key = substr( $taxonomy, 5 );
|
39 |
+
$terms = $recipe->tags( $key );
|
40 |
+
|
41 |
+
if ( count( $terms ) > 0 ) : ?>
|
42 |
+
<div class="wprm-recipe-<?php echo $key; ?>-container">
|
43 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/tag.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-<?php echo $key; ?>-name"><?php echo WPRM_Template_Helper::label( $key . '_tags', $options['singular_name'] ); ?></span>
|
44 |
+
<span class="wprm-recipe-<?php echo $key; ?>"<?php echo WPRM_Template_Helper::tags_meta( $key ); ?>>
|
45 |
+
<?php foreach ( $terms as $index => $term ) {
|
46 |
+
if ( 0 !== $index ) {
|
47 |
+
echo ', ';
|
48 |
+
}
|
49 |
+
echo $term->name;
|
50 |
+
} ?>
|
51 |
+
</span>
|
52 |
+
</div>
|
53 |
+
<?php endif; // Count.
|
54 |
+
endforeach; // Taxonomies. ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
</div>
|
56 |
<div class="wprm-recipe-details-container wprm-recipe-times-container">
|
57 |
<?php if ( $recipe->prep_time() ) : ?>
|
58 |
<div class="wprm-recipe-prep-time-container">
|
59 |
<meta itemprop="prepTime" content="PT<?php echo $recipe->prep_time(); ?>M" />
|
60 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/knife.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-prep-time-name"><?php echo WPRM_Template_Helper::label( 'prep_time' ); ?></span> <?php echo $recipe->prep_time_formatted(); ?>
|
61 |
</div>
|
62 |
<?php endif; // Prep time. ?>
|
63 |
<?php if ( $recipe->cook_time() ) : ?>
|
64 |
<div class="wprm-recipe-cook-time-container">
|
65 |
<meta itemprop="cookTime" content="PT<?php echo $recipe->cook_time(); ?>M" />
|
66 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/pan.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-cook-time-name"><?php echo WPRM_Template_Helper::label( 'cook_time' ); ?></span> <?php echo $recipe->cook_time_formatted(); ?>
|
67 |
</div>
|
68 |
<?php endif; // Cook time. ?>
|
69 |
<?php if ( $recipe->total_time() ) : ?>
|
70 |
<div class="wprm-recipe-total-time-container">
|
71 |
<meta itemprop="totalTime" content="PT<?php echo $recipe->total_time(); ?>M" />
|
72 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/clock.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-total-time-name"><?php echo WPRM_Template_Helper::label( 'total_time' ); ?></span> <?php echo $recipe->total_time_formatted(); ?>
|
73 |
</div>
|
74 |
<?php endif; // Total time. ?>
|
75 |
</div>
|
76 |
<div class="wprm-recipe-details-container">
|
77 |
<?php if ( $recipe->servings() ) : ?>
|
78 |
<div class="wprm-recipe-servings-container">
|
79 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/cutlery.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php echo WPRM_Template_Helper::label( 'servings' ); ?></span> <span itemprop="recipeYield"><span class="wprm-recipe-details wprm-recipe-servings"><?php echo $recipe->servings(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-servings-unit"><?php echo $recipe->servings_unit(); ?></span></span>
|
80 |
</div>
|
81 |
<?php endif; // Servings. ?>
|
82 |
<?php if ( $recipe->calories() ) : ?>
|
83 |
<div class="wprm-recipe-calories-container" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation">
|
84 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/battery.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php echo WPRM_Template_Helper::label( 'calories' ); ?></span> <span itemprop="calories"><span class="wprm-recipe-details wprm-recipe-calories"><?php echo $recipe->calories(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-calories-unit"><?php _e( 'kcal', 'wp-recipe-maker' ); ?></span></span>
|
85 |
</div>
|
86 |
<?php endif; // Calories. ?>
|
87 |
<?php if ( $recipe->author() ) : ?>
|
88 |
<div class="wprm-recipe-author-container">
|
89 |
+
<span class="wprm-recipe-details-icon"><?php include( WPRM_DIR . 'assets/icons/chef-hat.svg' ); ?></span> <span class="wprm-recipe-details-name wprm-recipe-author-name"><?php echo WPRM_Template_Helper::label( 'author' ); ?></span> <span class="wprm-recipe-details wprm-recipe-author"><?php echo $recipe->author(); ?></span>
|
90 |
</div>
|
91 |
<?php endif; // Author. ?>
|
92 |
</div>
|
95 |
$ingredients = $recipe->ingredients();
|
96 |
if ( count( $ingredients ) > 0 ) : ?>
|
97 |
<div class="wprm-recipe-ingredients-container">
|
98 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'ingredients' ); ?></h3>
|
99 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
100 |
<div class="wprm-recipe-ingredient-group">
|
101 |
<?php if ( $ingredient_group['name'] ) : ?>
|
125 |
$instructions = $recipe->instructions();
|
126 |
if ( count( $instructions ) > 0 ) : ?>
|
127 |
<div class="wprm-recipe-instructions-container">
|
128 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'instructions' ); ?></h3>
|
129 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
130 |
<div class="wprm-recipe-instruction-group">
|
131 |
<?php if ( $instruction_group['name'] ) : ?>
|
149 |
<?php endif; // Instructions. ?>
|
150 |
<?php if ( $recipe->notes() ) : ?>
|
151 |
<div class="wprm-recipe-notes-container">
|
152 |
+
<h3 class="wprm-recipe-header"><?php echo WPRM_Template_Helper::label( 'notes' ); ?></h3>
|
153 |
<?php echo $recipe->notes(); ?>
|
154 |
</div>
|
155 |
<?php endif; // Notes ?>
|
156 |
+
<?php echo WPRM_Template_Helper::nutrition_label(); ?>
|
157 |
</div>
|
templates/recipe/simple/simple.scss
CHANGED
@@ -98,7 +98,7 @@
|
|
98 |
}
|
99 |
|
100 |
.wprm-recipe-ingredient-notes {
|
101 |
-
|
102 |
}
|
103 |
|
104 |
.wprm-recipe-instructions {
|
98 |
}
|
99 |
|
100 |
.wprm-recipe-ingredient-notes {
|
101 |
+
opacity: 0.7;
|
102 |
}
|
103 |
|
104 |
.wprm-recipe-instructions {
|
templates/recipe/tastefully-simple/tastefully-simple.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wprm-print .wprm-recipe-tastefully-simple,.wprm-recipe-container .wprm-recipe-tastefully-simple{font:12px Verdana,Arial,Geneva,sans-serif;border:1px dashed #666;
|
1 |
+
.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 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-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}.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-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}.wprm-print .wprm-recipe-print{display:none}@media only screen and (max-width:480px){.wprm-recipe-tastefully-simple .wprm-recipe-image-container{float:none;width:100%;max-width:none}}
|
templates/recipe/tastefully-simple/tastefully-simple.php
CHANGED
@@ -23,30 +23,30 @@
|
|
23 |
?>
|
24 |
<div class="wprm-recipe-image"><?php echo $recipe->image(); ?></div>
|
25 |
<div class="wprm-recipe-buttons">
|
26 |
-
<span class="wprm-recipe-print"><?php
|
27 |
</div>
|
28 |
</div>
|
29 |
-
<div class="wprm-recipe-name" itemprop="name"><?php echo $recipe->name(); ?></div>
|
30 |
<?php if ( $recipe->prep_time() || $recipe->prep_time() || $recipe->prep_time() ) : ?>
|
31 |
-
<div class="wprm-recipe-times-container">
|
32 |
<?php if ( $recipe->prep_time() ) : ?>
|
33 |
-
<div class="wprm-recipe-time-container">
|
34 |
<meta itemprop="prepTime" content="PT<?php echo $recipe->prep_time(); ?>M" />
|
35 |
-
<div class="wprm-recipe-time-header"><?php
|
36 |
<div class="wprm-recipe-time"><?php echo $recipe->prep_time_formatted( true ); ?></div>
|
37 |
</div>
|
38 |
<?php endif; // Prep time. ?>
|
39 |
<?php if ( $recipe->cook_time() ) : ?>
|
40 |
-
<div class="wprm-recipe-time-container">
|
41 |
<meta itemprop="cookTime" content="PT<?php echo $recipe->cook_time(); ?>M" />
|
42 |
-
<div class="wprm-recipe-time-header"><?php
|
43 |
<div class="wprm-recipe-time"><?php echo $recipe->cook_time_formatted( true ); ?></div>
|
44 |
</div>
|
45 |
<?php endif; // Cook time. ?>
|
46 |
<?php if ( $recipe->total_time() ) : ?>
|
47 |
-
<div class="wprm-recipe-time-container">
|
48 |
<meta itemprop="totalTime" content="PT<?php echo $recipe->total_time(); ?>M" />
|
49 |
-
<div class="wprm-recipe-time-header"><?php
|
50 |
<div class="wprm-recipe-time"><?php echo $recipe->total_time_formatted( true ); ?></div>
|
51 |
</div>
|
52 |
<?php endif; // Total time. ?>
|
@@ -58,48 +58,39 @@
|
|
58 |
</div>
|
59 |
<div class="wprm-recipe-details-container">
|
60 |
<?php
|
61 |
-
$
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
<?php foreach ( $cuisines as $index => $cuisine ) {
|
82 |
-
if ( 0 !== $index ) {
|
83 |
-
echo ', ';
|
84 |
-
}
|
85 |
-
echo $cuisine->name;
|
86 |
-
} ?>
|
87 |
-
</span>
|
88 |
-
</div>
|
89 |
-
<?php endif; // Cuisine. ?>
|
90 |
<?php if ( $recipe->servings() ) : ?>
|
91 |
<div class="wprm-recipe-servings-container">
|
92 |
-
<span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php
|
93 |
</div>
|
94 |
<?php endif; // Servings. ?>
|
95 |
<?php if ( $recipe->calories() ) : ?>
|
96 |
<div class="wprm-recipe-calories-container" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation">
|
97 |
-
<span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php
|
98 |
</div>
|
99 |
<?php endif; // Calories. ?>
|
100 |
<?php if ( $recipe->author() ) : ?>
|
101 |
<div class="wprm-recipe-author-container">
|
102 |
-
<span class="wprm-recipe-details-name wprm-recipe-author-name"><?php
|
103 |
</div>
|
104 |
<?php endif; // Author. ?>
|
105 |
</div>
|
@@ -108,7 +99,7 @@
|
|
108 |
$ingredients = $recipe->ingredients();
|
109 |
if ( count( $ingredients ) > 0 ) : ?>
|
110 |
<div class="wprm-recipe-ingredients-container">
|
111 |
-
<div class="wprm-recipe-header"><?php
|
112 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
113 |
<div class="wprm-recipe-ingredient-group">
|
114 |
<?php if ( $ingredient_group['name'] ) : ?>
|
@@ -138,7 +129,7 @@
|
|
138 |
$instructions = $recipe->instructions();
|
139 |
if ( count( $instructions ) > 0 ) : ?>
|
140 |
<div class="wprm-recipe-instructions-container">
|
141 |
-
<div class="wprm-recipe-header"><?php
|
142 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
143 |
<div class="wprm-recipe-instruction-group">
|
144 |
<?php if ( $instruction_group['name'] ) : ?>
|
@@ -162,8 +153,9 @@
|
|
162 |
<?php endif; // Instructions. ?>
|
163 |
<?php if ( $recipe->notes() ) : ?>
|
164 |
<div class="wprm-recipe-notes-container">
|
165 |
-
<div class="wprm-recipe-header"><?php
|
166 |
<?php echo $recipe->notes(); ?>
|
167 |
</div>
|
168 |
<?php endif; // Notes ?>
|
|
|
169 |
</div>
|
23 |
?>
|
24 |
<div class="wprm-recipe-image"><?php echo $recipe->image(); ?></div>
|
25 |
<div class="wprm-recipe-buttons">
|
26 |
+
<span class="wprm-recipe-print wprm-color-accent"><?php echo WPRM_Template_Helper::label( 'print_button' ); ?></span>
|
27 |
</div>
|
28 |
</div>
|
29 |
+
<div class="wprm-recipe-name wprm-color-header" itemprop="name"><?php echo $recipe->name(); ?></div>
|
30 |
<?php if ( $recipe->prep_time() || $recipe->prep_time() || $recipe->prep_time() ) : ?>
|
31 |
+
<div class="wprm-recipe-times-container wprm-color-border">
|
32 |
<?php if ( $recipe->prep_time() ) : ?>
|
33 |
+
<div class="wprm-recipe-time-container wprm-color-border">
|
34 |
<meta itemprop="prepTime" content="PT<?php echo $recipe->prep_time(); ?>M" />
|
35 |
+
<div class="wprm-recipe-time-header"><?php echo WPRM_Template_Helper::label( 'prep_time' ); ?></div>
|
36 |
<div class="wprm-recipe-time"><?php echo $recipe->prep_time_formatted( true ); ?></div>
|
37 |
</div>
|
38 |
<?php endif; // Prep time. ?>
|
39 |
<?php if ( $recipe->cook_time() ) : ?>
|
40 |
+
<div class="wprm-recipe-time-container wprm-color-border">
|
41 |
<meta itemprop="cookTime" content="PT<?php echo $recipe->cook_time(); ?>M" />
|
42 |
+
<div class="wprm-recipe-time-header"><?php echo WPRM_Template_Helper::label( 'cook_time' ); ?></div>
|
43 |
<div class="wprm-recipe-time"><?php echo $recipe->cook_time_formatted( true ); ?></div>
|
44 |
</div>
|
45 |
<?php endif; // Cook time. ?>
|
46 |
<?php if ( $recipe->total_time() ) : ?>
|
47 |
+
<div class="wprm-recipe-time-container wprm-color-border">
|
48 |
<meta itemprop="totalTime" content="PT<?php echo $recipe->total_time(); ?>M" />
|
49 |
+
<div class="wprm-recipe-time-header"><?php echo WPRM_Template_Helper::label( 'total_time' ); ?></div>
|
50 |
<div class="wprm-recipe-time"><?php echo $recipe->total_time_formatted( true ); ?></div>
|
51 |
</div>
|
52 |
<?php endif; // Total time. ?>
|
58 |
</div>
|
59 |
<div class="wprm-recipe-details-container">
|
60 |
<?php
|
61 |
+
$taxonomies = WPRM_Taxonomies::get_taxonomies();
|
62 |
+
|
63 |
+
foreach ( $taxonomies as $taxonomy => $options ) :
|
64 |
+
$key = substr( $taxonomy, 5 );
|
65 |
+
$terms = $recipe->tags( $key );
|
66 |
+
|
67 |
+
if ( count( $terms ) > 0 ) : ?>
|
68 |
+
<div class="wprm-recipe-<?php echo $key; ?>-container">
|
69 |
+
<span class="wprm-recipe-details-name wprm-recipe-<?php echo $key; ?>-name"><?php echo WPRM_Template_Helper::label( $key . '_tags', $options['singular_name'] ); ?>:</span>
|
70 |
+
<span class="wprm-recipe-<?php echo $key; ?>"<?php echo WPRM_Template_Helper::tags_meta( $key ); ?>>
|
71 |
+
<?php foreach ( $terms as $index => $term ) {
|
72 |
+
if ( 0 !== $index ) {
|
73 |
+
echo ', ';
|
74 |
+
}
|
75 |
+
echo $term->name;
|
76 |
+
} ?>
|
77 |
+
</span>
|
78 |
+
</div>
|
79 |
+
<?php endif; // Count.
|
80 |
+
endforeach; // Taxonomies. ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
<?php if ( $recipe->servings() ) : ?>
|
82 |
<div class="wprm-recipe-servings-container">
|
83 |
+
<span class="wprm-recipe-details-name wprm-recipe-servings-name"><?php echo WPRM_Template_Helper::label( 'servings' ); ?></span>: <span itemprop="recipeYield"><span class="wprm-recipe-details wprm-recipe-servings"><?php echo $recipe->servings(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-servings-unit"><?php echo $recipe->servings_unit(); ?></span></span>
|
84 |
</div>
|
85 |
<?php endif; // Servings. ?>
|
86 |
<?php if ( $recipe->calories() ) : ?>
|
87 |
<div class="wprm-recipe-calories-container" itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation">
|
88 |
+
<span class="wprm-recipe-details-name wprm-recipe-calories-name"><?php echo WPRM_Template_Helper::label( 'calories' ); ?></span>: <span itemprop="calories"><span class="wprm-recipe-details wprm-recipe-calories"><?php echo $recipe->calories(); ?></span> <span class="wprm-recipe-details-unit wprm-recipe-calories-unit"><?php _e( 'kcal', 'wp-recipe-maker' ); ?></span></span>
|
89 |
</div>
|
90 |
<?php endif; // Calories. ?>
|
91 |
<?php if ( $recipe->author() ) : ?>
|
92 |
<div class="wprm-recipe-author-container">
|
93 |
+
<span class="wprm-recipe-details-name wprm-recipe-author-name"><?php echo WPRM_Template_Helper::label( 'author' ); ?></span>: <span class="wprm-recipe-details wprm-recipe-author"><?php echo $recipe->author(); ?></span>
|
94 |
</div>
|
95 |
<?php endif; // Author. ?>
|
96 |
</div>
|
99 |
$ingredients = $recipe->ingredients();
|
100 |
if ( count( $ingredients ) > 0 ) : ?>
|
101 |
<div class="wprm-recipe-ingredients-container">
|
102 |
+
<div class="wprm-recipe-header wprm-color-header"><?php echo WPRM_Template_Helper::label( 'ingredients' ); ?></div>
|
103 |
<?php foreach ( $ingredients as $ingredient_group ) : ?>
|
104 |
<div class="wprm-recipe-ingredient-group">
|
105 |
<?php if ( $ingredient_group['name'] ) : ?>
|
129 |
$instructions = $recipe->instructions();
|
130 |
if ( count( $instructions ) > 0 ) : ?>
|
131 |
<div class="wprm-recipe-instructions-container">
|
132 |
+
<div class="wprm-recipe-header wprm-color-header"><?php echo WPRM_Template_Helper::label( 'instructions' ); ?></div>
|
133 |
<?php foreach ( $instructions as $instruction_group ) : ?>
|
134 |
<div class="wprm-recipe-instruction-group">
|
135 |
<?php if ( $instruction_group['name'] ) : ?>
|
153 |
<?php endif; // Instructions. ?>
|
154 |
<?php if ( $recipe->notes() ) : ?>
|
155 |
<div class="wprm-recipe-notes-container">
|
156 |
+
<div class="wprm-recipe-header wprm-color-header"><?php echo WPRM_Template_Helper::label( 'notes' ); ?></div>
|
157 |
<?php echo $recipe->notes(); ?>
|
158 |
</div>
|
159 |
<?php endif; // Notes ?>
|
160 |
+
<?php echo WPRM_Template_Helper::nutrition_label(); ?>
|
161 |
</div>
|
templates/recipe/tastefully-simple/tastefully-simple.scss
CHANGED
@@ -2,9 +2,7 @@
|
|
2 |
.wprm-print .wprm-recipe-tastefully-simple {
|
3 |
font: 12px Verdana, Arial, Geneva, sans-serif;
|
4 |
border: 1px dashed #666;
|
5 |
-
color: #666;
|
6 |
padding: 10px;
|
7 |
-
background: #FFF;
|
8 |
|
9 |
div,
|
10 |
li,
|
@@ -38,14 +36,6 @@
|
|
38 |
.wprm-recipe-rating {
|
39 |
margin-bottom: 5px;
|
40 |
|
41 |
-
svg path {
|
42 |
-
fill: #feb600;
|
43 |
-
}
|
44 |
-
|
45 |
-
svg polygon {
|
46 |
-
stroke: #feb600;
|
47 |
-
}
|
48 |
-
|
49 |
.wprm-recipe-rating-details {
|
50 |
font: 10px "Trebuchet MS",Arial,Helvetica,sans-serif;
|
51 |
}
|
@@ -56,8 +46,6 @@
|
|
56 |
text-align: center;
|
57 |
|
58 |
.wprm-recipe-print {
|
59 |
-
color: #ffffff;
|
60 |
-
background: #666666;
|
61 |
font-size: 11px;
|
62 |
cursor: pointer;
|
63 |
-webkit-border-radius: 5px 5px 5px 5px;
|
@@ -80,26 +68,26 @@
|
|
80 |
padding-top: 5px;
|
81 |
padding-bottom: 5px;
|
82 |
margin-bottom: 10px;
|
|
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
}
|
103 |
}
|
104 |
}
|
105 |
|
2 |
.wprm-print .wprm-recipe-tastefully-simple {
|
3 |
font: 12px Verdana, Arial, Geneva, sans-serif;
|
4 |
border: 1px dashed #666;
|
|
|
5 |
padding: 10px;
|
|
|
6 |
|
7 |
div,
|
8 |
li,
|
36 |
.wprm-recipe-rating {
|
37 |
margin-bottom: 5px;
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
.wprm-recipe-rating-details {
|
40 |
font: 10px "Trebuchet MS",Arial,Helvetica,sans-serif;
|
41 |
}
|
46 |
text-align: center;
|
47 |
|
48 |
.wprm-recipe-print {
|
|
|
|
|
49 |
font-size: 11px;
|
50 |
cursor: pointer;
|
51 |
-webkit-border-radius: 5px 5px 5px 5px;
|
68 |
padding-top: 5px;
|
69 |
padding-bottom: 5px;
|
70 |
margin-bottom: 10px;
|
71 |
+
}
|
72 |
|
73 |
+
.wprm-recipe-time-container {
|
74 |
+
width: 33%;
|
75 |
+
text-align: center;
|
76 |
+
float: left;
|
77 |
+
font-weight: bold;
|
78 |
+
border-left: 1px solid #ccc;
|
79 |
|
80 |
+
&:first-child {
|
81 |
+
border-left: none;
|
82 |
+
}
|
83 |
|
84 |
+
.wprm-recipe-time-header {
|
85 |
+
margin-bottom: 4px;
|
86 |
+
}
|
87 |
|
88 |
+
.wprm-recipe-time {
|
89 |
+
font-size: 10px;
|
90 |
+
font-weight: normal;
|
|
|
91 |
}
|
92 |
}
|
93 |
|
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.
|
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.10.0
|
19 |
* Author: Bootstrapped Ventures
|
20 |
* Author URI: http://bootstrapped.ventures/
|
21 |
* License: GPL-2.0+
|