Version Description
- Feature: Create and update recipes via REST API
- Improvement: Only show automatically added snippets on singular pages
- Improvement: Only show warning when changes have actually been made
- Improvement: Introduction video on the welcome page
- Fix: Status of recipes in scheduled posts
- Fix: Show correct plural or singular form for hours
- Fix: Prevent PHP notice caused by metadata
Download this release
Release Info
Developer | BrechtVds |
Plugin | WP Recipe Maker |
Version | 1.27.0 |
Comparing to | |
See all releases |
Code changes from version 1.26.0 to 1.27.0
- assets/css/admin/modal.min.css +1 -1
- assets/css/admin/modal/_container.scss +17 -1
- assets/js/admin/feedback.js +37 -0
- assets/js/admin/modal.js +1 -1
- assets/js/admin/recipe-form.js +12 -0
- assets/js/admin/rich-editor.js +3 -0
- includes/admin/class-wprm-feedback.php +66 -0
- includes/admin/class-wprm-migrations.php +3 -0
- includes/admin/migrations/wprm-1-27-0-facebook.php +16 -0
- includes/admin/modal/class-wprm-modal.php +1 -0
- includes/class-wp-recipe-maker.php +5 -4
- includes/public/class-wprm-api.php +23 -5
- includes/public/class-wprm-metadata.php +1 -1
- includes/{admin → public}/class-wprm-recipe-parser.php +2 -2
- includes/{admin → public}/class-wprm-recipe-sanitizer.php +2 -2
- includes/{admin → public}/class-wprm-recipe-saver.php +3 -2
- includes/public/class-wprm-shortcode.php +1 -1
- includes/public/class-wprm-template-helper.php +1 -1
- readme.txt +22 -0
- templates/admin/menu/faq/support.php +1 -1
- templates/admin/menu/faq/welcome.php +3 -0
- templates/admin/menu/faq/whats_new.php +12 -0
- wp-recipe-maker.php +1 -1
assets/css/admin/modal.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wprm-frame-title .dashicons,.wprm-frame.hide-router .wprm-frame-router,.wprm-modal-container{display:none}.wprm-giveaway-notice{border:1px solid #006400;background-color:rgba(0,255,0,.15);padding:10px;margin-bottom:10px}.wprm-easyrecipe-warning{display:none;border:1px solid #8b0000;background-color:rgba(255,0,0,.15);padding:10px 10px 0;margin-bottom:10px}.mce-floatpanel{z-index:100100!important}.select2_wprm-container{z-index:100075}.select2_wprm-container.select2_wprm-container--focus .select2_wprm-selection{border-color:#5b9dd9}.select2_wprm-container li{margin:0}.select2_wprm-container .select2_wprm-selection{border-color:#ddd}.medium-editor-anchor-preview,.medium-editor-toolbar{z-index:100080}.medium-editor-anchor-preview{font-size:12px}.medium-editor-element{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);min-height:68px;padding:3px 5px}.medium-editor-element:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.medium-editor-element:after{font-style:normal;color:#999;opacity:.5;font-size:14px;line-height:28px}.medium-editor-element p:first-child{margin-top:0}.medium-editor-element p:last-child{margin-bottom:0}.wprm-modal-hint{max-width:400px;margin-bottom:20px}.wprm-modal-hint .wprm-modal-hint-header{font-weight:700;font-variant:small-caps}.wprm-modal-hint .wprm-modal-hint-text{font-style:italic}.wprm-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100000}.wprm-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:100050}.wprm-modal *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wprm-modal-close{position:absolute;top:0;right:0;width:50px;height:50px;padding:0;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.wprm-modal-close .wprm-modal-icon:before{content:"\f158";font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.wprm-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.wprm-modal-content ::-webkit-input-placeholder{color:#999;opacity:.5}.wprm-modal-content :-moz-placeholder{color:#999;opacity:.5}.wprm-modal-content ::-moz-placeholder{color:#999;opacity:.5}.wprm-modal-content :-ms-input-placeholder{color:#999;opacity:.5}.wprm-frame{overflow:hidden;right:0}.wprm-frame,.wprm-frame-menu{position:absolute;left:0;bottom:0;top:0}.wprm-frame-menu{width:200px;z-index:150}.wprm-frame-title{top:0;height:50px}.wprm-frame-router,.wprm-frame-title{z-index:200;left:200px;position:absolute;right:0}.wprm-menu-item{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.wprm-menu{position:absolute;left:0;margin:0;padding:10px 0;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;user-select:none}.wprm-menu-hidden{padding:5px 5px 0 10px;font-style:italic}.wprm-menu,.wprm-sidebar{top:0;bottom:0;background:#f3f3f3;right:0}.wprm-menu .active,.wprm-menu .active:hover{color:#23282d;font-weight:700}.wprm-menu>a{display:block;position:relative;padding:8px 20px;margin:0;color:#0073aa}.wprm-button-action-save,.wprm-frame .hidden,.wprm-frame-content-tab:not(.active),.wprm-router:not(.active){display:none}.wprm-menu>a,.wprm-router>a{line-height:18px;font-size:14px;text-decoration:none}.wprm-frame a{border-bottom:none;color:#0073aa}.wprm-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.wprm-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.wprm-frame-router{top:50px;height:36px}.wprm-router{position:relative;padding:0 6px;margin:0;clear:both;user-select:none}.wprm-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px}.wprm-router a{-webkit-transition:none;transition:none}.wprm-router>a:last-child{border-right:0}.wprm-router .active,.wprm-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.wprm-router .active,.wprm-router .active:hover{color:#32373c}.wprm-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.wprm-frame-toolbar,.wprm-toolbar{position:absolute;right:0;z-index:100;height:60px}.wprm-frame-content-tab{margin:20px}.wprm-frame-toolbar{left:200px;bottom:0}.wprm-toolbar{top:0;left:0;padding:0 16px;border:0 solid #ddd;overflow:hidden}.wprm-modal-content .wprm-toolbar-primary.search-form{width:33%}.wprm-toolbar-primary{float:right;height:100%}.wprm-modal-content .wprm-toolbar-primary .wprm-button{float:right}.wprm-toolbar-primary>.wprm-button,.wprm-toolbar-primary>.wprm-button-group{margin-left:10px;float:left;margin-top:15px}@media only screen and (max-width:900px){.wprm-frame:not(.hide-menu) .wprm-frame-title .dashicons{display:inline-block;line-height:50px}.wprm-frame:not(.hide-menu) .wprm-frame-menu{position:static;width:0}.wprm-frame:not(.hide-menu) .wprm-frame-content,.wprm-frame:not(.hide-menu) .wprm-frame-router,.wprm-frame:not(.hide-menu) .wprm-frame-title,.wprm-frame:not(.hide-menu) .wprm-frame-toolbar,.wprm-frame:not(.hide-menu) .wprm-menu.visible{left:0}.wprm-frame:not(.hide-menu) .wprm-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.wprm-frame:not(.hide-menu) .wprm-menu>a.active{display:none}.wprm-frame:not(.hide-menu) .wprm-menu>a{padding:12px 16px;font-size:16px}.wprm-frame:not(.hide-menu) .wprm-menu .separator{margin:5px 10px}.wprm-frame:not(.hide-menu) .wprm-frame-title h1{color:#0073aa;line-height:3;font-size:18px;float:left;cursor:pointer}}@media only screen and (max-width:640px),screen and (max-height:400px){.wprm-modal{position:fixed;top:0;left:0;right:0;bottom:0}.wprm-modal .wprm-frame-title{height:40px}}@media only screen and (max-width:480px){.wprm-frame:not(.hide-menu) .wprm-frame-title .dashicons{line-height:40px}.wprm-frame-router,.wprm-frame:not(.hide-menu) .wprm-menu{top:40px}.wprm-frame:not(.hide-menu) .wprm-frame-title h1,.wprm-modal .wprm-frame-title h1{font-size:18px;line-height:40px}.wprm-frame-content{top:74px}}.wprm-recipe-form{max-width:600px}.wprm-recipe-form .wprm-recipe-form-container{margin-bottom:15px;vertical-align:top}.wprm-recipe-form .wprm-recipe-form-container-halfs{display:inline-block;width:50%}.wprm-recipe-form .wprm-recipe-form-container-thirds{display:inline-block;width:33.3%}.wprm-recipe-form label{display:block;font-weight:700;margin-bottom:5px}.wprm-recipe-form input[type=text],.wprm-recipe-form input[type=number]{margin:0;width:100%;max-width:120px;height:34px;line-height:34px}.wprm-recipe-form input[type=text][type=number],.wprm-recipe-form input[type=number][type=number]{max-width:50px}.wprm-recipe-form input[type=text].select2_wprm-search__field,.wprm-recipe-form input[type=number].select2_wprm-search__field{height:18px;line-height:18px}.wprm-recipe-form select{width:100%}.wprm-recipe-form textarea{width:100%;resize:vertical}@media only screen and (max-width:480px){.wprm-recipe-form .wprm-recipe-form-container-halfs,.wprm-recipe-form .wprm-recipe-form-container-thirds{display:block;width:100%}}.wprm-recipe-import-text-form .import-text-buttons{margin-bottom:10px}.wprm-recipe-import-text-form .import-text-step{display:none}.wprm-recipe-import-text-form .import-text-step#import-text-step-input{display:block}.wprm-recipe-import-text-form #import-text-highlight-sandbox,.wprm-recipe-import-text-form .import-text-input{margin-top:10px}.wprm-recipe-import-text-form #import-text-ingredient-groups label,.wprm-recipe-import-text-form #import-text-instruction-groups label{display:inline;font-weight:400}.wprm-recipe-import-text-form .import-text-group-warning{margin-top:10px;display:none}.wprm-recipe-import-text-form #import-text-highlight-sandbox{display:none;max-height:400px;overflow:scroll;padding:10px;border:1px dashed #999}.wprm-loader,.wprm-loader:after,.wprm-loader:before{border-radius:50%;width:1.5em;height:1.5em;-webkit-animation:load7 1.8s infinite ease-in-out;animation:load7 1.8s infinite ease-in-out}.wprm-loader{display:none;color:#444;font-size:10px;margin:20px auto;position:relative;text-indent:-9999em;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-.16s;animation-delay:-.16s}.wprm-loader:after,.wprm-loader:before{content:'';position:absolute;top:0}.wprm-loader:before{left:-2.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.wprm-loader:after{left:2.5em}@-webkit-keyframes load7{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@keyframes load7{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}.wprm-recipe-details-form input#wprm-recipe-name{max-width:450px}.wprm-recipe-details-form input#wprm-recipe-author-link,.wprm-recipe-details-form input#wprm-recipe-author-name{max-width:none}.wprm-recipe-details-form input#wprm-recipe-calories{max-width:70px}.wprm-recipe-details-form .wprm-recipe-image-preview{float:right;max-width:100px}.wprm-recipe-details-form .wprm-recipe-image-preview img{max-width:100%;height:auto}.wprm-recipe-details-form .wprm-recipe-summary-container{clear:both}@media only screen and (max-width:480px){.wprm-recipe-details-form .wprm-recipe-image-preview{float:none;margin:10px auto}}.wprm-recipe-ingredients-form,.wprm-recipe-instructions-form{max-width:750px;margin-bottom:15px}.wprm-recipe-ingredients-form input,.wprm-recipe-instructions-form input{margin:0;width:100%;height:34px;line-height:34px}.wprm-recipe-ingredients-form textarea,.wprm-recipe-instructions-form textarea{width:100%;resize:vertical}.wprm-recipe-ingredients-form ::-webkit-input-placeholder,.wprm-recipe-instructions-form ::-webkit-input-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form :-moz-placeholder,.wprm-recipe-instructions-form :-moz-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form ::-moz-placeholder,.wprm-recipe-instructions-form ::-moz-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form :-ms-input-placeholder,.wprm-recipe-instructions-form :-ms-input-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form table,.wprm-recipe-instructions-form table{width:100%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th,.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th{text-align:left}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(1),.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(6),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(1),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(6){width:5%;text-align:center}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(2),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(2){width:10%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(3),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(3){width:15%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(4),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(4){width:40%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(5),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(5){width:25%}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th,.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th{text-align:left}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(1),.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(4),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(1),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(4){width:5%;text-align:center}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(2),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(2){width:65%}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(3),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(3){width:25%}.wprm-recipe-ingredients-form table .wprm-recipe-ingredients-placeholder,.wprm-recipe-ingredients-form table .wprm-recipe-instructions-placeholder,.wprm-recipe-instructions-form table .wprm-recipe-ingredients-placeholder,.wprm-recipe-instructions-form table .wprm-recipe-instructions-placeholder{display:none}.wprm-recipe-ingredients-form table td,.wprm-recipe-instructions-form table td{text-align:left;vertical-align:top}.wprm-recipe-ingredients-form table td:first-child,.wprm-recipe-ingredients-form table td:last-child,.wprm-recipe-instructions-form table td:first-child,.wprm-recipe-instructions-form table td:last-child{text-align:center;vertical-align:middle}.wprm-recipe-ingredients-form .ui-sortable-helper,.wprm-recipe-instructions-form .ui-sortable-helper{display:table}.wprm-recipe-ingredients-form .ui-sortable-helper .wprm-recipe-instruction-text,.wprm-recipe-instructions-form .ui-sortable-helper .wprm-recipe-instruction-text{min-width:200px}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-sort,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-sort{cursor:move}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-delete,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-delete{cursor:pointer}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-delete,.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-sort,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-delete,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-sort{color:#999;opacity:.5}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-delete:hover,.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-sort:hover,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-delete:hover,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-sort:hover{color:#444;opacity:1}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-actions,.wprm-recipe-ingredients-form .wprm-recipe-instructions-actions,.wprm-recipe-instructions-form .wprm-recipe-ingredients-actions,.wprm-recipe-instructions-form .wprm-recipe-instructions-actions{margin:10px}.wprm-recipe-ingredients-form .wprm-recipe-image-preview,.wprm-recipe-instructions-form .wprm-recipe-image-preview{max-width:75px}.wprm-recipe-ingredients-form .wprm-recipe-image-preview img,.wprm-recipe-instructions-form .wprm-recipe-image-preview img{max-width:100%;height:auto}.wprm-shortcode-builder .wprm-shortcode-builder-container{margin-bottom:15px;vertical-align:top}.wprm-shortcode-builder .wprm-shortcode-builder-container-halfs{display:inline-block;width:50%}.wprm-shortcode-builder .wprm-shortcode-builder-container-thirds{display:inline-block;width:33.3%}.wprm-shortcode-builder label{display:block;font-weight:700;margin-bottom:5px}.wprm-shortcode-builder .wprm-shortcode-builder-helper{margin-left:5px;font-size:.8em;font-style:italic}.wprm-shortcode-builder input{margin:0;width:100%;max-width:250px;height:34px;line-height:34px}.wprm-shortcode-builder input.select2_wprm-search__field{height:18px;line-height:18px}.wprm-shortcode-builder select{width:250px}
|
1 |
+
.wprm-frame-title .dashicons,.wprm-frame.hide-router .wprm-frame-router,.wprm-modal-container{display:none}.wprm-giveaway-notice{border:1px solid #006400;background-color:rgba(0,255,0,.15);padding:10px;margin-bottom:10px}.wprm-feedback-notice{border:1px solid #0085ba;background-color:rgba(0,133,186,.15);padding:10px;margin-bottom:10px}.wprm-feedback-notice button{margin:5px 5px 0 0!important}.wprm-easyrecipe-warning{display:none;border:1px solid #8b0000;background-color:rgba(255,0,0,.15);padding:10px 10px 0;margin-bottom:10px}.mce-floatpanel{z-index:100101!important}.select2_wprm-container{z-index:100075}.select2_wprm-container.select2_wprm-container--focus .select2_wprm-selection{border-color:#5b9dd9}.select2_wprm-container li{margin:0}.select2_wprm-container .select2_wprm-selection{border-color:#ddd}.medium-editor-anchor-preview,.medium-editor-toolbar{z-index:100080}.medium-editor-anchor-preview{font-size:12px}.medium-editor-element{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);min-height:68px;padding:3px 5px}.medium-editor-element:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.medium-editor-element:after{font-style:normal;color:#999;opacity:.5;font-size:14px;line-height:28px}.medium-editor-element p:first-child{margin-top:0}.medium-editor-element p:last-child{margin-bottom:0}.wprm-modal-hint{max-width:400px;margin-bottom:20px}.wprm-modal-hint .wprm-modal-hint-header{font-weight:700;font-variant:small-caps}.wprm-modal-hint .wprm-modal-hint-text{font-style:italic}.wprm-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100000}.wprm-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:100050}.wprm-modal *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wprm-modal-close{position:absolute;top:0;right:0;width:50px;height:50px;padding:0;z-index:1000;text-decoration:none!important;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.wprm-modal-close .wprm-modal-icon:before{content:"\f158";font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.wprm-modal-close:hover .wprm-modal-icon:before{color:#00a0d2}.wprm-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.wprm-modal-content ::-webkit-input-placeholder{color:#999;opacity:.5}.wprm-modal-content :-moz-placeholder{color:#999;opacity:.5}.wprm-modal-content ::-moz-placeholder{color:#999;opacity:.5}.wprm-modal-content :-ms-input-placeholder{color:#999;opacity:.5}.wprm-frame{overflow:hidden;right:0}.wprm-frame,.wprm-frame-menu{position:absolute;left:0;bottom:0;top:0}.wprm-frame-menu{width:200px;z-index:150}.wprm-frame-title{top:0;height:50px}.wprm-frame-router,.wprm-frame-title{z-index:200;left:200px;position:absolute;right:0}.wprm-menu-item{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.wprm-menu{position:absolute;left:0;margin:0;padding:10px 0;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;user-select:none}.wprm-menu-hidden{padding:5px 5px 0 10px;font-style:italic}.wprm-menu,.wprm-sidebar{top:0;bottom:0;background:#f3f3f3;right:0}.wprm-menu .active,.wprm-menu .active:hover{color:#23282d;font-weight:700}.wprm-menu>a{display:block;position:relative;padding:8px 20px;margin:0;color:#0073aa}.wprm-button-action-save,.wprm-frame .hidden,.wprm-frame-content-tab:not(.active),.wprm-router:not(.active){display:none}.wprm-menu>a,.wprm-router>a{line-height:18px;font-size:14px;text-decoration:none}.wprm-frame a{border-bottom:none;color:#0073aa}.wprm-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.wprm-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.wprm-frame-router{top:50px;height:36px}.wprm-router{position:relative;padding:0 6px;margin:0;clear:both;user-select:none}.wprm-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px}.wprm-router a{-webkit-transition:none;transition:none}.wprm-router>a:last-child{border-right:0}.wprm-router .active,.wprm-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.wprm-router .active,.wprm-router .active:hover{color:#32373c}.wprm-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.wprm-frame-toolbar,.wprm-toolbar{position:absolute;right:0;z-index:100;height:60px}.wprm-frame-content-tab{margin:20px}.wprm-frame-toolbar{left:200px;bottom:0}.wprm-toolbar{top:0;left:0;padding:0 16px;border:0 solid #ddd;overflow:hidden}.wprm-modal-content .wprm-toolbar-primary.search-form{width:33%}.wprm-toolbar-primary{float:right;height:100%}.wprm-modal-content .wprm-toolbar-primary .wprm-button{float:right}.wprm-toolbar-primary>.wprm-button,.wprm-toolbar-primary>.wprm-button-group{margin-left:10px;float:left;margin-top:15px}@media only screen and (max-width:900px){.wprm-frame:not(.hide-menu) .wprm-frame-title .dashicons{display:inline-block;line-height:50px}.wprm-frame:not(.hide-menu) .wprm-frame-menu{position:static;width:0}.wprm-frame:not(.hide-menu) .wprm-frame-content,.wprm-frame:not(.hide-menu) .wprm-frame-router,.wprm-frame:not(.hide-menu) .wprm-frame-title,.wprm-frame:not(.hide-menu) .wprm-frame-toolbar,.wprm-frame:not(.hide-menu) .wprm-menu.visible{left:0}.wprm-frame:not(.hide-menu) .wprm-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.wprm-frame:not(.hide-menu) .wprm-menu>a.active{display:none}.wprm-frame:not(.hide-menu) .wprm-menu>a{padding:12px 16px;font-size:16px}.wprm-frame:not(.hide-menu) .wprm-menu .separator{margin:5px 10px}.wprm-frame:not(.hide-menu) .wprm-frame-title h1{color:#0073aa;line-height:3;font-size:18px;float:left;cursor:pointer}}@media only screen and (max-width:640px),screen and (max-height:400px){.wprm-modal{position:fixed;top:0;left:0;right:0;bottom:0}.wprm-modal .wprm-frame-title{height:40px}}@media only screen and (max-width:480px){.wprm-frame:not(.hide-menu) .wprm-frame-title .dashicons{line-height:40px}.wprm-frame-router,.wprm-frame:not(.hide-menu) .wprm-menu{top:40px}.wprm-frame:not(.hide-menu) .wprm-frame-title h1,.wprm-modal .wprm-frame-title h1{font-size:18px;line-height:40px}.wprm-frame-content{top:74px}}.wprm-recipe-form{max-width:600px}.wprm-recipe-form .wprm-recipe-form-container{margin-bottom:15px;vertical-align:top}.wprm-recipe-form .wprm-recipe-form-container-halfs{display:inline-block;width:50%}.wprm-recipe-form .wprm-recipe-form-container-thirds{display:inline-block;width:33.3%}.wprm-recipe-form label{display:block;font-weight:700;margin-bottom:5px}.wprm-recipe-form input[type=text],.wprm-recipe-form input[type=number]{margin:0;width:100%;max-width:120px;height:34px;line-height:34px}.wprm-recipe-form input[type=text][type=number],.wprm-recipe-form input[type=number][type=number]{max-width:50px}.wprm-recipe-form input[type=text].select2_wprm-search__field,.wprm-recipe-form input[type=number].select2_wprm-search__field{height:18px;line-height:18px}.wprm-recipe-form select{width:100%}.wprm-recipe-form textarea{width:100%;resize:vertical}@media only screen and (max-width:480px){.wprm-recipe-form .wprm-recipe-form-container-halfs,.wprm-recipe-form .wprm-recipe-form-container-thirds{display:block;width:100%}}.wprm-recipe-import-text-form .import-text-buttons{margin-bottom:10px}.wprm-recipe-import-text-form .import-text-step{display:none}.wprm-recipe-import-text-form .import-text-step#import-text-step-input{display:block}.wprm-recipe-import-text-form #import-text-highlight-sandbox,.wprm-recipe-import-text-form .import-text-input{margin-top:10px}.wprm-recipe-import-text-form #import-text-ingredient-groups label,.wprm-recipe-import-text-form #import-text-instruction-groups label{display:inline;font-weight:400}.wprm-recipe-import-text-form .import-text-group-warning{margin-top:10px;display:none}.wprm-recipe-import-text-form #import-text-highlight-sandbox{display:none;max-height:400px;overflow:scroll;padding:10px;border:1px dashed #999}.wprm-loader,.wprm-loader:after,.wprm-loader:before{border-radius:50%;width:1.5em;height:1.5em;-webkit-animation:load7 1.8s infinite ease-in-out;animation:load7 1.8s infinite ease-in-out}.wprm-loader{display:none;color:#444;font-size:10px;margin:20px auto;position:relative;text-indent:-9999em;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-.16s;animation-delay:-.16s}.wprm-loader:after,.wprm-loader:before{content:'';position:absolute;top:0}.wprm-loader:before{left:-2.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.wprm-loader:after{left:2.5em}@-webkit-keyframes load7{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@keyframes load7{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}.wprm-recipe-details-form input#wprm-recipe-name{max-width:450px}.wprm-recipe-details-form input#wprm-recipe-author-link,.wprm-recipe-details-form input#wprm-recipe-author-name{max-width:none}.wprm-recipe-details-form input#wprm-recipe-calories{max-width:70px}.wprm-recipe-details-form .wprm-recipe-image-preview{float:right;max-width:100px}.wprm-recipe-details-form .wprm-recipe-image-preview img{max-width:100%;height:auto}.wprm-recipe-details-form .wprm-recipe-summary-container{clear:both}@media only screen and (max-width:480px){.wprm-recipe-details-form .wprm-recipe-image-preview{float:none;margin:10px auto}}.wprm-recipe-ingredients-form,.wprm-recipe-instructions-form{max-width:750px;margin-bottom:15px}.wprm-recipe-ingredients-form input,.wprm-recipe-instructions-form input{margin:0;width:100%;height:34px;line-height:34px}.wprm-recipe-ingredients-form textarea,.wprm-recipe-instructions-form textarea{width:100%;resize:vertical}.wprm-recipe-ingredients-form ::-webkit-input-placeholder,.wprm-recipe-instructions-form ::-webkit-input-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form :-moz-placeholder,.wprm-recipe-instructions-form :-moz-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form ::-moz-placeholder,.wprm-recipe-instructions-form ::-moz-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form :-ms-input-placeholder,.wprm-recipe-instructions-form :-ms-input-placeholder{color:#999;opacity:.5}.wprm-recipe-ingredients-form table,.wprm-recipe-instructions-form table{width:100%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th,.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th{text-align:left}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(1),.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(6),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(1),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(6){width:5%;text-align:center}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(2),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(2){width:10%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(3),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(3){width:15%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(4),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(4){width:40%}.wprm-recipe-ingredients-form table.wprm-recipe-ingredients-container th:nth-child(5),.wprm-recipe-instructions-form table.wprm-recipe-ingredients-container th:nth-child(5){width:25%}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th,.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th{text-align:left}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(1),.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(4),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(1),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(4){width:5%;text-align:center}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(2),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(2){width:65%}.wprm-recipe-ingredients-form table.wprm-recipe-instructions-container th:nth-child(3),.wprm-recipe-instructions-form table.wprm-recipe-instructions-container th:nth-child(3){width:25%}.wprm-recipe-ingredients-form table .wprm-recipe-ingredients-placeholder,.wprm-recipe-ingredients-form table .wprm-recipe-instructions-placeholder,.wprm-recipe-instructions-form table .wprm-recipe-ingredients-placeholder,.wprm-recipe-instructions-form table .wprm-recipe-instructions-placeholder{display:none}.wprm-recipe-ingredients-form table td,.wprm-recipe-instructions-form table td{text-align:left;vertical-align:top}.wprm-recipe-ingredients-form table td:first-child,.wprm-recipe-ingredients-form table td:last-child,.wprm-recipe-instructions-form table td:first-child,.wprm-recipe-instructions-form table td:last-child{text-align:center;vertical-align:middle}.wprm-recipe-ingredients-form .ui-sortable-helper,.wprm-recipe-instructions-form .ui-sortable-helper{display:table}.wprm-recipe-ingredients-form .ui-sortable-helper .wprm-recipe-instruction-text,.wprm-recipe-instructions-form .ui-sortable-helper .wprm-recipe-instruction-text{min-width:200px}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-sort,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-sort{cursor:move}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-delete,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-delete{cursor:pointer}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-delete,.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-sort,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-delete,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-sort{color:#999;opacity:.5}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-delete:hover,.wprm-recipe-ingredients-form .wprm-recipe-ingredients-instructions-sort:hover,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-delete:hover,.wprm-recipe-instructions-form .wprm-recipe-ingredients-instructions-sort:hover{color:#444;opacity:1}.wprm-recipe-ingredients-form .wprm-recipe-ingredients-actions,.wprm-recipe-ingredients-form .wprm-recipe-instructions-actions,.wprm-recipe-instructions-form .wprm-recipe-ingredients-actions,.wprm-recipe-instructions-form .wprm-recipe-instructions-actions{margin:10px}.wprm-recipe-ingredients-form .wprm-recipe-image-preview,.wprm-recipe-instructions-form .wprm-recipe-image-preview{max-width:75px}.wprm-recipe-ingredients-form .wprm-recipe-image-preview img,.wprm-recipe-instructions-form .wprm-recipe-image-preview img{max-width:100%;height:auto}.wprm-shortcode-builder .wprm-shortcode-builder-container{margin-bottom:15px;vertical-align:top}.wprm-shortcode-builder .wprm-shortcode-builder-container-halfs{display:inline-block;width:50%}.wprm-shortcode-builder .wprm-shortcode-builder-container-thirds{display:inline-block;width:33.3%}.wprm-shortcode-builder label{display:block;font-weight:700;margin-bottom:5px}.wprm-shortcode-builder .wprm-shortcode-builder-helper{margin-left:5px;font-size:.8em;font-style:italic}.wprm-shortcode-builder input{margin:0;width:100%;max-width:250px;height:34px;line-height:34px}.wprm-shortcode-builder input.select2_wprm-search__field{height:18px;line-height:18px}.wprm-shortcode-builder select{width:250px}
|
assets/css/admin/modal/_container.scss
CHANGED
@@ -7,6 +7,17 @@
|
|
7 |
margin-bottom: 10px;
|
8 |
}
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
.wprm-easyrecipe-warning {
|
11 |
display: none;
|
12 |
border: 1px solid darkred;
|
@@ -17,7 +28,7 @@
|
|
17 |
}
|
18 |
|
19 |
.mce-floatpanel {
|
20 |
-
z-index:
|
21 |
}
|
22 |
|
23 |
.select2_wprm-container {
|
@@ -129,6 +140,7 @@
|
|
129 |
height: 50px;
|
130 |
padding: 0;
|
131 |
z-index: 1000;
|
|
|
132 |
-webkit-transition: color 0.1s ease-in-out,background 0.1s ease-in-out;
|
133 |
transition: color 0.1s ease-in-out,background 0.1s ease-in-out;
|
134 |
|
@@ -141,6 +153,10 @@
|
|
141 |
-moz-osx-font-smoothing: grayscale;
|
142 |
color: #666;
|
143 |
}
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
|
146 |
.wprm-modal-content {
|
7 |
margin-bottom: 10px;
|
8 |
}
|
9 |
|
10 |
+
.wprm-feedback-notice {
|
11 |
+
border: 1px solid #0085ba;
|
12 |
+
background-color: rgba(0,133,186,0.15);
|
13 |
+
padding: 10px;
|
14 |
+
margin-bottom: 10px;
|
15 |
+
|
16 |
+
button {
|
17 |
+
margin: 5px 5px 0 0 !important;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
.wprm-easyrecipe-warning {
|
22 |
display: none;
|
23 |
border: 1px solid darkred;
|
28 |
}
|
29 |
|
30 |
.mce-floatpanel {
|
31 |
+
z-index: 100101 !important;
|
32 |
}
|
33 |
|
34 |
.select2_wprm-container {
|
140 |
height: 50px;
|
141 |
padding: 0;
|
142 |
z-index: 1000;
|
143 |
+
text-decoration: none !important;
|
144 |
-webkit-transition: color 0.1s ease-in-out,background 0.1s ease-in-out;
|
145 |
transition: color 0.1s ease-in-out,background 0.1s ease-in-out;
|
146 |
|
153 |
-moz-osx-font-smoothing: grayscale;
|
154 |
color: #666;
|
155 |
}
|
156 |
+
|
157 |
+
&:hover .wprm-modal-icon:before {
|
158 |
+
color: #00a0d2;
|
159 |
+
}
|
160 |
}
|
161 |
|
162 |
.wprm-modal-content {
|
assets/js/admin/feedback.js
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var wprm_admin = wprm_admin || {};
|
2 |
+
|
3 |
+
wprm_admin.give_feedback = function(answer) {
|
4 |
+
var data = {
|
5 |
+
action: 'wprm_feedback',
|
6 |
+
security: wprm_modal.nonce,
|
7 |
+
answer: answer
|
8 |
+
};
|
9 |
+
|
10 |
+
jQuery.post(wprm_modal.ajax_url, data);
|
11 |
+
};
|
12 |
+
|
13 |
+
jQuery(document).ready(function($) {
|
14 |
+
var feedback_notice = jQuery('.wprm-feedback-notice');
|
15 |
+
|
16 |
+
if (feedback_notice.length > 0) {
|
17 |
+
jQuery('#wprm-feedback-stop').on('click', function() {
|
18 |
+
wprm_admin.give_feedback('stop');
|
19 |
+
feedback_notice.slideUp();
|
20 |
+
});
|
21 |
+
|
22 |
+
jQuery('#wprm-feedback-no').on('click', function() {
|
23 |
+
wprm_admin.give_feedback('no');
|
24 |
+
var message = '<strong>How could we make it better?</strong><br/>';
|
25 |
+
message += 'Please send any issues or suggestions you have to <a href="mailto:support@bootstrapped.ventures?subject=WP%20Recipe%20Maker%20feedback">support@bootstrapped.ventures</a> and we\'ll see what we can do!';
|
26 |
+
feedback_notice.html(message);
|
27 |
+
});
|
28 |
+
|
29 |
+
jQuery('#wprm-feedback-yes').on('click', function() {
|
30 |
+
wprm_admin.give_feedback('yes');
|
31 |
+
var message = '<strong>Happy to hear!</strong><br/>';
|
32 |
+
message += 'It would be really helpful if you could leave us an honest review over at <a href="https://wordpress.org/support/plugin/wp-recipe-maker/reviews/#new-post" target="_blank">wordpress.org</a><br/>';
|
33 |
+
message += 'Suggestions to make the plugin even better are also very welcome at <a href="mailto:support@bootstrapped.ventures?subject=WP%20Recipe%20Maker%20suggestions">support@bootstrapped.ventures</a>';
|
34 |
+
feedback_notice.html(message);
|
35 |
+
});
|
36 |
+
}
|
37 |
+
});
|
assets/js/admin/modal.js
CHANGED
@@ -83,7 +83,7 @@ jQuery(document).ready(function($) {
|
|
83 |
|
84 |
// Closing Modal
|
85 |
jQuery('.wprm-modal-container').on('click', '.wprm-modal-close, .wprm-modal-backdrop', function() {
|
86 |
-
if(confirm(wprm_modal.text.modal_close_confirm)) {
|
87 |
wprm_admin.close_modal();
|
88 |
}
|
89 |
});
|
83 |
|
84 |
// Closing Modal
|
85 |
jQuery('.wprm-modal-container').on('click', '.wprm-modal-close, .wprm-modal-backdrop', function() {
|
86 |
+
if( ! wprm_admin.changes_made || confirm(wprm_modal.text.modal_close_confirm) ) {
|
87 |
wprm_admin.close_modal();
|
88 |
}
|
89 |
});
|
assets/js/admin/recipe-form.js
CHANGED
@@ -9,6 +9,8 @@ wprm_admin.editing_recipe_fields = false;
|
|
9 |
wprm_admin.editing_recipe_ingredients = {};
|
10 |
wprm_admin.editing_recipe_instructions = {};
|
11 |
|
|
|
|
|
12 |
wprm_admin.set_recipe = function(args) {
|
13 |
var recipe_id = args.recipe_id ? args.recipe_id : 0;
|
14 |
var clone_recipe_id = args.clone_recipe_id ? args.clone_recipe_id : 0;
|
@@ -23,6 +25,7 @@ wprm_admin.set_recipe = function(args) {
|
|
23 |
if(typeof wprmp_admin !== 'undefined') {
|
24 |
wprmp_admin.clear_recipe_fields();
|
25 |
}
|
|
|
26 |
|
27 |
if ('insert' === wprm_admin.editing_recipe_type) {
|
28 |
var button = jQuery('.wprm-button-action'),
|
@@ -55,6 +58,7 @@ wprm_admin.set_recipe = function(args) {
|
|
55 |
if(typeof wprmp_admin !== 'undefined') {
|
56 |
wprmp_admin.set_recipe_fields(out.data.recipe);
|
57 |
}
|
|
|
58 |
}
|
59 |
}, 'json');
|
60 |
}
|
@@ -90,6 +94,7 @@ wprm_admin.set_recipe = function(args) {
|
|
90 |
if(typeof wprmp_admin !== 'undefined') {
|
91 |
wprmp_admin.set_recipe_fields(out.data.recipe);
|
92 |
}
|
|
|
93 |
jQuery('.wprm-frame-title').find('h1').text(wprm_modal.text.edit_recipe);
|
94 |
}
|
95 |
}, 'json');
|
@@ -297,6 +302,7 @@ wprm_admin.set_media_image = function(container, image_id, image_url) {
|
|
297 |
|
298 |
container.find('.wprm-recipe-image-add').addClass('hidden');
|
299 |
container.find('.wprm-recipe-image-remove').removeClass('hidden');
|
|
|
300 |
};
|
301 |
wprm_admin.remove_media_image = function(container) {
|
302 |
container.find('.wprm-recipe-image-preview').html('');
|
@@ -304,6 +310,7 @@ wprm_admin.remove_media_image = function(container) {
|
|
304 |
|
305 |
container.find('.wprm-recipe-image-add').removeClass('hidden');
|
306 |
container.find('.wprm-recipe-image-remove').addClass('hidden');
|
|
|
307 |
};
|
308 |
|
309 |
wprm_admin.start_loader = function(button) {
|
@@ -583,6 +590,11 @@ wprm_admin.get_ingredients = function() {
|
|
583 |
};
|
584 |
|
585 |
jQuery(document).ready(function($) {
|
|
|
|
|
|
|
|
|
|
|
586 |
// Recipe and Instruction Image handler
|
587 |
jQuery('.wprm-recipe-details-form, .wprm-recipe-instructions-form').on('click', '.wprm-recipe-image-add', function(e) {
|
588 |
wprm_admin.select_media_image(jQuery(this).parents('.wprm-recipe-image-container'));
|
9 |
wprm_admin.editing_recipe_ingredients = {};
|
10 |
wprm_admin.editing_recipe_instructions = {};
|
11 |
|
12 |
+
wprm_admin.changes_made = false;
|
13 |
+
|
14 |
wprm_admin.set_recipe = function(args) {
|
15 |
var recipe_id = args.recipe_id ? args.recipe_id : 0;
|
16 |
var clone_recipe_id = args.clone_recipe_id ? args.clone_recipe_id : 0;
|
25 |
if(typeof wprmp_admin !== 'undefined') {
|
26 |
wprmp_admin.clear_recipe_fields();
|
27 |
}
|
28 |
+
wprm_admin.changes_made = false;
|
29 |
|
30 |
if ('insert' === wprm_admin.editing_recipe_type) {
|
31 |
var button = jQuery('.wprm-button-action'),
|
58 |
if(typeof wprmp_admin !== 'undefined') {
|
59 |
wprmp_admin.set_recipe_fields(out.data.recipe);
|
60 |
}
|
61 |
+
wprm_admin.changes_made = false;
|
62 |
}
|
63 |
}, 'json');
|
64 |
}
|
94 |
if(typeof wprmp_admin !== 'undefined') {
|
95 |
wprmp_admin.set_recipe_fields(out.data.recipe);
|
96 |
}
|
97 |
+
wprm_admin.changes_made = false;
|
98 |
jQuery('.wprm-frame-title').find('h1').text(wprm_modal.text.edit_recipe);
|
99 |
}
|
100 |
}, 'json');
|
302 |
|
303 |
container.find('.wprm-recipe-image-add').addClass('hidden');
|
304 |
container.find('.wprm-recipe-image-remove').removeClass('hidden');
|
305 |
+
wprm_admin.changes_made = true;
|
306 |
};
|
307 |
wprm_admin.remove_media_image = function(container) {
|
308 |
container.find('.wprm-recipe-image-preview').html('');
|
310 |
|
311 |
container.find('.wprm-recipe-image-add').removeClass('hidden');
|
312 |
container.find('.wprm-recipe-image-remove').addClass('hidden');
|
313 |
+
wprm_admin.changes_made = true;
|
314 |
};
|
315 |
|
316 |
wprm_admin.start_loader = function(button) {
|
590 |
};
|
591 |
|
592 |
jQuery(document).ready(function($) {
|
593 |
+
// Check for changes made
|
594 |
+
jQuery('.wprm-modal').on('change', 'input, textarea, #wprm-recipe-author-display, .wprm-recipe-tags, #wprm-ingredient-links-type', function() {
|
595 |
+
wprm_admin.changes_made = true;
|
596 |
+
});
|
597 |
+
|
598 |
// Recipe and Instruction Image handler
|
599 |
jQuery('.wprm-recipe-details-form, .wprm-recipe-instructions-form').on('click', '.wprm-recipe-image-add', function(e) {
|
600 |
wprm_admin.select_media_image(jQuery(this).parents('.wprm-recipe-image-container'));
|
assets/js/admin/rich-editor.js
CHANGED
@@ -33,6 +33,9 @@ wprm_admin.init_rich_editor = function() {
|
|
33 |
}
|
34 |
|
35 |
wprm_admin.rich_editor = new MediumEditor('.wprm-rich-editor', args);
|
|
|
|
|
|
|
36 |
}
|
37 |
};
|
38 |
|
33 |
}
|
34 |
|
35 |
wprm_admin.rich_editor = new MediumEditor('.wprm-rich-editor', args);
|
36 |
+
wprm_admin.rich_editor.subscribe('editableInput', function() {
|
37 |
+
wprm_admin.changes_made = true;
|
38 |
+
});
|
39 |
}
|
40 |
};
|
41 |
|
includes/admin/class-wprm-feedback.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Asks for feedback.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.27.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/admin
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Asks for feedback.
|
14 |
+
*
|
15 |
+
* @since 1.27.0
|
16 |
+
* @package WP_Recipe_Maker
|
17 |
+
* @subpackage WP_Recipe_Maker/includes/admin
|
18 |
+
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
+
*/
|
20 |
+
class WPRM_Feedback {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Register actions and filters.
|
24 |
+
*
|
25 |
+
* @since 1.27.0
|
26 |
+
*/
|
27 |
+
public static function init() {
|
28 |
+
add_action( 'wprm_modal_notice', array( __CLASS__, 'modal_notice' ) );
|
29 |
+
|
30 |
+
add_action( 'wp_ajax_wprm_feedback', array( __CLASS__, 'ajax_give_feedback' ) );
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Show a notice in the modal.
|
35 |
+
*
|
36 |
+
* @since 1.27.0
|
37 |
+
*/
|
38 |
+
public static function modal_notice() {
|
39 |
+
if ( current_user_can( 'manage_options' ) && '' === get_user_meta( get_current_user_id(), 'wprm_feedback', true ) ) {
|
40 |
+
$count = wp_count_posts( WPRM_POST_TYPE )->publish;
|
41 |
+
|
42 |
+
if ( 23 <= intval( $count ) ) {
|
43 |
+
echo '<div class="wprm-feedback-notice">';
|
44 |
+
echo '<strong>Wow, you\'ve published ' . esc_html( $count ) . ' recipes!</strong><br/>Are you enjoying our plugin so far?<br/>';
|
45 |
+
echo '<button id="wprm-feedback-stop" class="button button-small">Stop asking me</button> <button id="wprm-feedback-no" class="button button-primary button-small">No...</button> <button id="wprm-feedback-yes" class="button button-primary button-small">Yes!</button>';
|
46 |
+
echo '</div>';
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Give feedback via AJAX.
|
53 |
+
*
|
54 |
+
* @since 1.27.0
|
55 |
+
*/
|
56 |
+
public static function ajax_give_feedback() {
|
57 |
+
if ( check_ajax_referer( 'wprm', 'security', false ) ) {
|
58 |
+
$answer = isset( $_POST['answer'] ) ? sanitize_text_field( wp_unslash( $_POST['answer'] ) ) : ''; // Input var okay.
|
59 |
+
update_user_meta( get_current_user_id(), 'wprm_feedback', $answer );
|
60 |
+
}
|
61 |
+
|
62 |
+
wp_die();
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
WPRM_Feedback::init();
|
includes/admin/class-wprm-migrations.php
CHANGED
@@ -61,6 +61,9 @@ class WPRM_Migrations {
|
|
61 |
if ( version_compare( $migrated_to_version, '1.25.0' ) < 0 ) {
|
62 |
require_once( WPRM_DIR . 'includes/admin/migrations/wprm-1-25-0-metadata.php' );
|
63 |
}
|
|
|
|
|
|
|
64 |
|
65 |
if ( '0.0.0' === $migrated_to_version ) {
|
66 |
self::$notices = array();
|
61 |
if ( version_compare( $migrated_to_version, '1.25.0' ) < 0 ) {
|
62 |
require_once( WPRM_DIR . 'includes/admin/migrations/wprm-1-25-0-metadata.php' );
|
63 |
}
|
64 |
+
if ( version_compare( $migrated_to_version, '1.27.0' ) < 0 ) {
|
65 |
+
require_once( WPRM_DIR . 'includes/admin/migrations/wprm-1-27-0-facebook.php' );
|
66 |
+
}
|
67 |
|
68 |
if ( '0.0.0' === $migrated_to_version ) {
|
69 |
self::$notices = array();
|
includes/admin/migrations/wprm-1-27-0-facebook.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Notice about our Facebook group.
|
4 |
+
*
|
5 |
+
* @link http://bootstrapped.ventures
|
6 |
+
* @since 1.27.0
|
7 |
+
*
|
8 |
+
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/admin/migrations
|
10 |
+
*/
|
11 |
+
|
12 |
+
$notice = 'We created a Facebook group that allows you to connect with other food bloggers using WP Recipe Maker.<br/>';
|
13 |
+
$notice .= 'This will also be used to introduce you to new features and gather feedback to make the plugin better.<br/><br/>';
|
14 |
+
$notice .= 'Join the <a href="https://www.facebook.com/groups/1741126932849712/" target="_blank">WP Recipe Maker Food Bloggers</a> group today!';
|
15 |
+
|
16 |
+
self::$notices[] = $notice;
|
includes/admin/modal/class-wprm-modal.php
CHANGED
@@ -49,6 +49,7 @@ class WPRM_Modal {
|
|
49 |
wp_enqueue_script( 'texthighlighter', WPRM_URL . 'vendor/texthighlighter/TextHighlighter.min.js', array( 'jquery' ), WPRM_VERSION, true );
|
50 |
|
51 |
wp_enqueue_script( 'wprm-modal', WPRM_URL . 'assets/js/admin/modal.js', array( 'jquery' ), WPRM_VERSION, true );
|
|
|
52 |
wp_enqueue_script( 'wprm-import-text', WPRM_URL . 'assets/js/admin/import-text.js', array( 'jquery', 'wprm-modal', 'texthighlighter' ), WPRM_VERSION, true );
|
53 |
wp_enqueue_script( 'wprm-recipe-form', WPRM_URL . 'assets/js/admin/recipe-form.js', array( 'jquery', 'jquery-ui-sortable', 'wprm-modal', 'medium-editor', 'wprm-select2' ), WPRM_VERSION, true );
|
54 |
wp_enqueue_script( 'wprm-recipe-snippets', WPRM_URL . 'assets/js/admin/recipe-snippets.js', array( 'jquery', 'wprm-modal' ), WPRM_VERSION, true );
|
49 |
wp_enqueue_script( 'texthighlighter', WPRM_URL . 'vendor/texthighlighter/TextHighlighter.min.js', array( 'jquery' ), WPRM_VERSION, true );
|
50 |
|
51 |
wp_enqueue_script( 'wprm-modal', WPRM_URL . 'assets/js/admin/modal.js', array( 'jquery' ), WPRM_VERSION, true );
|
52 |
+
wp_enqueue_script( 'wprm-feedback', WPRM_URL . 'assets/js/admin/feedback.js', array( 'jquery' ), WPRM_VERSION, true );
|
53 |
wp_enqueue_script( 'wprm-import-text', WPRM_URL . 'assets/js/admin/import-text.js', array( 'jquery', 'wprm-modal', 'texthighlighter' ), WPRM_VERSION, true );
|
54 |
wp_enqueue_script( 'wprm-recipe-form', WPRM_URL . 'assets/js/admin/recipe-form.js', array( 'jquery', 'jquery-ui-sortable', 'wprm-modal', 'medium-editor', 'wprm-select2' ), WPRM_VERSION, true );
|
55 |
wp_enqueue_script( 'wprm-recipe-snippets', WPRM_URL . 'assets/js/admin/recipe-snippets.js', array( 'jquery', 'wprm-modal' ), WPRM_VERSION, true );
|
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.6.0' );
|
36 |
define( 'WPRM_POST_TYPE', 'wprm_recipe' );
|
37 |
define( 'WPRM_DIR', plugin_dir_path( dirname( __FILE__ ) ) );
|
@@ -86,6 +86,9 @@ class WP_Recipe_Maker {
|
|
86 |
require_once( WPRM_DIR . 'includes/public/class-wprm-print.php' );
|
87 |
require_once( WPRM_DIR . 'includes/public/class-wprm-rating.php' );
|
88 |
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe-manager.php' );
|
|
|
|
|
|
|
89 |
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe.php' );
|
90 |
require_once( WPRM_DIR . 'includes/public/class-wprm-shortcode.php' );
|
91 |
require_once( WPRM_DIR . 'includes/public/class-wprm-taxonomies.php' );
|
@@ -113,12 +116,10 @@ class WP_Recipe_Maker {
|
|
113 |
require_once( WPRM_DIR . 'includes/admin/modal/class-wprm-modal.php' );
|
114 |
require_once( WPRM_DIR . 'includes/admin/modal/class-wprm-shortcode-preview.php' );
|
115 |
|
|
|
116 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-giveaway.php' );
|
117 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-import-manager.php' );
|
118 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-migrations.php' );
|
119 |
-
require_once( WPRM_DIR . 'includes/admin/class-wprm-recipe-parser.php' );
|
120 |
-
require_once( WPRM_DIR . 'includes/admin/class-wprm-recipe-sanitizer.php' );
|
121 |
-
require_once( WPRM_DIR . 'includes/admin/class-wprm-recipe-saver.php' );
|
122 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-seo-checker.php' );
|
123 |
}
|
124 |
}
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
private function define_constants() {
|
34 |
+
define( 'WPRM_VERSION', '1.27.0' );
|
35 |
define( 'WPRM_PREMIUM_VERSION_REQUIRED', '1.6.0' );
|
36 |
define( 'WPRM_POST_TYPE', 'wprm_recipe' );
|
37 |
define( 'WPRM_DIR', plugin_dir_path( dirname( __FILE__ ) ) );
|
86 |
require_once( WPRM_DIR . 'includes/public/class-wprm-print.php' );
|
87 |
require_once( WPRM_DIR . 'includes/public/class-wprm-rating.php' );
|
88 |
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe-manager.php' );
|
89 |
+
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe-parser.php' );
|
90 |
+
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe-sanitizer.php' );
|
91 |
+
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe-saver.php' );
|
92 |
require_once( WPRM_DIR . 'includes/public/class-wprm-recipe.php' );
|
93 |
require_once( WPRM_DIR . 'includes/public/class-wprm-shortcode.php' );
|
94 |
require_once( WPRM_DIR . 'includes/public/class-wprm-taxonomies.php' );
|
116 |
require_once( WPRM_DIR . 'includes/admin/modal/class-wprm-modal.php' );
|
117 |
require_once( WPRM_DIR . 'includes/admin/modal/class-wprm-shortcode-preview.php' );
|
118 |
|
119 |
+
require_once( WPRM_DIR . 'includes/admin/class-wprm-feedback.php' );
|
120 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-giveaway.php' );
|
121 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-import-manager.php' );
|
122 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-migrations.php' );
|
|
|
|
|
|
|
123 |
require_once( WPRM_DIR . 'includes/admin/class-wprm-seo-checker.php' );
|
124 |
}
|
125 |
}
|
includes/public/class-wprm-api.php
CHANGED
@@ -26,6 +26,8 @@ class WPRM_Api {
|
|
26 |
*/
|
27 |
public static function init() {
|
28 |
add_action( 'rest_api_init', array( __CLASS__, 'api_register_recipe_data' ) );
|
|
|
|
|
29 |
add_filter( 'wprm_recipe_post_type_arguments', array( __CLASS__, 'recipe_post_type_arguments' ) );
|
30 |
}
|
31 |
|
@@ -45,18 +47,34 @@ class WPRM_Api {
|
|
45 |
}
|
46 |
|
47 |
/**
|
48 |
-
*
|
49 |
*
|
50 |
-
* @since
|
51 |
-
* @param
|
52 |
-
* @param
|
53 |
-
* @param
|
54 |
*/
|
55 |
public static function api_get_recipe_data( $object, $field_name, $request ) {
|
56 |
$recipe = WPRM_Recipe_Manager::get_recipe( $object['id'] );
|
57 |
return $recipe->get_data();
|
58 |
}
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
/**
|
61 |
* Add REST API options to the recipe post type arguments.
|
62 |
*
|
26 |
*/
|
27 |
public static function init() {
|
28 |
add_action( 'rest_api_init', array( __CLASS__, 'api_register_recipe_data' ) );
|
29 |
+
add_action( 'rest_insert_' . WPRM_POST_TYPE, array( __CLASS__, 'api_insert_update_recipe' ), 10, 3 );
|
30 |
+
|
31 |
add_filter( 'wprm_recipe_post_type_arguments', array( __CLASS__, 'recipe_post_type_arguments' ) );
|
32 |
}
|
33 |
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
+
* Handle recipe calls to the REST API.
|
51 |
*
|
52 |
+
* @since 1.4.0
|
53 |
+
* @param array $object Details of current post.
|
54 |
+
* @param mixed $field_name Name of field.
|
55 |
+
* @param WP_REST_Request $request Current request.
|
56 |
*/
|
57 |
public static function api_get_recipe_data( $object, $field_name, $request ) {
|
58 |
$recipe = WPRM_Recipe_Manager::get_recipe( $object['id'] );
|
59 |
return $recipe->get_data();
|
60 |
}
|
61 |
|
62 |
+
/**
|
63 |
+
* Handle recipe calls to the REST API.
|
64 |
+
*
|
65 |
+
* @since 1.27.0
|
66 |
+
* @param WP_Post $post Inserted or updated post object.
|
67 |
+
* @param WP_REST_Request $request Request object.
|
68 |
+
* @param bool $creating True when creating a post, false when updating.
|
69 |
+
*/
|
70 |
+
public static function api_insert_update_recipe( $post, $request, $creating ) {
|
71 |
+
$params = $request->get_params();
|
72 |
+
$recipe = isset( $params['recipe'] ) ? WPRM_Recipe_Sanitizer::sanitize( $params['recipe'] ) : array();
|
73 |
+
$recipe_id = $post->ID;
|
74 |
+
|
75 |
+
WPRM_Recipe_Saver::update_recipe( $recipe_id, $recipe );
|
76 |
+
}
|
77 |
+
|
78 |
/**
|
79 |
* Add REST API options to the recipe post type arguments.
|
80 |
*
|
includes/public/class-wprm-metadata.php
CHANGED
@@ -204,7 +204,7 @@ class WPRM_Metadata {
|
|
204 |
if ( $value && array_key_exists( $field, $nutrition_mapping ) ) {
|
205 |
$unit = esc_html__( 'g', 'wp-recipe-maker' );
|
206 |
|
207 |
-
if ( 'serving_size' === $field && $nutrition['serving_unit'] ) {
|
208 |
$unit = $nutrition['serving_unit'];
|
209 |
} elseif ( 'calories' === $field ) {
|
210 |
$unit = esc_html__( 'kcal', 'wp-recipe-maker' );
|
204 |
if ( $value && array_key_exists( $field, $nutrition_mapping ) ) {
|
205 |
$unit = esc_html__( 'g', 'wp-recipe-maker' );
|
206 |
|
207 |
+
if ( 'serving_size' === $field && isset( $nutrition['serving_unit'] ) && $nutrition['serving_unit'] ) {
|
208 |
$unit = $nutrition['serving_unit'];
|
209 |
} elseif ( 'calories' === $field ) {
|
210 |
$unit = esc_html__( 'kcal', 'wp-recipe-maker' );
|
includes/{admin → public}/class-wprm-recipe-parser.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
-
* @subpackage WP_Recipe_Maker/includes/
|
10 |
*/
|
11 |
|
12 |
/**
|
@@ -14,7 +14,7 @@
|
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
* @package WP_Recipe_Maker
|
17 |
-
* @subpackage WP_Recipe_Maker/includes/
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Recipe_Parser {
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/public
|
10 |
*/
|
11 |
|
12 |
/**
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
* @package WP_Recipe_Maker
|
17 |
+
* @subpackage WP_Recipe_Maker/includes/public
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Recipe_Parser {
|
includes/{admin → public}/class-wprm-recipe-sanitizer.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
-
* @subpackage WP_Recipe_Maker/includes/
|
10 |
*/
|
11 |
|
12 |
/**
|
@@ -14,7 +14,7 @@
|
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
* @package WP_Recipe_Maker
|
17 |
-
* @subpackage WP_Recipe_Maker/includes/
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Recipe_Sanitizer {
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/public
|
10 |
*/
|
11 |
|
12 |
/**
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
* @package WP_Recipe_Maker
|
17 |
+
* @subpackage WP_Recipe_Maker/includes/public
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Recipe_Sanitizer {
|
includes/{admin → public}/class-wprm-recipe-saver.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
-
* @subpackage WP_Recipe_Maker/includes/
|
10 |
*/
|
11 |
|
12 |
/**
|
@@ -14,7 +14,7 @@
|
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
* @package WP_Recipe_Maker
|
17 |
-
* @subpackage WP_Recipe_Maker/includes/
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Recipe_Saver {
|
@@ -218,6 +218,7 @@ class WPRM_Recipe_Saver {
|
|
218 |
'post_status' => $post->post_status,
|
219 |
'post_author' => $post->post_author,
|
220 |
'post_date' => $post->post_date,
|
|
|
221 |
'post_modified' => $post->post_modified,
|
222 |
);
|
223 |
wp_update_post( $recipe );
|
6 |
* @since 1.0.0
|
7 |
*
|
8 |
* @package WP_Recipe_Maker
|
9 |
+
* @subpackage WP_Recipe_Maker/includes/public
|
10 |
*/
|
11 |
|
12 |
/**
|
14 |
*
|
15 |
* @since 1.0.0
|
16 |
* @package WP_Recipe_Maker
|
17 |
+
* @subpackage WP_Recipe_Maker/includes/public
|
18 |
* @author Brecht Vandersmissen <brecht@bootstrapped.ventures>
|
19 |
*/
|
20 |
class WPRM_Recipe_Saver {
|
218 |
'post_status' => $post->post_status,
|
219 |
'post_author' => $post->post_author,
|
220 |
'post_date' => $post->post_date,
|
221 |
+
'post_date_gmt' => $post->post_date,
|
222 |
'post_modified' => $post->post_modified,
|
223 |
);
|
224 |
wp_update_post( $recipe );
|
includes/public/class-wprm-shortcode.php
CHANGED
@@ -192,7 +192,7 @@ class WPRM_Shortcode {
|
|
192 |
* @param mixed $content Content we want to filter before it gets passed along.
|
193 |
*/
|
194 |
public static function automatically_add_recipe_snippets( $content ) {
|
195 |
-
if ( WPRM_Settings::get( 'recipe_snippets_automatically_add' ) ) {
|
196 |
$text = '<div class="wprm-automatic-recipe-snippets">' . do_shortcode( WPRM_Settings::get( 'recipe_snippets_text' ) ) . '</div>';
|
197 |
$content = $text . $content;
|
198 |
}
|
192 |
* @param mixed $content Content we want to filter before it gets passed along.
|
193 |
*/
|
194 |
public static function automatically_add_recipe_snippets( $content ) {
|
195 |
+
if ( WPRM_Settings::get( 'recipe_snippets_automatically_add' ) && is_singular() ) {
|
196 |
$text = '<div class="wprm-automatic-recipe-snippets">' . do_shortcode( WPRM_Settings::get( 'recipe_snippets_text' ) ) . '</div>';
|
197 |
$content = $text . $content;
|
198 |
}
|
includes/public/class-wprm-template-helper.php
CHANGED
@@ -181,7 +181,7 @@ class WPRM_Template_Helper {
|
|
181 |
$output .= '</span> <span class="wprm-recipe-details-unit wprm-recipe-details-unit-hours wprm-recipe-' . $type . '-unit wprm-recipe-' . $type . 'unit-hours">';
|
182 |
|
183 |
if ( $shorthand ) {
|
184 |
-
$output .= $hours > 1 ? __( '
|
185 |
} else {
|
186 |
$output .= $hours > 1 ? __( 'hours', 'wp-recipe-maker' ) : __( 'hour', 'wp-recipe-maker' );
|
187 |
}
|
181 |
$output .= '</span> <span class="wprm-recipe-details-unit wprm-recipe-details-unit-hours wprm-recipe-' . $type . '-unit wprm-recipe-' . $type . 'unit-hours">';
|
182 |
|
183 |
if ( $shorthand ) {
|
184 |
+
$output .= $hours > 1 ? __( 'hrs', 'wp-recipe-maker' ) : __( 'hr', 'wp-recipe-maker' );
|
185 |
} else {
|
186 |
$output .= $hours > 1 ? __( 'hours', 'wp-recipe-maker' ) : __( 'hour', 'wp-recipe-maker' );
|
187 |
}
|
readme.txt
CHANGED
@@ -4,6 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: recipe, recipes, ingredients, food, cooking, seo, schema.org, json-ld
|
5 |
Requires at least: 4.4
|
6 |
Tested up to: 4.9
|
|
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -14,6 +15,9 @@ The easy and user-friendly recipe plugin for everyone. Automatic JSON-LD metadat
|
|
14 |
|
15 |
[WP Recipe Maker](http://bootstrapped.ventures/wp-recipe-maker/) is the easy recipe plugin that everyone can use. An easy workflow allows you to add recipes to any post or page with automatic JSON-LD metadata for your recipes. This recipe metadata will improve your SEO and get you more visitors!
|
16 |
|
|
|
|
|
|
|
17 |
> <strong>Get the most out of WP Recipe Maker!</strong><br>
|
18 |
> Join our [self-paced email course](https://www.getdrip.com/forms/86388969/submissions/new) and we'll help you get started and learn all the tips and trick for using this plugin.
|
19 |
|
@@ -105,6 +109,18 @@ Yes! We pride ourselves on offering awesome support and almost always answer sup
|
|
105 |
|
106 |
== Changelog ==
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
= 1.26.0 =
|
109 |
* Feature: Setting to automatically add recipe snippets like Jump to Recipe
|
110 |
* Feature: Create recipes on the Manage page
|
@@ -377,6 +393,12 @@ Yes! We pride ourselves on offering awesome support and almost always answer sup
|
|
377 |
|
378 |
== Upgrade notice ==
|
379 |
|
|
|
|
|
|
|
|
|
|
|
|
|
380 |
= 1.26.0 =
|
381 |
Update to prevent issues with the recipe metadata
|
382 |
|
4 |
Tags: recipe, recipes, ingredients, food, cooking, seo, schema.org, json-ld
|
5 |
Requires at least: 4.4
|
6 |
Tested up to: 4.9
|
7 |
+
Requires PHP: 5.2.4
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
|
16 |
[WP Recipe Maker](http://bootstrapped.ventures/wp-recipe-maker/) is the easy recipe plugin that everyone can use. An easy workflow allows you to add recipes to any post or page with automatic JSON-LD metadata for your recipes. This recipe metadata will improve your SEO and get you more visitors!
|
17 |
|
18 |
+
Would you like to see this recipe plugin in action before installing it? Take a look at this introduction video:
|
19 |
+
https://www.youtube.com/watch?v=AtvGLRtTQgg
|
20 |
+
|
21 |
> <strong>Get the most out of WP Recipe Maker!</strong><br>
|
22 |
> Join our [self-paced email course](https://www.getdrip.com/forms/86388969/submissions/new) and we'll help you get started and learn all the tips and trick for using this plugin.
|
23 |
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 1.27.0 =
|
113 |
+
* Feature: Create and update recipes via REST API
|
114 |
+
* Improvement: Only show automatically added snippets on singular pages
|
115 |
+
* Improvement: Only show warning when changes have actually been made
|
116 |
+
* Improvement: Introduction video on the welcome page
|
117 |
+
* Fix: Status of recipes in scheduled posts
|
118 |
+
* Fix: Show correct plural or singular form for hours
|
119 |
+
* Fix: Prevent PHP notice caused by metadata
|
120 |
+
|
121 |
+
= 1.26.1 =
|
122 |
+
* Fix: Modal overlay problem
|
123 |
+
|
124 |
= 1.26.0 =
|
125 |
* Feature: Setting to automatically add recipe snippets like Jump to Recipe
|
126 |
* Feature: Create recipes on the Manage page
|
393 |
|
394 |
== Upgrade notice ==
|
395 |
|
396 |
+
= 1.27.0 =
|
397 |
+
Update for a few bug fixes and improvements
|
398 |
+
|
399 |
+
= 1.26.1 =
|
400 |
+
Update to prevent the modal overlay from blocking TinyMCE functionality
|
401 |
+
|
402 |
= 1.26.0 =
|
403 |
Update to prevent issues with the recipe metadata
|
404 |
|
templates/admin/menu/faq/support.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
<p>Unfortunately there are many things that can go wrong when you're working together with themes and plugins created by other developers. But don't worry, we're here to help!</p>
|
15 |
<h3>How to get help</h3>
|
16 |
<h4>Documentation</h4>
|
17 |
-
<p>More documentation and demos can be found on the <a href="
|
18 |
<h4>Chat with us</h4>
|
19 |
<p>In the bottom-right of this page you can find a chat widget that allows you to contact us directly. Just wait a few seconds if it doesn't show up immediately.</p>
|
20 |
<h4>Send us a message</h4>
|
14 |
<p>Unfortunately there are many things that can go wrong when you're working together with themes and plugins created by other developers. But don't worry, we're here to help!</p>
|
15 |
<h3>How to get help</h3>
|
16 |
<h4>Documentation</h4>
|
17 |
+
<p>More documentation and demos can be found on the <a href="https://bootstrapped.ventures/wp-recipe-maker/documentation/" target="_blank">WP Recipe Maker website</a>.</p>
|
18 |
<h4>Chat with us</h4>
|
19 |
<p>In the bottom-right of this page you can find a chat widget that allows you to contact us directly. Just wait a few seconds if it doesn't show up immediately.</p>
|
20 |
<h4>Send us a message</h4>
|
templates/admin/menu/faq/welcome.php
CHANGED
@@ -11,6 +11,9 @@
|
|
11 |
|
12 |
?>
|
13 |
|
|
|
|
|
|
|
14 |
<h3>Get the most out of WP Recipe Maker!</h3>
|
15 |
<p>
|
16 |
Join our self-paced email course to <strong>help you get started</strong> and learn about all the <strong>tips and tricks</strong> to get the most out of WP Recipe Maker.
|
11 |
|
12 |
?>
|
13 |
|
14 |
+
<h3>Video Introduction</h3>
|
15 |
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/AtvGLRtTQgg?rel=0" frameborder="0" allowfullscreen></iframe>
|
16 |
+
|
17 |
<h3>Get the most out of WP Recipe Maker!</h3>
|
18 |
<p>
|
19 |
Join our self-paced email course to <strong>help you get started</strong> and learn about all the <strong>tips and tricks</strong> to get the most out of WP Recipe Maker.
|
templates/admin/menu/faq/whats_new.php
CHANGED
@@ -11,6 +11,18 @@
|
|
11 |
|
12 |
?>
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
<h3>2017-11-22 | WP Recipe Maker 1.26.0</h3>
|
15 |
<ul>
|
16 |
<li>Feature: Setting to automatically add recipe snippets like Jump to Recipe</li>
|
11 |
|
12 |
?>
|
13 |
|
14 |
+
<h3>2017-12-01 | WP Recipe Maker 1.27.0</h3>
|
15 |
+
<ul>
|
16 |
+
<li>Feature: Create and update recipes via REST API</li>
|
17 |
+
<li>Improvement: Only show automatically added snippets on singular pages</li>
|
18 |
+
<li>Improvement: Only show warning when changes have actually been made</li>
|
19 |
+
<li>Improvement: Introduction video on the welcome page</li>
|
20 |
+
<li>Fix: Status of recipes in scheduled posts</li>
|
21 |
+
<li>Fix: Show correct plural or singular form for hours</li>
|
22 |
+
<li>Fix: Prevent PHP notice caused by metadata</li>
|
23 |
+
<li>Fix: Modal overlay problem</li>
|
24 |
+
</ul>
|
25 |
+
|
26 |
<h3>2017-11-22 | WP Recipe Maker 1.26.0</h3>
|
27 |
<ul>
|
28 |
<li>Feature: Setting to automatically add recipe snippets like Jump to Recipe</li>
|
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.27.0
|
19 |
* Author: Bootstrapped Ventures
|
20 |
* Author URI: http://bootstrapped.ventures/
|
21 |
* License: GPL-2.0+
|