Plugin Directory

Changeset 3022874


Ignore:
Timestamp:
01/17/2024 10:52:39 AM (2 years ago)
Author:
wpeventmanager
Message:

Released version 1.0.5

Location:
wp-food-manager/trunk
Files:
59 edited

Legend:

Unmodified
Added
Removed
  • wp-food-manager/trunk/admin/templates/food-data-ingredient.php

    r2930934 r3022874  
    22
    33/**
    4  *  Template ingredient panel
     4 * Template ingredient panel.
    55 */
    66
     
    6262                                "<label>" . esc_html($ingTermName) . "</label>" .
    6363                                "<div class='wpfm-sortable-item-values'>" .
    64                                 "<input type='number' step='0.1' class='item-value' name='food_ingredients[" . esc_attr($ingTermID) . "][value]' value='" . esc_attr($ingValue) . "'>" .
     64                                "<input type='number' step='any' class='item-value' name='food_ingredients[" . esc_attr($ingTermID) . "][value]' value='" . esc_attr($ingValue) . "'>" .
    6565                                "<select name='food_ingredients[" . esc_attr($ingTermID) . "][unit_id]' class='item-unit'>" .
    6666                                "<option value=''>Unit</option>";
  • wp-food-manager/trunk/admin/templates/food-data-nutrition.php

    r2930934 r3022874  
    22
    33/**
    4  *  Template nutrition panel
     4 *  Template nutrition panel.
    55 */
    66
     
    6060                                "<label>" . esc_html($nutriTermName) . "</label>" .
    6161                                "<div class='wpfm-sortable-item-values'>" .
    62                                 "<input type='number' step='0.1' class='item-value' name='food_nutritions[" . esc_attr($nutriTermID) . "][value]' value='" . esc_attr($nutriValue) . "'>" .
     62                                "<input type='number' step='any' class='item-value' name='food_nutritions[" . esc_attr($nutriTermID) . "][value]' value='" . esc_attr($nutriValue) . "'>" .
    6363                                "<select name='food_nutritions[" . esc_attr($nutriTermID) . "][unit_id]' class='item-unit'>" .
    6464                                "<option value=''>Unit</option>";
  • wp-food-manager/trunk/admin/templates/food-data-toppings.php

    r2930934 r3022874  
    22
    33/**
    4  * Template Extra Option panel
     4 * Template Extra Option panel.
    55 */
    66$food_toppings = get_post_meta($thepostid, '_food_toppings', true);
  • wp-food-manager/trunk/admin/wpfm-admin.php

    r2930934 r3022874  
    55 */
    66if (!defined('ABSPATH')) {
    7     exit; // Exit if accessed directly
     7    exit; // Exit if accessed directly.
    88}
    99
     
    4444
    4545    /**
    46      * __construct function
     46     * __construct function.
    4747     *
    4848     * @access public
     
    5858
    5959    /**
    60      * Ran on WP admin_init hook
     60     * Ran on WP admin_init hook.
    6161     *
    6262     * @access public
  • wp-food-manager/trunk/admin/wpfm-field-editor.php

    r2930934 r3022874  
    3030
    3131    /**
    32      * Constructor
     32     * Constructor.
    3333     */
    3434    public function __construct() {
     
    261261                );
    262262
    263                 // Find the numers keys from the fields array and replace with lable if label not exist remove that field
     263                // Find the numers keys from the fields array and replace with lable if label not exist remove that field.
    264264                foreach ($new_fields as $group_key => $group_fields) {
    265265                    $index = 0;
     
    312312                    }
    313313                }
    314                 // merge field with default fields
     314                // merge field with default fields.
    315315                $GLOBALS['food_manager']->forms->get_form('add-food', array());
    316316                $form_add_food_instance = call_user_func(array('WPFM_Add_Food_Form', 'instance'));
    317317                $food_fields = $form_add_food_instance->get_default_food_fields();
    318318
    319                 // if field in not exist in new fields array then make visiblity false
     319                // if field in not exist in new fields array then make visiblity false.
    320320                if (!empty($food_fields)) {
    321321                    foreach ($food_fields as $group_key => $group_fields) {
     
    337337                }
    338338
    339                 // This will be removed in future
     339                // This will be removed in future.
    340340                $result = update_option('food_manager_form_fields', $new_fields);
    341341            }
  • wp-food-manager/trunk/admin/wpfm-permalink-settings.php

    r2914276 r3022874  
    4242
    4343    /**
    44      * Constructor
     44     * Constructor.
    4545     */
    4646    public function __construct() {
  • wp-food-manager/trunk/admin/wpfm-settings.php

    r2914276 r3022874  
    44*/
    55
    6 // Exit if accessed directly
     6// Exit if accessed directly.
    77if (!defined('ABSPATH')) exit;
    88
     
    6767     */
    6868    public function init_settings() {
    69         // Prepare roles option
     69        // Prepare roles option.
    7070        $roles         = get_editable_roles();
    7171        $account_roles = array();
     
    514514                            <div class="wpfm-setup-help-center-block-heading"><?php esc_attr_e('Video Tutorials', 'wp-food-manager'); ?></div>
    515515                            <div class="wpfm-setup-help-center-block-desc"><?php esc_attr_e('Learn different skills by examining attractive video tutorials.', 'wp-food-manager'); ?></div>
    516                             <a href="#" target="_blank" class="wpfm-setup-help-center-block-link"><span class="wpfm-setup-help-center-box-target-text"><?php esc_attr_e('Watch all', 'wp-food-manager'); ?> »</span></a>
     516                            <a href="https://www.youtube.com/channel/UC5j54ZQs7DLM8Dcvc2FwpPQ" target="_blank" class="wpfm-setup-help-center-block-link"><span class="wpfm-setup-help-center-box-target-text"><?php esc_attr_e('Watch all', 'wp-food-manager'); ?> »</span></a>
    517517                        </div>
    518518                    </div>
     
    527527    /**
    528528     * Creates Multiselect checkbox.
    529      * This function generate multiselect 
     529     * This function generate multiselect.
    530530     *
    531531     * @access public
  • wp-food-manager/trunk/admin/wpfm-setup.php

    r2914276 r3022874  
    245245                                        <div class="wpfm-setup-help-center-block-content">
    246246                                            <div class="wpfm-setup-help-center-block-heading"><?php esc_attr_e('Video Tutorials', 'wp-food-manager'); ?></div>
    247                                             <div class="wpfm-setup-help-center-block-desc"><?php esc_attr_e('Coming Soon...', 'wp-food-manager'); ?></div>
     247                                            <div class="wpfm-setup-help-center-block-desc"><?php esc_attr_e('Learn different skills by examining attractive video tutorials.', 'wp-food-manager'); ?></div>
     248                                            <a href="https://www.youtube.com/channel/UC5j54ZQs7DLM8Dcvc2FwpPQ" target="_blank" class="wpfm-setup-help-center-block-link"><span class="wpfm-setup-help-center-box-target-text"><?php esc_attr_e('Watch all', 'wp-food-manager'); ?> »</span></a>
    248249                                        </div>
    249250                                    </div>
     
    270271
    271272    /**
    272      * Sanitize a 2 dimension array
     273     * Sanitize a 2 dimension array.
    273274     *
    274275     * @access private
  • wp-food-manager/trunk/assets/css/backend.min.css

    r2902328 r3022874  
    1 #food_manager_data ul.wpfm-tabs li a::before,.widefat th.column-food_banner span:before{font-family:Dashicons;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased}:root{--wpfm-primary-color:#ff4600}.food_manager_page_food-manager-settings #adminmenuwrap{position:relative!important}.wpfm-food-icon-class{display:grid;grid-template-columns:auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto;overflow-y:auto;grid-auto-rows:48px;height:auto;margin-bottom:0;max-height:240px}.wpfm-food-icon-class i.fa{font-size:18px}.wpfm-food-icon-class span.wpfm-menu{font-size:26px}h2.wp-food-menu-icon-title{background:#ddd;font-size:16px!important;font-weight:500!important}.no-radio-icons{display:none;text-align:right}.wpfm-parent-icons{display:inline-block;vertical-align:top;position:relative;width:100%;text-align:right}span.wpfm-searh-clear{position:absolute;right:10px;left:auto;top:15px;cursor:pointer;display:none}.sub-font-icon{border:1px solid #ddd;padding:12px 5px;text-align:center;position:relative;z-index:9;height:22px}.sub-font-icon input[type=radio]:hover+label span.wpfm-key-name{font-size:10px;position:absolute;top:1px;background:#000;color:#fff;border-radius:5px;left:5px;right:5px;width:auto;z-index:99;padding:1px 0 3px}.sub-font-icon input[type=radio]:hover+label span.wpfm-key-name::before{background:#000;content:'';height:10px;width:10px;position:absolute;left:0;right:0;bottom:-3px;transform:rotate(45deg);margin:0 auto;z-index:-1}.sub-font-icon input[type=radio]{opacity:0}.sub-font-icon input[type=radio]+label{margin-left:-20px;font-size:0}.sub-font-icon input[type=radio]:checked+label::after{background:#333;content:'';position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1}.sub-font-icon input[type=radio]:checked+label i,.sub-font-icon input[type=radio]:checked+label span{color:#fff}.sub-font-icon input[type=radio]:checked - .sub-font-icon{border-color:#333}.wpfm-metaboxes-wrapper .wpfm-actions,.wpfm_panel .wpfm-admin-postbox-form-group{border-top:1px solid #fff;border-bottom:1px solid #eee}#wpfm_icon_search{margin:10px 0 15px}.menu-icon-food_manager .wp-menu-image img{width:28px;margin-top:0;padding-top:3px!important;max-width:100%}.wpfm-admin-left-col,.wpfm-admin-right-col{display:inline-flex;align-items:center}button.button.button-small.wp_food_manager_upload_file_button,button.button.button-small.wp_food_manager_upload_file_button_multiple{margin-top:5px}.food-manager-uploaded-file span.wpfm-icon{border:2px solid #e4e4e4;display:inline-block;padding:10px;border-radius:4px;box-sizing:border-box}.wpfm-food-menu li{display:flex;justify-content:space-between;align-items:center}.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field label{display:block;font-weight:700;margin:0}.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field{line-height:2em;box-sizing:border-box;padding:0 12px 0 0;margin:0 -1px}.wpfm-admin-postbox-drop-btn{width:80px}.wpfm-admin-postbox-drop-btn input#wpfm-admin-add-food{font-size:13px}label.add-food-small{font-weight:500!important;color:#787c82}.wpfm-admin-postbox-drop-btn input[type=button],.wpfm-admin-postbox-form-field .wpfm-admin-postbox-file_url input:first-child,.wpfm-admin-postbox-form-field .wpfm-admin-postbox-file_url select:first-child{flex:1}.wpfm-admin-postbox-form-field .wpfm-admin-postbox-file_url,.wpfm-admin-postbox-meta-data{display:flex;flex-wrap:wrap}.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field input,.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field select{width:100%;max-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle}.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field .checkbox{width:1em}.wpfm-admin-postbox-drop-btn,.wpfm-food-item-remove span.dashicons.dashicons-dismiss{display:flex}.wpfm-admin-food-menu-container.wpfm-flex-col.wpfm-admin-postbox-meta-data{flex-direction:column}.wpfm-admin-menu-selection.wpfm-admin-postbox-form-field{max-width:270px}.wpfm-admin-food-menu-items .wpfm-admin-left-col span.dashicons,span.food-manager-uploaded-file{margin-right:10px}.wpfm-food-menu.menu li.menu-item-handle:last-child{margin-bottom:10px}.wpfm-food-menu.menu li.menu-item-handle{margin-bottom:5px;max-width:600px}.wpfm-food-item-remove{text-decoration:none}.wp-food-manager-food-form-field-editor .save-actions .reset:hover,.wp-food-manager-food-form-field-editor table .field-actions a.delete-field:hover,.wpfm-food-item-remove:hover{color:red}#food_manager_data .inside{margin:0;padding:0}#food_manager_data .panel-wrap{overflow:hidden;background:#fff}#food_manager_data ul.wpfm-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#food_manager_data ul.wpfm-tabs li{margin:0;padding:0;display:block;position:relative}#food_manager_data ul.wpfm-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px!important;border-bottom:1px solid #eee;border-left:3px solid transparent}#food_manager_data ul.wpfm-tabs li a span{margin-left:.618em;margin-right:.618em}#food_manager_data ul.wpfm-tabs li.general_options a::before{content:"\f107"}#food_manager_data ul.wpfm-tabs li.advanced_tab a::before{content:"\f111"}#food_manager_data ul.wpfm-tabs li.nutritions_tab a::before{content:"\f511"}#food_manager_data ul.wpfm-tabs li.ingredient_tab a::before{content:"\f175"}#food_manager_data ul.wpfm-tabs li a::before{font-weight:400;line-height:1;content:"\f107";text-decoration:none}#food_manager_data ul.wpfm-tabs li.toppings_tab a::before{content:"\f509"}#food_manager_data .wpfm_panel{float:left;width:80%}.wpfm_panel{min-height:175px;box-sizing:border-box}.panel,.wpfm_panel{color:#555}#food_manager_data .wpfm-tabs a.nav-tab-active{border-left:3px solid #0b8ac7}.wpfm_panel p.wpfm-admin-postbox-form-field{padding:5px 20px 5px 200px!important;display:flex;align-items:center;column-gap:5px}#advanced_product_data p.wpfm-admin-postbox-form-field,.type-food_manager td.food_banner.column-food_banner{display:flex;align-items:center}.wpfm_panel label{float:left;width:200px;padding:0;margin:0 0 0 -200px;font-size:14px;color:#555}.wpfm_panel .wpfm-small-field,.wpfm_panel input[type=email].wpfm-small-field,.wpfm_panel input[type=number].wpfm-small-field,.wpfm_panel input[type=password].wpfm-small-field,.wpfm_panel input[type=text].wpfm-small-field,.wpfm_panel input[type=url].wpfm-small-field{width:50%}.wpfm_panel .wpfm-admin-postbox-form-group:first-child{border-top:0}#food_manager_data ul.wpfm-tabs::after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}.wpfm_panel p{margin:9px 0;font-size:12px;line-height:24px}.wpfm_panel .description{padding:0;margin:0 0 0 7px;clear:none;display:inline}.wpfm_panel .checkbox{margin:4px 0!important;vertical-align:middle}.wpfm-metaboxes{padding:.5em .75em .5em 1em!important}.wpfm-metaboxes .wpfm-metabox.closed h3{border:0}.wpfm-metaboxes .wpfm-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:pointer}.wpfm-metaboxes .wpfm-metabox.wpfm_attribute h3 .wpfm-sort,.wpfm-metaboxes .wpfm-metabox.wpfm_attribute h3 .wpfm-togglediv,.wpfm-metaboxes .wpfm-metabox.wpfm_attribute h3 a.wpfm-delete-btn{margin-top:.25em}.wpfm-metaboxes .wpfm-metabox h3 a.wpfm-delete-btn{color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative}.wpfm-metaboxes .wpfm-metabox h3 a.wpfm-delete-btn,.wpfm-metaboxes .wpfm-metabox h3 button,a.button.wpfm-add-row{float:right}.wpfm-metaboxes .wpfm-metabox h3 .wpfm-togglediv{background-position:6px 5px!important;height:26px}.wpfm-metaboxes .wpfm-metabox .wpfm-togglediv{width:27px;float:right}.wpfm-attributes-wrap h3 .wpfm-sort{visibility:hidden;width:17px;height:26px;cursor:move;float:right;font-size:15px;font-weight:400;margin-right:.5em;text-align:center;vertical-align:middle}.wpfm-tooltip{cursor:help;text-decoration:none}#toppings_food_data_content .wpfm-admin-options-table .widefat tfoot,#toppings_food_data_content .wpfm-admin-options-table .widefat thead{background:#f6f7f7}.wpfm-input-field.parent-option-description{display:flex;flex-flow:column;row-gap:12px}.wpfm-metaboxes-wrapper .wpfm-metabox:nth-child(2n) h3{background:#ebebeb}.wpfm-metaboxes .wpfm-metabox .wpfm-togglediv::before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wpfm-metaboxes .wpfm-metabox.closed .wpfm-togglediv::before{content:"\f140"!important}.wpfm-metaboxes .wpfm-metabox h3 strong{margin-right:10px;line-height:26px;font-weight:700}.wpfm-attributes-wrap h3 .wpfm-sort::before{content:"\f333";font-family:Dashicons;text-align:center;line-height:28px;color:#999;display:block;width:17px;float:left;height:100%}.wpfm-attributes-wrap h3 .wpfm-sort:hover::before{color:#777}.wpfm-attributes-box{background-color:#fdfdfd;border-top:1px solid #eee}.wpfm-content{padding:1em}.wpfm-attributes-wrap .wpfm-content::after,.wpfm-attributes-wrap .wpfm-content::before{content:" ";display:table}.wpfm-form-row.wpfm-form-row-first,.wpfm-form-row.wpfm-form-row-last{width:48%;float:right}.wpfm-form-row.wpfm-form-row-first{clear:both;float:left}.wpfm-content::after,.wpfm-form-row.wpfm-form-row-full{clear:both}.wpfm-form-row label{display:inline-block;float:none;width:auto;margin:auto}.wpfm-form-row input[type=color],.wpfm-form-row input[type=date],.wpfm-form-row input[type=datetime-local],.wpfm-form-row input[type=datetime],.wpfm-form-row input[type=email],.wpfm-form-row input[type=month],.wpfm-form-row input[type=number],.wpfm-form-row input[type=password],.wpfm-form-row input[type=search],.wpfm-form-row input[type=tel],.wpfm-form-row input[type=text],.wpfm-form-row input[type=time],.wpfm-form-row input[type=url],.wpfm-form-row input[type=week],.wpfm-form-row select,.wpfm-form-row textarea{width:100%;vertical-align:middle;margin:2px 0 0;padding:5px}.wpfm-form-row select{height:40px}.wpfm-metaboxes-wrapper .wpfm-actions{margin:0!important;padding:9px 12px!important}.wpfm-metaboxes-wrapper .wpfm-metabox{background:#fff;margin:15px 0 0!important;border-bottom:1px solid #c3c4c7;border-radius:4px}.wpfm-actions .wpfm-add-button{display:block;margin-left:auto}.wpfm-metaboxes .wpfm-metabox .wpfm-metabox-content .wpfm-metabox-footer.wpfm-actions{padding-top:0!important;margin-right:auto!important}td.fm_categories.column-fm_categories span.food-category{background:#f0f0f0;padding:5px 7px;margin:3px;word-wrap:unset;display:inline-block;vertical-align:top;border-radius:4px}input[name="_food_veg_nonveg"]{border-radius:0}._food_veg_nonveg .radio.vegetarian{border-color:#2a0}._food_veg_nonveg .radio.vegetarian:focus{box-shadow:0 0 0 1px #2a0}._food_veg_nonveg .radio.vegetarian:checked::before{background-color:#2a0}._food_veg_nonveg .radio.non-vegetarian{border-color:red}._food_veg_nonveg .radio.non-vegetarian:focus{box-shadow:0 0 0 1px red}._food_veg_nonveg .radio.non-vegetarian:checked::before{background-color:red}.wpfm_panel .wpfm-admin-postbox-form-field._food_veg_nonveg span.wpfm-input-field label{float:none;margin:0 5px 0 0}.wpfm_panel .wpfm-admin-postbox-form-field span.wpfm-input-field label{float:none;margin:0}mark.fm_outofstock{color:#a44;background:0 0;font-weight:700}mark.fm_instock{color:#7ad03a;background:0 0;font-weight:700}.widefat th.column-food_banner span{display:inline-block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;font-size:14px}.widefat th.column-food_banner span:before{font-weight:400;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}#the-list .column-food_banner img.wpfm-organic-tag-icon{margin-left:10px;width:20px;max-width:100%}.parent-organic-tag{position:relative;display:inline-block;vertical-align:top;cursor:help}.parent-organic-tag:hover::before{content:attr(data-icon-type);position:absolute;right:auto;background:#464646;color:#fff;font-size:11px;border-radius:4px;left:36px;top:0;padding:3px 10px;z-index:9;width:auto}.parent-organic-tag:hover::after{content:'';background:#464646;height:9px;width:9px;position:absolute;transform:rotate(45deg);top:7px;right:-12px}#wpfm-ingredient-container,#wpfm-nutrition-container{padding:5px;display:-webkit-box;display:-ms-flexbox;display:flex}.wpfm-lists-container .wpfm-active-list.wpfm-sortable-list{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:5px}.wpfm-lists-container .wpfm-sortable-list{position:relative;padding:50px 10px 10px;border:1px solid #dcdcde;margin:0;min-height:50px;-webkit-box-flex:2;-ms-flex:2;flex:2}.wpfm-sortable-list:before{content:attr(data-title);background:#f6f7f7;padding:10px 0;text-align:center;font-weight:700;position:absolute;display:block;width:100%;top:0;margin-left:-10px;border-bottom:1px solid #dcdcde}.post-type-food_manager .ui-sortable tr:hover,.wpfm-sortable-list .wpfm-sortable-item{cursor:move}.wpfm-sortable-list .wpfm-sortable-item label{cursor:move;width:auto;float:none;margin:0}.wpfm-clear::after{clear:both;content:"";display:block}.wpfm-sortable-list .wpfm-item-search.with-title{margin-bottom:30px;padding:15px 15px 15px 20px;background:#f6f7f7;margin-left:5px;border:1px solid #dcdcde}.wpfm-sortable-list .wpfm-item-search.with-title .wpfm-search-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;float:none;margin:0;width:auto}.wpfm-sortable-list .wpfm-item-search.with-title .wpfm-search-label span{margin-right:30px;font-size:15px}.wpfm-sortable-list .wpfm-item-search.with-title .wpfm-search-label input{min-height:36px;min-width:250px}.wpfm-available-list .wpfm-sortable-item{width:150px;float:left;background:#f6f7f7;padding:8px 5px;margin:5px;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.4;border:1px solid #dcdcde}.wpfm-sortable-item-values>*{width:48%;box-sizing:border-box}.wpfm-active-list .wpfm-sortable-item{background:#f6f7f7;padding:10px 5px 10px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;border:1px solid #dcdcde}.wpfm-active-list .wpfm-sortable-item+li{margin-top:6px}.wrap.food-manager-settings-wrap h2.nav-tab-wrapper{margin-bottom:20px}.wpfm_error_tip{color:#fff;font-size:.8em;background:#d82223;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);max-width:20em;line-height:1.8em;position:absolute;white-space:normal;margin:1.5em 1px 0 -1em;z-index:9999999}.wpfm_error_tip::after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}.wpfm_panel label.wpfm-field-switch{position:relative;display:inline-block;width:50px;height:24px;float:none;margin:0}.wpfm-input-field{background:#f6f7f7;padding:15px;position:relative;border-radius:4px;border:1px solid #dcdcde;margin:0;width:100%;display:inline-block;vertical-align:top;box-sizing:border-box}.wpfm-input-field .wp-editor-container textarea{height:126px;width:100%;border:0;box-shadow:none}.wpfm-field-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d3d6df;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.wpfm-field-switch-slider.round{border-radius:34px}.wpfm-field-switch-slider.round:before{border-radius:50%}.wpfm-field-switch input{opacity:0;width:0;height:0}.wpfm-field-switch input[type=checkbox]:checked::before{content:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E");margin:-.1875rem 0 0 -.25rem;height:1.3125rem;width:1.3125rem}.wpfm-field-switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}input:checked+.wpfm-field-switch-slider{background-color:var(--wpfm-primary-color)}input:checked+.wpfm-field-switch-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}div#wpfm-loading{position:fixed;width:100%;height:100%;z-index:999999999;background:rgba(0,0,0,.7);top:0}#wpfm-loading span.wpfm-loading{display:block;top:50%;position:fixed;color:#fff;font-size:20px;font-weight:700;width:100%;text-align:center}.widefat .column-food_actions{text-align:right;width:120px}.widefat .column-food_actions .actions{padding-top:2px}.widefat .column-food_actions a.button{display:inline-block;margin:0 0 2px 4px;cursor:pointer;padding:0 6px!important;font-size:1em!important;line-height:2em!important;overflow:hidden}.widefat .column-food_actions a.button-icon{width:2em!important;padding:0!important}.wp-food-manager-food-form-field-editor table tr:nth-child(odd) td{background-color:#f9f9f9}.wp-food-manager-food-form-field-editor table .sort-column{cursor:move;color:#ccc}.wp-food-manager-food-form-field-editor table td{overflow:visible;padding:1em 0 1em 1em;vertical-align:middle}.wp-food-manager-food-form-field-editor table .sort-column:before{content:"\f333";font-family:dashicons}.wp-food-manager-food-form-field-editor table td input.input-text,.wp-food-manager-food-form-field-editor table td select{width:100%;min-width:100px}.wp-food-manager-food-form-field-editor table td .file-options .multiple-files input{width:auto;display:inline-block;min-width:16px}.wp-food-manager-food-form-field-editor table td:last-child,.wp-food-manager-food-form-field-editor table th:last-child{padding-right:1em}.wp-food-manager-food-form-field-editor table .field-actions a.delete-field{color:#ccc;padding:1em 0 0;width:1em;height:0;overflow:hidden;display:inline-block;position:relative}.wp-food-manager-food-form-field-editor table .field-actions a.delete-field:before{content:"\f153";font-family:dashicons;font-size:1em;line-height:1em;vertical-align:top;position:absolute;top:0;left:0}.wp-food-manager-food-form-field-editor table tfoot th{vertical-align:middle;line-height:28px}.wp-food-manager-food-form-field-editor table th{padding:1em 0 1em 1em}.wp-food-manager-food-form-field-editor .save-actions{text-align:right}.wp-food-manager-food-form-field-editor .save-actions input{margin-left:1em}.wp-food-manager-food-form-field-editor .save-actions .reset{color:#bbb;text-decoration:none;position:relative;top:4px}.form-field .chosen-container{width:100%!important}.food-manager-uploaded-file-preview{display:inline-block;position:relative;vertical-align:top}.food-manager-uploaded-file-preview img{max-height:100px;max-width:100px;border:2px solid #ccc;border-radius:6px}.food-manager-uploaded-file-preview .food-manager-remove-uploaded-file{font-size:0;height:20px;width:20px;background:#fff;position:absolute;top:2px;right:2px;border-radius:0 4px;border:none;box-shadow:2px 2px 10px rgba(0,0,0,.2)}.food-manager-uploaded-file-preview .food-manager-remove-uploaded-file::before{content:"\ea0f";font-family:wp-food-manager;font-size:10px;color:red;top:50%;position:absolute;left:50%;transform:translate(-50%,-50%);transition:.2s}.food-manager-uploaded-files .food-manager-uploaded-file{margin-bottom:20px;display:inline-block;padding-right:20px}.wpfm-food-menu .menu-item-handle .item-title{word-break:break-word}.wpfm-admin-menu-selection select{margin-top:10px}.widefat td.food_banner.column-food_banner .food_banner img{max-width:60px;height:auto}span.no-menu-item-handle{font-size:14px;font-weight:500;background:bisque;padding:5px 10px;border-radius:4px;display:inline-block}a.wpfm-tooltip.food_title{cursor:pointer}.wpfm-metaboxes .wpfm-metabox-content.wpfm-variation-box{border-top:1px solid #ccd0d4}.white-background{float:left;width:100%;background-color:#fff;border:1px solid #e1e1e1;padding:10px;box-sizing:border-box;margin:0 0 20px}.wpfm-input-field .mce-btn.mce-active button,.wpfm-input-field .mce-btn.mce-active i,.wpfm-input-field .mce-btn.mce-active:hover button,.wpfm-input-field .mce-btn.mce-active:hover i{color:#595959}.admin-setting-left{float:left;width:70%}.box-info{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgb(0 0 0 / 4%);box-shadow:0 1px 1px rgb(0 0 0 / 4%);background:#fff;float:right!important;box-sizing:border-box;width:28%;padding:15px}.box-info h3{padding:0 0 10px 10px;font-size:14px;margin-top:5px;border-bottom:1px solid #efefef}.wpfm-plugin_info-inside{max-width:100%;overflow:hidden}.wpfm-plugin_info-inside .wpfm-setup-help-center-block{background:#fff;border:1px solid #e1e1e4;box-sizing:border-box;border-radius:7px;display:flex;margin-bottom:10px;padding:10px 15px;text-align:left;align-items:center}.wpfm-plugin_info-inside .wpfm-setup-help-center-block .wpfm-setup-help-center-block-icon{margin-right:25px}.wpfm-plugin_info-inside .wpfm-setup-help-center-faqs-icon,.wpfm-plugin_info-inside .wpfm-setup-help-center-knowledge-base-icon,.wpfm-plugin_info-inside .wpfm-setup-help-center-support-icon,.wpfm-plugin_info-inside .wpfm-setup-help-center-video-tutorial-icon{display:inline-block;background:url(../images/support-page-sprites-img.png) 0 0/140px no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.wpfm-plugin_info-inside .wpfm-setup-help-center-knowledge-base-icon{background-position:-68px 1px;width:60px;height:60px}.wpfm-plugin_info-inside .wpfm-setup-help-center-faqs-icon{background-position:-5px 1px;width:60px;height:60px}.wpfm-plugin_info-inside .wpfm-setup-help-center-video-tutorial-icon{background-position:-72px -62px;width:60px;height:60px}.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content .wpfm-setup-help-center-block-heading{font-weight:600;line-height:1.42;color:#111;font-size:16px;margin-bottom:5px}.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content .wpfm-setup-help-center-block-desc{font-size:14px;line-height:1.42;color:#555}.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content a.wpfm-setup-help-center-block-link{display:inline-block;font-size:14px;font-style:normal;font-weight:500;line-height:18px;margin-top:10px;position:relative;text-decoration:none;color:var(--wpfm-primary-color);transition:color .2s}.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content a.wpfm-setup-help-center-block-link:hover{color:#000}.wpfm-plugin_info-inside span.light-grey{text-align:center;display:block;padding-top:10px;font-size:14px;margin-top:5px;border-top:1px solid #efefef}.wpfm-plugin_info-inside a img{width:100%;display:block;max-width:200px;margin:5px auto 0}.wpfm-tooltip{position:relative}.wpfm-tooltip:hover:before{content:attr(wpfm-data-tip);background:#464646;color:#fff;font-size:11px;border-radius:4px;position:absolute;left:50%;top:calc(100% + 6px);padding:3px 10px;z-index:9999999999;width:auto;transform:translate(-50%,0);white-space:nowrap}.wpfm-tooltip:hover:after{content:'';background:#464646;height:9px;width:9px;position:absolute;transform:rotate(45deg);top:calc(100% + 2px);left:calc(50% - 4.5px)}.widefat .column-food_actions a.wpfm-tooltip{padding:0!important;width:30px;height:30px;text-align:center;overflow:inherit}.widefat .column-food_actions a.wpfm-tooltip span{line-height:30px;margin:0 auto;font-size:16px}span.toppings-radio-btn label{display:inline-block;margin-right:10px}span.toppings-radio-btn input[type=radio]{margin-right:0}span.toppings-radio-btn{margin-top:5px;display:block}.mce-btn button:hover{background:0 0;color:transparent}.mce-btn.mce-active button,.mce-btn.mce-active i,.mce-btn.mce-active:hover button,.mce-btn.mce-active:hover i{color:#000!important}@media only screen and (max-width:1280px){.wpfm_panel .wpfm-small-field,.wpfm_panel input[type=email].wpfm-small-field,.wpfm_panel input[type=number].wpfm-small-field,.wpfm_panel input[type=password].wpfm-small-field,.wpfm_panel input[type=text].wpfm-small-field{width:80%}.wpfm_panel .description{display:block;clear:both;margin-left:0}.admin-setting-left,.box-info{width:100%}}@media only screen and (max-width:900px){#food_manager_data ul.wpfm-tabs{width:10%}#food_manager_data ul.wpfm-tabs li a{position:relative;text-indent:-999px;padding:10px}#food_manager_data ul.wpfm-tabs li a::before{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:100%;height:40px}.wpfm_panel.wpfm-metaboxes-wrapper .wpfm-actions,.wpfm_panel.wpfm-metaboxes-wrapper .wpfm-metaboxes{margin-right:-12.5%!important}}@media only screen and (max-width:782px){#food_manager_data .checkbox{width:25px}}@media only screen and (max-width:500px){.wpfm_panel p.wpfm-admin-postbox-form-field{padding:5px 20px!important}#food_manager_data label{float:none;width:auto;display:block;margin:0}}
     1#food_manager_data ul.wpfm-tabs li a::before, .widefat th.column-food_banner span:before {font-family: Dashicons;speak: none;font-variant: normal;text-transform: none;-webkit-font-smoothing: antialiased }:root {--wpfm-primary-color: #ff4600 }.food_manager_page_food-manager-settings #adminmenuwrap {position: relative !important }.wpfm-food-icon-class {display: grid;grid-template-columns: auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto;overflow-y: auto;grid-auto-rows: 48px;height: auto;margin-bottom: 0;max-height: 240px }.wpfm-food-icon-class i.fa {font-size: 18px }.wpfm-food-icon-class span.wpfm-menu {font-size: 26px }h2.wp-food-menu-icon-title {background: #ddd;font-size: 16px !important;font-weight: 500 !important }.no-radio-icons {display: none;text-align: right }.wpfm-parent-icons {display: inline-block;vertical-align: top;position: relative;width: 100%;text-align: right }span.wpfm-searh-clear {position: absolute;right: 10px;left: auto;top: 15px;cursor: pointer;display: none }.sub-font-icon {border: 1px solid #ddd;padding: 12px 5px;text-align: center;position: relative;z-index: 9;height: 22px }.sub-font-icon input[type=radio]:hover+label span.wpfm-key-name {font-size: 10px;position: absolute;top: 1px;background: #000;color: #fff;border-radius: 5px;left: 5px;right: 5px;width: auto;z-index: 99;padding: 1px 0 3px }.sub-font-icon input[type=radio]:hover+label span.wpfm-key-name::before {background: #000;content: '';height: 10px;width: 10px;position: absolute;left: 0;right: 0;bottom: -3px;transform: rotate(45deg);margin: 0 auto;z-index: -1 }.sub-font-icon input[type=radio] {opacity: 0 }.sub-font-icon input[type=radio]+label {margin-left: -20px;font-size: 0 }.sub-font-icon input[type=radio]:checked+label::after {background: #333;content: '';position: absolute;left: 0;right: 0;top: 0;bottom: 0;z-index: -1 }.sub-font-icon input[type=radio]:checked+label i, .sub-font-icon input[type=radio]:checked+label span {color: #fff }.sub-font-icon input[type=radio]:checked - .sub-font-icon {border-color: #333 }.wpfm-metaboxes-wrapper .wpfm-actions, .wpfm_panel .wpfm-admin-postbox-form-group {border-top: 1px solid #fff;border-bottom: 1px solid #eee }#wpfm_icon_search {margin: 10px 0 15px }.menu-icon-food_manager .wp-menu-image img {width: 28px;margin-top: 0;padding-top: 3px !important;max-width: 100% }.wpfm-admin-left-col, .wpfm-admin-right-col {display: inline-flex;align-items: center }button.button.button-small.wp_food_manager_upload_file_button, button.button.button-small.wp_food_manager_upload_file_button_multiple {margin-top: 5px }.food-manager-uploaded-file span.wpfm-icon {border: 2px solid #e4e4e4;display: inline-block;padding: 10px;border-radius: 4px;box-sizing: border-box }.wpfm-food-menu li {display: flex;justify-content: space-between;align-items: center }.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field label {display: block;font-weight: 700;margin: 0 }.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field {line-height: 2em;box-sizing: border-box;padding: 0 12px 0 0;margin: 0 -1px }.wpfm-admin-postbox-drop-btn {width: 80px }.wpfm-admin-postbox-drop-btn input#wpfm-admin-add-food {font-size: 13px }label.add-food-small {font-weight: 500 !important;color: #787c82 }.wpfm-admin-postbox-drop-btn input[type=button], .wpfm-admin-postbox-form-field .wpfm-admin-postbox-file_url input:first-child, .wpfm-admin-postbox-form-field .wpfm-admin-postbox-file_url select:first-child {flex: 1 }.wpfm-admin-postbox-form-field .wpfm-admin-postbox-file_url, .wpfm-admin-postbox-meta-data {display: flex;flex-wrap: wrap }.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field input, .wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field select {width: 100%;max-width: 100%;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;vertical-align: middle }.wpfm-admin-postbox-meta-data .wpfm-admin-postbox-form-field .checkbox {width: 1em }.wpfm-admin-postbox-drop-btn, .wpfm-food-item-remove span.dashicons.dashicons-dismiss {display: flex }.wpfm-admin-food-menu-container.wpfm-flex-col.wpfm-admin-postbox-meta-data {flex-direction: column }.wpfm-admin-menu-selection.wpfm-admin-postbox-form-field {max-width: 270px }.wpfm-admin-food-menu-items .wpfm-admin-left-col span.dashicons, span.food-manager-uploaded-file {margin-right: 10px }.wpfm-food-menu.menu li.menu-item-handle:last-child {margin-bottom: 10px }.wpfm-food-menu.menu li.menu-item-handle {margin-bottom: 5px;max-width: 600px }.wpfm-food-item-remove {text-decoration: none }.wp-food-manager-food-form-field-editor .save-actions .reset:hover, .wp-food-manager-food-form-field-editor table .field-actions a.delete-field:hover, .wpfm-food-item-remove:hover {color: red }#food_manager_data .inside {margin: 0;padding: 0 }#food_manager_data .panel-wrap {overflow: hidden;background: #fff }#food_manager_data ul.wpfm-tabs {margin: 0;width: 20%;float: left;line-height: 1em;padding: 0 0 10px;position: relative;background-color: #fafafa;border-right: 1px solid #eee;box-sizing: border-box }#food_manager_data ul.wpfm-tabs li {margin: 0;padding: 0;display: block;position: relative }#food_manager_data ul.wpfm-tabs li a {margin: 0;padding: 10px;display: block;box-shadow: none;text-decoration: none;line-height: 20px !important;border-bottom: 1px solid #eee;border-left: 3px solid transparent }#food_manager_data ul.wpfm-tabs li a span {margin-left: .618em;margin-right: .618em }#food_manager_data ul.wpfm-tabs li.general_options a::before {content: "\f107" }#food_manager_data ul.wpfm-tabs li.advanced_tab a::before {content: "\f111" }#food_manager_data ul.wpfm-tabs li.nutritions_tab a::before {content: "\f511" }#food_manager_data ul.wpfm-tabs li.ingredient_tab a::before {content: "\f175" }#food_manager_data ul.wpfm-tabs li a::before {font-weight: 400;line-height: 1;content: "\f107";text-decoration: none }#food_manager_data ul.wpfm-tabs li.toppings_tab a::before {content: "\f509" }#food_manager_data .wpfm_panel {float: left;width: 80% }.wpfm_panel {min-height: 175px;box-sizing: border-box }.panel, .wpfm_panel {color: #555 }#food_manager_data .wpfm-tabs a.nav-tab-active {border-left: 3px solid #0b8ac7 }.wpfm_panel p.wpfm-admin-postbox-form-field {padding: 5px 20px 5px 200px !important;display: flex;align-items: center;column-gap: 5px }#advanced_product_data p.wpfm-admin-postbox-form-field, .type-food_manager td.food_banner.column-food_banner {display: flex;align-items: center }.wpfm_panel label {float: left;width: 200px;padding: 0;margin: 0 0 0 -200px;font-size: 14px;color: #555 }.wpfm_panel .wpfm-small-field, .wpfm_panel input[type=email].wpfm-small-field, .wpfm_panel input[type=number].wpfm-small-field, .wpfm_panel input[type=password].wpfm-small-field, .wpfm_panel input[type=text].wpfm-small-field, .wpfm_panel input[type=url].wpfm-small-field {width: 50% }.wpfm_panel .wpfm-admin-postbox-form-group:first-child {border-top: 0 }#food_manager_data ul.wpfm-tabs::after {content: "";display: block;width: 100%;height: 9999em;position: absolute;bottom: -9999em;left: 0;background-color: #fafafa;border-right: 1px solid #eee }.wpfm_panel p {margin: 9px 0;font-size: 12px;line-height: 24px }.wpfm_panel .description {padding: 0;margin: 0 0 0 7px;clear: none;display: inline }.wpfm_panel .checkbox {margin: 4px 0 !important;vertical-align: middle }.wpfm-metaboxes {padding: .5em .75em .5em 1em !important }.wpfm-metaboxes .wpfm-metabox.closed h3 {border: 0 }.wpfm-metaboxes .wpfm-metabox h3 {margin: 0 !important;padding: .75em .75em .75em 1em !important;font-size: 1em !important;overflow: hidden;zoom: 1;cursor: pointer }.wpfm-metaboxes .wpfm-metabox.wpfm_attribute h3 .wpfm-sort, .wpfm-metaboxes .wpfm-metabox.wpfm_attribute h3 .wpfm-togglediv, .wpfm-metaboxes .wpfm-metabox.wpfm_attribute h3 a.wpfm-delete-btn {margin-top: .25em }.wpfm-metaboxes .wpfm-metabox h3 a.wpfm-delete-btn {color: red;font-weight: 400;line-height: 26px;text-decoration: none;position: relative }.wpfm-metaboxes .wpfm-metabox h3 a.wpfm-delete-btn, .wpfm-metaboxes .wpfm-metabox h3 button, a.button.wpfm-add-row {float: right }.wpfm-metaboxes .wpfm-metabox h3 .wpfm-togglediv {background-position: 6px 5px !important;height: 26px }.wpfm-metaboxes .wpfm-metabox .wpfm-togglediv {width: 27px;float: right }.wpfm-attributes-wrap h3 .wpfm-sort {visibility: hidden;width: 17px;height: 26px;cursor: move;float: right;font-size: 15px;font-weight: 400;margin-right: .5em;text-align: center;vertical-align: middle }.wpfm-tooltip {cursor: help;text-decoration: none }#toppings_food_data_content .wpfm-admin-options-table .widefat tfoot, #toppings_food_data_content .wpfm-admin-options-table .widefat thead {background: #f6f7f7 }.wpfm-input-field.parent-option-description {display: flex;flex-flow: column;row-gap: 12px }.wpfm-metaboxes-wrapper .wpfm-metabox:nth-child(2n) h3 {background: #ebebeb }.wpfm-metaboxes .wpfm-metabox .wpfm-togglediv::before {content: "\f142" !important;cursor: pointer;display: inline-block;font: 400 20px/1 Dashicons;line-height: .5 !important;padding: 8px 10px;position: relative;right: 12px;top: 0 }.wpfm-metaboxes .wpfm-metabox.closed .wpfm-togglediv::before {content: "\f140" !important }.wpfm-metaboxes .wpfm-metabox h3 strong {margin-right: 10px;line-height: 26px;font-weight: 700 }.wpfm-attributes-wrap h3 .wpfm-sort::before {content: "\f333";font-family: Dashicons;text-align: center;line-height: 28px;color: #999;display: block;width: 17px;float: left;height: 100% }.wpfm-attributes-wrap h3 .wpfm-sort:hover::before {color: #777 }.wpfm-attributes-box {background-color: #fdfdfd;border-top: 1px solid #eee }.wpfm-content {padding: 1em }.wpfm-attributes-wrap .wpfm-content::after, .wpfm-attributes-wrap .wpfm-content::before {content: " ";display: table }.wpfm-form-row.wpfm-form-row-first, .wpfm-form-row.wpfm-form-row-last {width: 48%;float: right }.wpfm-form-row.wpfm-form-row-first {clear: both;float: left }.wpfm-content::after, .wpfm-form-row.wpfm-form-row-full {clear: both }.wpfm-form-row label {display: inline-block;float: none;width: auto;margin: auto }.wpfm-form-row input[type=color], .wpfm-form-row input[type=date], .wpfm-form-row input[type=datetime-local], .wpfm-form-row input[type=datetime], .wpfm-form-row input[type=email], .wpfm-form-row input[type=month], .wpfm-form-row input[type=number], .wpfm-form-row input[type=password], .wpfm-form-row input[type=search], .wpfm-form-row input[type=tel], .wpfm-form-row input[type=text], .wpfm-form-row input[type=time], .wpfm-form-row input[type=url], .wpfm-form-row input[type=week], .wpfm-form-row select, .wpfm-form-row textarea {width: 100%;vertical-align: middle;margin: 2px 0 0;padding: 5px }.wpfm-form-row select {height: 40px }.wpfm-metaboxes-wrapper .wpfm-actions {margin: 0 !important;padding: 9px 12px !important }.wpfm-metaboxes-wrapper .wpfm-metabox {background: #fff;margin: 15px 0 0 !important;border-bottom: 1px solid #c3c4c7;border-radius: 4px }.wpfm-actions .wpfm-add-button {display: block;margin-left: auto }.wpfm-metaboxes .wpfm-metabox .wpfm-metabox-content .wpfm-metabox-footer.wpfm-actions {padding-top: 0 !important;margin-right: auto !important }td.fm_categories.column-fm_categories span.food-category {background: #f0f0f0;padding: 5px 7px;margin: 3px;word-wrap: unset;display: inline-block;vertical-align: top;border-radius: 4px }input[name="_food_veg_nonveg"] {border-radius: 0 }._food_veg_nonveg .radio.vegetarian {border-color: #2a0 }._food_veg_nonveg .radio.vegetarian:focus {box-shadow: 0 0 0 1px #2a0 }._food_veg_nonveg .radio.vegetarian:checked::before {background-color: #2a0 }._food_veg_nonveg .radio.non-vegetarian {border-color: red }._food_veg_nonveg .radio.non-vegetarian:focus {box-shadow: 0 0 0 1px red }._food_veg_nonveg .radio.non-vegetarian:checked::before {background-color: red }.wpfm_panel .wpfm-admin-postbox-form-field._food_veg_nonveg span.wpfm-input-field label {float: none;margin: 0 5px 0 0 }.wpfm_panel .wpfm-admin-postbox-form-field span.wpfm-input-field label {float: none;margin: 0 }mark.fm_outofstock {color: #a44;background: 0 0;font-weight: 700 }mark.fm_instock {color: #7ad03a;background: 0 0;font-weight: 700 }.widefat th.column-food_banner span {display: inline-block;text-indent: -9999px;position: relative;height: 1em;width: 1em;margin: 0 auto;font-size: 14px }.widefat th.column-food_banner span:before {font-weight: 400;line-height: 1;margin: 0;text-indent: 0;position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-align: center }#the-list .column-food_banner img.wpfm-organic-tag-icon {margin-left: 10px;width: 20px;max-width: 100% }.parent-organic-tag {position: relative;display: inline-block;vertical-align: top;cursor: help }.parent-organic-tag:hover::before {content: attr(data-icon-type);position: absolute;right: auto;background: #464646;color: #fff;font-size: 11px;border-radius: 4px;left: 36px;top: 0;padding: 3px 10px;z-index: 9;width: auto }.parent-organic-tag:hover::after {content: '';background: #464646;height: 9px;width: 9px;position: absolute;transform: rotate(45deg);top: 7px;right: -12px }#wpfm-ingredient-container, #wpfm-nutrition-container {padding: 5px;display: -webkit-box;display: -ms-flexbox;display: flex }.wpfm-lists-container .wpfm-active-list.wpfm-sortable-list {-webkit-box-flex: 1;-ms-flex: 1;flex: 1;margin-right: 5px }.wpfm-lists-container .wpfm-sortable-list {position: relative;padding: 50px 10px 10px;border: 1px solid #dcdcde;margin: 0;min-height: 50px;-webkit-box-flex: 2;-ms-flex: 2;flex: 2 }.wpfm-sortable-list:before {content: attr(data-title);background: #f6f7f7;padding: 10px 0;text-align: center;font-weight: 700;position: absolute;display: block;width: 100%;top: 0;margin-left: -10px;border-bottom: 1px solid #dcdcde }.post-type-food_manager .ui-sortable tr:hover, .wpfm-sortable-list .wpfm-sortable-item {cursor: move }.wpfm-sortable-list .wpfm-sortable-item label {cursor: move;width: auto;float: none;margin: 0 }.wpfm-clear::after {clear: both;content: "";display: block }.wpfm-sortable-list .wpfm-item-search.with-title {margin-bottom: 30px;padding: 15px 15px 15px 20px;background: #f6f7f7;margin-left: 5px;border: 1px solid #dcdcde }.wpfm-sortable-list .wpfm-item-search.with-title .wpfm-search-label {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;float: none;margin: 0;width: auto }.wpfm-sortable-list .wpfm-item-search.with-title .wpfm-search-label span {margin-right: 30px;font-size: 15px }.wpfm-sortable-list .wpfm-item-search.with-title .wpfm-search-label input {min-height: 36px;min-width: 250px }.wpfm-available-list .wpfm-sortable-item {width: 150px;float: left;background: #f6f7f7;padding: 8px 5px;margin: 5px;-webkit-box-sizing: border-box;box-sizing: border-box;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;line-height: 1.4;border: 1px solid #dcdcde }.wpfm-sortable-item-values>* {width: 48%;box-sizing: border-box }.wpfm-active-list .wpfm-sortable-item {background: #f6f7f7;padding: 10px 5px 10px 10px;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;border: 1px solid #dcdcde }.wpfm-active-list .wpfm-sortable-item+li {margin-top: 6px }.wrap.food-manager-settings-wrap h2.nav-tab-wrapper {margin-bottom: 20px }.wpfm_error_tip {color: #fff;font-size: .8em;background: #d82223;text-align: center;border-radius: 3px;padding: .618em 1em;box-shadow: 0 1px 3px rgba(0, 0, 0, .2);max-width: 20em;line-height: 1.8em;position: absolute;white-space: normal;margin: 1.5em 1px 0 -1em;z-index: 9999999 }.wpfm_error_tip::after {content: "";display: block;border: 8px solid #d82223;border-right-color: transparent;border-left-color: transparent;border-top-color: transparent;position: absolute;top: -3px;left: 50%;margin: -1em 0 0 -3px }.wpfm_panel label.wpfm-field-switch {position: relative;display: inline-block;width: 50px;height: 24px;float: none;margin: 0 }.wpfm-input-field {background: #f6f7f7;padding: 15px;position: relative;border-radius: 4px;border: 1px solid #dcdcde;margin: 0;width: 100%;display: inline-block;vertical-align: top;box-sizing: border-box }.wpfm-input-field .wp-editor-container textarea {height: 126px;width: 100%;border: 0;box-shadow: none }.wpfm-field-switch-slider {position: absolute;cursor: pointer;top: 0;left: 0;right: 0;bottom: 0;background-color: #d3d6df;-webkit-transition: .4s;-o-transition: .4s;transition: .4s }.wpfm-field-switch-slider.round {border-radius: 34px }.wpfm-field-switch-slider.round:before {border-radius: 50% }.wpfm-field-switch input {opacity: 0;width: 0;height: 0 }.wpfm-field-switch input[type=checkbox]:checked::before {content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E");margin: -.1875rem 0 0 -.25rem;height: 1.3125rem;width: 1.3125rem }.wpfm-field-switch-slider:before {position: absolute;content: "";height: 16px;width: 16px;left: 4px;bottom: 4px;background-color: #fff;-webkit-transition: .4s;-o-transition: .4s;transition: .4s }input:checked+.wpfm-field-switch-slider {background-color: var(--wpfm-primary-color) }input:checked+.wpfm-field-switch-slider:before {-webkit-transform: translateX(26px);-ms-transform: translateX(26px);transform: translateX(26px) }div#wpfm-loading {position: fixed;width: 100%;height: 100%;z-index: 999999999;background: rgba(0, 0, 0, .7);top: 0 }#wpfm-loading span.wpfm-loading {display: block;top: 50%;position: fixed;color: #fff;font-size: 20px;font-weight: 700;width: 100%;text-align: center }.widefat .column-food_actions {text-align: right;width: 120px }.widefat .column-food_actions .actions {padding-top: 2px }.widefat .column-food_actions a.button {display: inline-block;margin: 0 0 2px 4px;cursor: pointer;padding: 0 6px !important;font-size: 1em !important;line-height: 2em !important;overflow: hidden }.widefat .column-food_actions a.button-icon {width: 2em !important;padding: 0 !important }.wp-food-manager-food-form-field-editor table tr:nth-child(odd) td {background-color: #f9f9f9 }.wp-food-manager-food-form-field-editor table .sort-column {cursor: move;color: #ccc }.wp-food-manager-food-form-field-editor table td {overflow: visible;padding: 1em 0 1em 1em;vertical-align: middle }.wp-food-manager-food-form-field-editor table .sort-column:before {content: "\f333";font-family: dashicons }.wp-food-manager-food-form-field-editor table td input.input-text, .wp-food-manager-food-form-field-editor table td select {width: 100%;min-width: 100px }.wp-food-manager-food-form-field-editor table td .file-options .multiple-files input {width: auto;display: inline-block;min-width: 16px }.wp-food-manager-food-form-field-editor table td:last-child, .wp-food-manager-food-form-field-editor table th:last-child {padding-right: 1em }.wp-food-manager-food-form-field-editor table .field-actions a.delete-field {color: #ccc;padding: 1em 0 0;width: 1em;height: 0;overflow: hidden;display: inline-block;position: relative }.wp-food-manager-food-form-field-editor table .field-actions a.delete-field:before {content: "\f153";font-family: dashicons;font-size: 1em;line-height: 1em;vertical-align: top;position: absolute;top: 0;left: 0 }.wp-food-manager-food-form-field-editor table tfoot th {vertical-align: middle;line-height: 28px }.wp-food-manager-food-form-field-editor table th {padding: 1em 0 1em 1em }.wp-food-manager-food-form-field-editor .save-actions {text-align: right }.wp-food-manager-food-form-field-editor .save-actions input {margin-left: 1em }.wp-food-manager-food-form-field-editor .save-actions .reset {color: #bbb;text-decoration: none;position: relative;top: 4px }.form-field .chosen-container {width: 100% !important }.food-manager-uploaded-file-preview {display: inline-block;position: relative;vertical-align: top }.food-manager-uploaded-file-preview img {max-height: 100px;max-width: 100px;border: 2px solid #ccc;border-radius: 6px }.food-manager-uploaded-file-preview .food-manager-remove-uploaded-file {font-size: 0;height: 20px;width: 20px;background: #fff;position: absolute;top: 2px;right: 2px;border-radius: 0 4px;border: none;box-shadow: 2px 2px 10px rgba(0, 0, 0, .2) }.food-manager-uploaded-file-preview .food-manager-remove-uploaded-file::before {content: "\ea0f";font-family: wp-food-manager;font-size: 10px;color: red;top: 50%;position: absolute;left: 50%;transform: translate(-50%, -50%);transition: .2s }.food-manager-uploaded-files .food-manager-uploaded-file {margin-bottom: 20px;display: inline-block;padding-right: 20px }.wpfm-food-menu .menu-item-handle .item-title {word-break: break-word }.wpfm-admin-menu-selection select {margin-top: 10px }.widefat td.food_banner.column-food_banner .food_banner img {max-width: 60px;height: auto }.type-food_manager_menu .thumbnail img{max-width: 70px;height: auto;}span.no-menu-item-handle {font-size: 14px;font-weight: 500;background: bisque;padding: 5px 10px;border-radius: 4px;display: inline-block }a.wpfm-tooltip.food_title {cursor: pointer }.wpfm-metaboxes .wpfm-metabox-content.wpfm-variation-box {border-top: 1px solid #ccd0d4 }.white-background {float: left;width: 100%;background-color: #fff;border: 1px solid #e1e1e1;padding: 10px;box-sizing: border-box;margin: 0 0 20px }.wpfm-input-field .mce-btn.mce-active button, .wpfm-input-field .mce-btn.mce-active i, .wpfm-input-field .mce-btn.mce-active:hover button, .wpfm-input-field .mce-btn.mce-active:hover i {color: #595959 }.admin-setting-left {float: left;width: 70% }.box-info {position: relative;min-width: 255px;border: 1px solid #e5e5e5;-webkit-box-shadow: 0 1px 1px rgb(0 0 0 / 4%);box-shadow: 0 1px 1px rgb(0 0 0 / 4%);background: #fff;float: right !important;box-sizing: border-box;width: 28%;padding: 15px }.box-info h3 {padding: 0 0 10px 10px;font-size: 14px;margin-top: 5px;border-bottom: 1px solid #efefef }.wpfm-plugin_info-inside {max-width: 100%;overflow: hidden }.wpfm-plugin_info-inside .wpfm-setup-help-center-block {background: #fff;border: 1px solid #e1e1e4;box-sizing: border-box;border-radius: 7px;display: flex;margin-bottom: 10px;padding: 10px 15px;text-align: left;align-items: center }.wpfm-plugin_info-inside .wpfm-setup-help-center-block .wpfm-setup-help-center-block-icon {margin-right: 25px }.wpfm-plugin_info-inside .wpfm-setup-help-center-faqs-icon, .wpfm-plugin_info-inside .wpfm-setup-help-center-knowledge-base-icon, .wpfm-plugin_info-inside .wpfm-setup-help-center-support-icon, .wpfm-plugin_info-inside .wpfm-setup-help-center-video-tutorial-icon {display: inline-block;background: url(../images/support-page-sprites-img.png) 0 0/140px no-repeat;overflow: hidden;text-indent: -9999px;text-align: left }.wpfm-plugin_info-inside .wpfm-setup-help-center-knowledge-base-icon {background-position: -68px 1px;width: 60px;height: 60px }.wpfm-plugin_info-inside .wpfm-setup-help-center-faqs-icon {background-position: -5px 1px;width: 60px;height: 60px }.wpfm-plugin_info-inside .wpfm-setup-help-center-video-tutorial-icon {background-position: -72px -62px;width: 60px;height: 60px }.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content .wpfm-setup-help-center-block-heading {font-weight: 600;line-height: 1.42;color: #111;font-size: 16px;margin-bottom: 5px }.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content .wpfm-setup-help-center-block-desc {font-size: 14px;line-height: 1.42;color: #555 }.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content a.wpfm-setup-help-center-block-link {display: inline-block;font-size: 14px;font-style: normal;font-weight: 500;line-height: 18px;margin-top: 10px;position: relative;text-decoration: none;color: var(--wpfm-primary-color);transition: color .2s }.wpfm-plugin_info-inside .wpfm-setup-help-center-block-content a.wpfm-setup-help-center-block-link:hover {color: #000 }.wpfm-plugin_info-inside span.light-grey {text-align: center;display: block;padding-top: 10px;font-size: 14px;margin-top: 5px;border-top: 1px solid #efefef }.wpfm-plugin_info-inside a img {width: 100%;display: block;max-width: 200px;margin: 5px auto 0 }.wpfm-tooltip {position: relative }.wpfm-tooltip:hover:before {content: attr(wpfm-data-tip);background: #464646;color: #fff;font-size: 11px;border-radius: 4px;position: absolute;left: 50%;top: calc(100% + 6px);padding: 3px 10px;z-index: 9999999999;width: auto;transform: translate(-50%, 0);white-space: nowrap }.wpfm-tooltip:hover:after {content: '';background: #464646;height: 9px;width: 9px;position: absolute;transform: rotate(45deg);top: calc(100% + 2px);left: calc(50% - 4.5px) }.widefat .column-food_actions a.wpfm-tooltip {padding: 0 !important;width: 30px;height: 30px;text-align: center;overflow: inherit }.widefat .column-food_actions a.wpfm-tooltip span {line-height: 30px;margin: 0 auto;font-size: 16px }span.toppings-radio-btn label {display: inline-block;margin-right: 10px }span.toppings-radio-btn input[type=radio] {margin-right: 0 }span.toppings-radio-btn {margin-top: 5px;display: block }.mce-btn button:hover {background: 0 0;color: transparent }.mce-btn.mce-active button, .mce-btn.mce-active i, .mce-btn.mce-active:hover button, .mce-btn.mce-active:hover i {color: #000 !important }@media only screen and (max-width:1280px) {.wpfm_panel .wpfm-small-field, .wpfm_panel input[type=email].wpfm-small-field, .wpfm_panel input[type=number].wpfm-small-field, .wpfm_panel input[type=password].wpfm-small-field, .wpfm_panel input[type=text].wpfm-small-field {width: 80% }.wpfm_panel .description {display: block;clear: both;margin-left: 0 }.admin-setting-left, .box-info {width: 100% }}@media only screen and (max-width:900px) {#food_manager_data ul.wpfm-tabs {width: 10% }#food_manager_data ul.wpfm-tabs li a {position: relative;text-indent: -999px;padding: 10px }#food_manager_data ul.wpfm-tabs li a::before {position: absolute;top: 0;right: 0;bottom: 0;left: 0;text-indent: 0;text-align: center;line-height: 40px;width: 100%;height: 40px }.wpfm_panel.wpfm-metaboxes-wrapper .wpfm-actions, .wpfm_panel.wpfm-metaboxes-wrapper .wpfm-metaboxes {margin-right: -12.5% !important }}@media only screen and (max-width:782px) {#food_manager_data .checkbox {width: 25px }}@media only screen and (max-width:500px) {.wpfm_panel p.wpfm-admin-postbox-form-field {padding: 5px 20px !important }#food_manager_data label {float: none;width: auto;display: block;margin: 0 }}
  • wp-food-manager/trunk/assets/css/frontend.css

    r2902336 r3022874  
    1010# 6. CATEGORY & TYPE
    1111# 7. DASHBOARD HEADER
     12  7.1 DASHBOARD
    1213# 8. CHOSEN
    1314# 9. ADD FOOD FORM
     
    2122# 15. ALL MIX
    2223# 16. MEDIA QUERY
     24# 17. WOOCOMMERCE
    2325
    2426--------------------------------------------------------------*/
     
    3234    --wpfm-gray-border-color: #dddddd;
    3335    --wpfm-gray-bg-color: #f5f5f5;
     36}
     37* {
     38    box-sizing: inherit;
    3439}
    3540
     
    798803/* ===== 7. FOOD DASHBOARD HEADER END ===== */
    799804
     805/* ===== 7.1 FOOD DASHBOARD START ===== */
     806.wpfm-main-vmenu-dashboard-wrapper .wpfm-main-vmenu-dashboard-nav ul.wpfm-main-vmenu-dashboard-ul {
     807    border-left: 1px solid var(--wpfm-gray-border-color);
     808    border-right: 1px solid var(--wpfm-gray-border-color);
     809    list-style: none;
     810}
     811.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li, .wpfm-main-vmenu-dashboard-wrapper .wpfm-main-vmenu-dashboard-nav-menu .wpfm-main-vmenu-dashboard-nav ul {
     812    list-style: none;
     813    margin: 0;
     814    padding: 0;
     815}
     816.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li a.wpfm-main-vmenu-dashboard-link.wpfm-main-vmenu-dashboard-link-active {
     817    font-weight: 600;
     818    color: var(--wpfm-primary-color);
     819    transition: .2s linear;
     820}
     821.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li:first-child .wpfm-main-vmenu-dashboard-link {
     822    border-top: 1px solid var(--wpfm-gray-border-color);
     823}
     824.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link {
     825    display: flex;
     826    align-items: center;
     827    padding: 10px 15px;
     828    color: var(--wpfm-dark-color);
     829    font-size: 16px;
     830    word-break: break-word;
     831    text-decoration: none;
     832    border-bottom: 1px solid var(--wpfm-gray-border-color);
     833    transition: .2s linear;
     834}
     835.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link i {
     836    margin-right: 10px;
     837    font-size: 14px;
     838}
     839.organizer-related-data-wrapper .show-organizer-info .wpfm-list-group .organizer-name-list .organizer-list-items a:hover, .venue-related-data-wrapper .show-venue-info .wpfm-list-group .venue-name-list .venue-list-items a:hover, .wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link:hover, .wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link:hover i, .wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li a.wpfm-main-vmenu-dashboard-link.wpfm-main-vmenu-dashboard-link-active i, .wpfm-main-vmenu-dashboard-wrapper .wpfm-main-vmenu-dashboard-content-wrap .wpfm-dashboard-events-block-wrap .wpfm-dashboard-event-list-wrapper .wpfm-dashboard-event-list .wpfm-dashboard-event-name a:hover, .wpfm-single-event-page .wpfm-single-event-footer .wpfm-venue-wrapper .wpfm-venue-profile .wpfm-venue-name.wpfm-heading-text a:hover, .wpfm-theme-text-button{
     840    color: var(--wpfm-primary-color);
     841}
     842/* ===== 7.1 FOOD DASHBOARD END ===== */
    800843
    801844
     
    13601403    margin: 0;
    13611404    word-break: break-word;
     1405    display: flex;
    13621406}
    13631407
     
    13801424    color: var(--wpfm-primary-color);
    13811425    font-size: 18px;
     1426}
     1427.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type-tag {
     1428    margin-left: 10px;
     1429    margin-top: 2px;
     1430    flex: 0 0 20px;
     1431    height: 20px;
     1432    width: 20px;
    13821433}
    13831434
     
    15671618    column-gap: 15px;
    15681619}
    1569 
     1620.wpfm-single-food-page .wpfm-food-title .wpfm-food-type-tag {
     1621    height: 20px;
     1622}
    15701623.wpfm-single-food-page .wpfm-food-price {
    15711624    margin: 10px 0;
     
    25372590
    25382591.fm-food-menu-container .food-list-box:hover {
    2539     box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.12);
     2592    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
    25402593    background-color: var(--wpfm-white-color);
    25412594    color: var(--wpfm-dark-color);
     
    25882641    width: 100%;
    25892642}
     2643
     2644
     2645.wpfm-accordion-item {
     2646    border: 1px solid var(--wpfm-gray-border-color);
     2647    padding: 15px 15px 5px;
     2648    margin-top: -1px;
     2649    border-radius: 4px;
     2650    margin-bottom: 15px;
     2651}
     2652.wpfm-accordion-item .wpfm-accordion-action {
     2653    cursor: pointer;
     2654    font-weight: 500;
     2655    position: relative;
     2656    padding-right: 40px;
     2657    padding-bottom: 10px;
     2658}
     2659.wpfm-accordion-item .wpfm-accordion-action:after {
     2660    content: "\ea0a";
     2661    font-family: 'wpfm-restaurant-manager';
     2662    font-size: 10px;
     2663    font-weight: normal;
     2664    width: 24px;
     2665    height: 24px;
     2666    background-color: var(--wpfm-gray-bg-color);
     2667    border-radius: 100px;
     2668    display: flex;
     2669    align-items: center;
     2670    justify-content: center;
     2671    position: absolute;
     2672    right: 0px;
     2673    top: 0px;
     2674}
     2675.wpfm-accordion-item .wpfm-accordion-body {
     2676    display: none;
     2677}
     2678.wpfm-accordion-item-show .wpfm-accordion-body {
     2679    display: block;
     2680}
     2681.wpfm-accordion-item-show .wpfm-accordion-action:after {
     2682    content: "\ea0b";
     2683}
     2684.wpfm-accordion-item.wpfm-accordion-item-show {
     2685    box-shadow: 0 0px 10px rgb(0 0 0 / 10%);
     2686 }
     2687 
     2688
    25902689
    25912690/* ===== 14. FOOD MENU END ===== */
     
    28782977        width: inherit;
    28792978    }
    2880 }
     2979    table.wpfm-responsive-table-wrapper td.wpfm_data_td_empty {
     2980        padding: 10px!important;
     2981    }
     2982}
     2983
    28812984
    28822985@media screen and (max-width: 768px) {
     
    30153118
    30163119/* ===== 16. MEDIA QUERY END ===== */
     3120
     3121/* ===== 17. WOOCOMMERCE START ===== */
     3122
     3123.woocommerce .woocommerce-cart-form .shop_table .cart-page td{
     3124    text-align: left !important;
     3125}
     3126@media screen and (max-width: 768px) {
     3127    .woocommerce table.shop_table_responsive tr.cart-page td::before{
     3128        display: none !important;
     3129    }
     3130}
     3131
     3132.notification {
     3133    background-color: rgb(216, 234, 235);
     3134    color: #721c24;
     3135    padding: 10px;
     3136    margin-bottom: 15px;
     3137    border: 1px solid  rgb(216, 234, 235);
     3138}
     3139
     3140/* ===== 17. WOOCOMMERCE END ===== */
  • wp-food-manager/trunk/assets/css/frontend.min.css

    r2902320 r3022874  
    1 :root{--wpfm-primary-color:#ff4600;--wpfm-dark-color:#000000;--wpfm-gray-color:#555555;--wpfm-white-color:#ffffff;--wpfm-gray-border-color:#dddddd;--wpfm-gray-bg-color:#f5f5f5}[class^=wpfm]{box-sizing:border-box;-webkit-box-sizing:border-box}.wpfm-main{font-size:16px;line-height:1.42;color:var(--wpfm-dark-color);font-weight:400}.wpfm-main a{color:var(--wpfm-gray-color);text-decoration:none;outline:0;transition:color .2s}.wpfm-main a:active,.wpfm-main a:focus,.wpfm-main a:hover{color:var(--wpfm-primary-color);text-decoration:none;outline:0}.wpfm-main b,.wpfm-main strong{font-weight:600}.wpfm-loading,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper{position:relative}.wpfm-main .wpfm-heading-text{font-weight:400}.wpfm-loading::before{content:"";height:100%;width:100%;position:absolute;left:0;top:0;z-index:99;background:rgba(255,255,255,.7)}.wpfm-loading::after{content:"";background-image:url(../images/ajax-loader.gif);position:absolute;height:30px;width:30px;background-repeat:no-repeat;background-size:contain;background-position:center;left:50%;top:50%;transform:translate(-50%,-50%);z-index:100}.wpfm-alert{position:relative;padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:5px}.wpfm-alert a{background:rgba(0,0,0,.6);font-size:14px;line-height:15px;color:var(--wpfm-white-color);padding:5px 10px;border-radius:5px;display:inline-block;transition:.2s}.wpfm-alert a:hover{background:var(--wpfm-dark-color);color:var(--wpfm-white-color)}.wpfm-alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.wpfm-alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.wpfm-alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.wpfm-alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.wpfm-alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.wpfm-alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.wpfm-alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.wpfm-alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.food-manager-pagination{text-align:center;display:inline-block;width:100%}.food-manager-pagination ul.page-numbers{margin:0 auto;padding:0;display:inline-flex}.food-manager-pagination ul.page-numbers li{list-style:none;display:inline-block;margin:0 2px}.food-manager-pagination ul.page-numbers li .page-numbers{font-size:14px;line-height:20px;font-weight:400;padding:5px 10px;display:inline-block;border:2px solid var(--wpfm-gray-border-color);background:var(--wpfm-white-color);color:var(--wpfm-gray-color)}.food-manager-pagination ul.page-numbers li .page-numbers:hover{border-color:#999}.food-manager-pagination ul.page-numbers li .page-numbers.current{border-color:var(--wpfm-primary-color);background:var(--wpfm-primary-color);color:var(--wpfm-white-color)}.wpfm-form-wrapper{margin-bottom:20px;line-height:25px}.wpfm-form-wrapper .wpfm-form-title{font-size:23px;line-height:28px;font-weight:500;color:var(--wpfm-dark-color);padding:0;margin:0 0 20px}.wpfm-form-wrapper fieldset{border:none;margin:0 0 20px;padding:0}.wpfm-food-listings-header,.wpfm-form-wrapper .wpfm-form-group,.wpfm-single-food-image{margin-bottom:20px}.wpfm-form-wrapper .wpfm-form-group .require-field{color:red}.food_manager .featured-media,.post-thumbnail .wp-post-image,.single-food_manager .wp-post-image,.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file.empty-src,.wpfm-form-wrapper .wpfm-form-group .wpfm-form-label,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li button::before,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li::before,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots::before{display:none}.wpfm-form-wrapper .wpfm-form-group .wpfm-form-label-text{color:var(--wpfm-dark-color);margin:0 0 7px;display:inline-block}.wpfm-form-wrapper .wpfm-form-group input[type=color],.wpfm-form-wrapper .wpfm-form-group input[type=date],.wpfm-form-wrapper .wpfm-form-group input[type=datetime-local],.wpfm-form-wrapper .wpfm-form-group input[type=datetime],.wpfm-form-wrapper .wpfm-form-group input[type=email],.wpfm-form-wrapper .wpfm-form-group input[type=file],.wpfm-form-wrapper .wpfm-form-group input[type=month],.wpfm-form-wrapper .wpfm-form-group input[type=number],.wpfm-form-wrapper .wpfm-form-group input[type=password],.wpfm-form-wrapper .wpfm-form-group input[type=search],.wpfm-form-wrapper .wpfm-form-group input[type=tel],.wpfm-form-wrapper .wpfm-form-group input[type=text],.wpfm-form-wrapper .wpfm-form-group input[type=time],.wpfm-form-wrapper .wpfm-form-group input[type=url],.wpfm-form-wrapper .wpfm-form-group input[type=week],.wpfm-form-wrapper .wpfm-form-group select,.wpfm-form-wrapper .wpfm-form-group textarea{height:45px;width:100%;margin:0;outline:0;border:1px solid var(--wpfm-gray-border-color);border-radius:4px;font-size:16px;font-weight:400;line-height:45px;padding:0 15px;background-color:var(--wpfm-white-color);color:var(--wpfm-dark-color);transition:.2s}.wpfm-form-wrapper .wpfm-form-group input[type=color]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=date]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=datetime-local]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=datetime]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=email]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=file]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=month]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=number]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=password]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=search]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=tel]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=text]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=time]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=url]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=week]:hover,.wpfm-form-wrapper .wpfm-form-group select:hover,.wpfm-form-wrapper .wpfm-form-group textarea:hover{border-color:#999;background-color:var(--wpfm-white-color);transition:.2s}.wpfm-form-wrapper .wp-editor-container:focus,.wpfm-form-wrapper .wpfm-form-group input[type=color]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=date]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=datetime-local]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=datetime]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=email]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=file]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=month]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=number]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=password]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=search]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=tel]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=text]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=time]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=url]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=week]:focus,.wpfm-form-wrapper .wpfm-form-group select:focus,.wpfm-form-wrapper .wpfm-form-group textarea:focus{border-color:var(--wpfm-primary-color)}.wpfm-form-wrapper .wp-editor-container{border-radius:4px;overflow:hidden}.wpfm-form-wrapper .wp-editor-container:hover{border-color:#999;transition:.2s}.wpfm-form-wrapper .wpfm-form-group input[type=file]{line-height:20px;padding:8px 10px}.wpfm-form-wrapper .wpfm-form-group input[type=number]{padding-right:0;width:100%;max-width:unset}.wpfm-form-wrapper .wpfm-form-group select{padding:0 12px}.wpfm-form-wrapper .wpfm-form-group textarea{height:auto;padding:15px;line-height:22px}.food-manager-uploaded-file-preview span.food-manager-uploaded-file-name{padding:20px 10px 15px;display:inline-block;border:2px solid var(--wpfm-gray-border-color);border-radius:4px}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file{margin-bottom:20px;display:inline-block;padding-right:20px;vertical-align:top}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview{display:inline-block;position:relative}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview img{max-height:100px;max-width:100px;border:2px solid var(--wpfm-gray-border-color);border-radius:6px}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview .food-manager-remove-uploaded-file{font-size:0;height:20px;width:20px;background:var(--wpfm-white-color);position:absolute;top:2px;right:2px;border-radius:0 4px;border:none;box-shadow:2px 2px 10px rgba(0,0,0,.2)}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview .food-manager-remove-uploaded-file::before{content:"\ea0f";font-family:wp-food-manager;font-size:10px;color:red;top:50%;position:absolute;left:50%;transform:translate(-50%,-50%);transition:.2s}.fm-food-menu-container .food-list-box:focus,.fm-food-menu-container .food-list-box>a,.wpfm-dashboard-main-title.wpfm-dashboard-main-filter a.wpfm-dashboard-header-btn:hover i,.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview .food-manager-remove-uploaded-file:hover::before,.wpfm-main .wpfm-theme-url a:hover,.wpfm-main .wpfm-theme-url:hover,.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link a,.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link a:hover,.wpfm-theme-text-button:hover,.wpfm-theme-url a:hover,.wpfm-theme-url:hover,table.wpfm-responsive-table-wrapper tbody tr td a:hover{color:var(--wpfm-dark-color)}.wpfm-form-wrapper .showing_applied_filters{background:var(--wpfm-gray-bg-color);font-size:15px;border-radius:4px;padding:5px 10px;margin:10px 0;display:inline-block;width:100%}.wpfm-form-wrapper .showing_applied_filters span{margin:2px;display:inline-block}.wpfm-form-wrapper .showing_applied_filters a{float:right;margin:2px}.wpfm-main fieldset{border:none}.wpfm-theme-button,a.wpfm-theme-button,button.wpfm-theme-button,input.wpfm-theme-button{background:var(--wpfm-primary-color);color:var(--wpfm-white-color);border:none;padding:10px 20px;width:auto;text-transform:uppercase;font-weight:600;border-radius:4px;font-size:16px;line-height:1.42;margin:5px 0;letter-spacing:0;display:inline-block;cursor:pointer;transition:.2s;vertical-align:middle}.wpfm-theme-button span,.wpfm-theme-button:focus span,.wpfm-theme-button:hover span,a.wpfm-theme-button span,a.wpfm-theme-button:focus span,a.wpfm-theme-button:hover span,button.wpfm-theme-button span,button.wpfm-theme-button:focus span,button.wpfm-theme-button:hover span,input.wpfm-theme-button span,input.wpfm-theme-button:focus span,input.wpfm-theme-button:hover span{color:var(--wpfm-white-color)}.wpfm-main .wpfm-theme-url,.wpfm-main .wpfm-theme-url a,.wpfm-theme-text-button,.wpfm-theme-url,.wpfm-theme-url a,a.button.wpfm-add-row{color:var(--wpfm-primary-color)}.wpfm-theme-button:focus,.wpfm-theme-button:hover,a.wpfm-theme-button:focus,a.wpfm-theme-button:hover,button.wpfm-theme-button:focus,button.wpfm-theme-button:hover,input.wpfm-theme-button:focus,input.wpfm-theme-button:hover{background:var(--wpfm-dark-color);border:none;outline:0}.wpfm-theme-button i{line-height:normal}.wpfm-theme-button.wpfm-theme-button-icon-left{position:relative;padding-left:40px}.wpfm-theme-button.wpfm-theme-button-icon-left i{position:absolute;left:15px;top:50%;transform:translate(0,-50%)}.wpfm-theme-button.wpfm-theme-button-icon-right{position:relative;padding-right:40px}.wpfm-theme-button.wpfm-theme-button-icon-right i{position:absolute;right:15px;top:50%;transform:translate(0,-50%)}.wpfm-theme-button.wpfm-active-button{background:var(--wpfm-gray-color)}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-form-group button:hover,.wpfm-theme-button.wpfm-active-button:hover{background:var(--wpfm-dark-color)}.wpfm-tabs-wrapper{width:100%;margin-bottom:20px;border:2px solid var(--wpfm-gray-border-color);border-radius:5px}.wpfm-tabs-wrapper .wpfm-tabs-wrap{display:flex;background:var(--wpfm-gray-bg-color);margin:0;padding:0}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link{padding:15px 25px;list-style:none;cursor:pointer;font-size:17px;font-weight:600;background:var(--wpfm-gray-bg-color);transition:.2s;color:var(--wpfm-dark-color)}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link.active{background:var(--wpfm-white-color);color:var(--wpfm-dark-color);cursor:default}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link.active a{cursor:default}.wpfm-tabs-wrapper .wpfm-tab-content{padding:25px;display:none;margin:0}.wpfm-tabs-wrapper .wpfm-tab-content .wpfm-tab-pane.active,.wpfm-tabs-wrapper .wpfm-tab-content.current{display:block}.wpfm-tabs-wrapper .wpfm-tab-content .wpfm-tab-pane{display:none;list-style:none}.wpfm-single-food-page .wpfm-single-food-wrapper,.wpfm-tabs-wrapper .wpfm-food-listings .wpfm-food-layout-wrapper{border:1px solid var(--wpfm-gray-border-color)}.wpfm-with-bg-image{background-size:cover;background-position:center;min-height:250px;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;position:relative;border-radius:4px;padding:15px}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon:hover,.wpfm-view-more{background:var(--wpfm-gray-border-color)}.wpfm-with-bg-image .wpfm-heading-text{color:var(--wpfm-white-color);margin:0;position:relative;z-index:1}.wpfm-with-bg-image::before{border-radius:4px;background:var(--wpfm-dark-color);position:absolute;content:'';left:0;right:0;top:0;bottom:0;opacity:.5}.wpfm-with-bg-image::after{content:'';background:var(--wpfm-primary-color);position:absolute;bottom:0;left:0;right:0;height:5px}.wpfm-view-more{position:absolute;bottom:-12px;top:auto;left:21px;right:auto;padding:5px 15px 4px;border-radius:3px;font-size:12px;font-weight:600;cursor:pointer}.wpfm-additional-main-row .wpfm-additional-info-block-details-content-items p{word-break:break-word;font-size:14px;margin-bottom:0}.wpfm-additional-main-row .wpfm-additional-info-block-details-content-items{padding:10px 0;border-top:1px solid var(--wpfm-gray-border-color)}.wpfm-additional-main-row [class^=wpfm-col]{width:100%;flex:0 0 100%;max-width:100%}.wpfm-dashboard-main-header .wpfm-foods-filter{background:var(--wpfm-gray-bg-color);padding:10px 15px;margin:0;border-radius:3px;display:flex;position:relative}.wpfm-dashboard-main-header .wpfm-foods-filter::before{content:'';background:var(--wpfm-gray-bg-color);height:20px;width:20px;position:absolute;right:8px;top:-7px;transform:rotate(45deg)}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-foods-filter-block{width:100%;margin-right:10px}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-foods-filter-block.wpfm-foods-filter-submit{width:auto}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-form-group{margin:5px 0}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-form-group button{width:100%;height:45px;margin:0;white-space:nowrap}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter a.wpfm-dashboard-header-btn i[class^=wpfm-icon-]{color:var(--wpfm-primary-color);transition:.2s}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter a.wpfm-dashboard-header-btn{display:inline-flex;border:1px solid var(--wpfm-gray-border-color);padding:10px;border-radius:3px;align-items:center;font-size:16px;line-height:25px}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter .wpfm-d-inline-block.wpfm-dashboard-i-block-btn{margin:0 0 0 auto}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter h3.wpfm-theme-text{margin:0;padding:0;font-weight:700}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-bottom:15px;align-items:center}.wpfm-form-wrapper .chosen-container{width:100%!important;outline:0;margin:0;border-radius:4px;border:1px solid var(--wpfm-gray-border-color);background-color:var(--wpfm-white-color);transition:.2s}.wpfm-form-wrapper .chosen-container:hover{border-color:var(--wpfm-gray-border-color);background-color:var(--wpfm-white-color);transition:.2s}.wpfm-form-wrapper .chosen-container:focus{border-color:var(--wpfm-primary-color);background-color:var(--wpfm-white-color)}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices{border:0;box-shadow:none;background:0 0}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices li.search-choice{margin:11px 0 11px 10px;border-color:var(--wpfm-gray-border-color);background:var(--wpfm-gray-bg-color);padding:5px 20px 5px 5px;font-size:14px;box-shadow:none}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices li.search-choice:first-of-type{margin-left:0}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices li.search-field input[type=text]{font-size:16px;font-family:inherit;height:41px;font-weight:400;padding:0;margin:0}.wpfm-form-wrapper .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:6px}.wpfm-form-wrapper .chosen-container .chosen-choices,.wpfm-form-wrapper .chosen-container .chosen-single{padding:0 15px;font-size:16px;line-height:42px;font-weight:400;color:var(--wpfm-dark-color);background:0 0;height:auto;border:none;box-shadow:unset;border-radius:4px}.wpfm-form-wrapper .chosen-container-single .chosen-default,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details .wpfm-additional-info-block-textarea p{color:var(--wpfm-gray-color)}.wpfm-form-wrapper .chosen-container .chosen-single div b{background-position:0 12px}.wpfm-form-wrapper .chosen-container .chosen-drop{top:calc(100% - 2px);border-color:var(--wpfm-gray-border-color);border-top:0;border-radius:0 0 4px 4px;margin:0 0 0 -1px;box-shadow:7px 5px 15px rgb(0 0 0 / 10%);width:calc(100% + 2px);transition:border-color .2s}.wpfm-form-wrapper .chosen-container .chosen-drop:hover{border-color:var(--wpfm-gray-border-color)}.selection-preview ul li,.wpfm-food-listing-list-view .wpfm-food-box-col:last-of-type .wpfm-food-layout-wrapper{border-bottom:1px solid var(--wpfm-gray-border-color)}.wpfm-form-wrapper .chosen-container .chosen-search input[type=text]{height:auto;line-height:20px;font-size:16px;padding:1px 4px;min-height:unset}.wpfm-form-wrapper .chosen-container .chosen-drop .chosen-results li{font-size:14px}.wpfm-form-wrapper .chosen-container .chosen-drop .chosen-results li.highlighted{background:var(--wpfm-primary-color)}.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat{font-size:14px;margin:0;border:1px solid var(--wpfm-gray-border-color)}.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat td,.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat th{border:1px solid var(--wpfm-gray-border-color);border-radius:3px}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details,.wpfm-options-box td,.wpfm-options-box th{padding:10px}.wpfm-options-box td input[type=checkbox]{height:16px!important;border:1px solid var(--wpfm-gray-border-color)}.wpfm-form-wrapper .wpfm-options-box .wpfm-form-group table td input,.wpfm-form-wrapper .wpfm-options-box .wpfm-form-group table td select{height:34px;line-height:34px;font-size:14px}.wpfm-input-field{background:var(--wpfm-white-color);padding:15px;position:relative;border-radius:4px;border:2px solid var(--wpfm-gray-border-color);margin:0;width:100%;display:inline-block;vertical-align:top;box-sizing:border-box}.wpfm-form-wrapper .wpfm-actions{margin:30px 0}.wpfm-form-wrapper .wpfm-actions button.wpfm-add-button{background-color:var(--wpfm-gray-bg-color);color:var(--wpfm-dark-color);padding:6px 12px;border:0;border-radius:4px;transition:.02s;cursor:pointer;font-weight:500}.wpfm-form-wrapper .wpfm-actions button.wpfm-add-button:hover,a.button.wpfm-add-row:hover{background-color:var(--wpfm-primary-color);color:var(--wpfm-white-color)}.wpfm-form-wrapper .postbox span.attribute_key input[type=text]{padding:2px}.wpfm-form-wrapper .wpfm-metabox{background:var(--wpfm-white-color);margin:15px 0 0!important;border-bottom:2px solid var(--wpfm-gray-border-color);border-radius:4px}.wpfm-form-wrapper .wpfm-content{padding:1em}.food_listing_preview_title h2,.wpfm-form-wrapper .wpfm-content .wpfm-form-group:last-of-type,.wpfm-input-description>p{margin-bottom:0}.wpfm-form-wrapper .wpfm-content .field label{margin-right:10px}.wpfm-form-wrapper .postbox{border:2px solid var(--wpfm-gray-bg-color)}.wpfm-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:pointer}.food_listing_preview_action_button .food-manager-button-submit-listing,.wpfm-metabox h3 a.wpfm-delete-btn,.wpfm-metabox h3 button{float:right}.wpfm-metabox h3 a.wpfm-delete-btn::before{font-size:23px}.wpfm-metabox h3 a.wpfm-delete-btn{font-size:0;color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative}.wpfm-metabox .wpfm-togglediv{width:27px;float:right}.wpfm-metabox.closed .wpfm-togglediv::before{content:"\f140"!important}.wpfm_error_tip{color:var(--wpfm-white-color);font-size:.8em;background:var(--wpfm-dark-color);text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.wpfm_error_tip::after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}.wpfm-metabox .wpfm-togglediv::before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wpfm-metabox h3 strong{line-height:26px;font-weight:700}.selection-preview ul li:last-of-type,textarea#food_description{border:0}.wpfm-field-switch input{opacity:0;width:0;height:0}.wpfm-field-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--wpfm-gray-border-color);-webkit-transition:.4s;-o-transition:.4s;transition:.4s}label.wpfm-field-switch{position:relative;display:inline-block;width:50px;height:24px;float:none;margin:0}.wpfm-field-switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:var(--wpfm-white-color);-webkit-transition:.4s;-o-transition:.4s;transition:.4s}input:checked+.wpfm-field-switch-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.wpfm-field-switch-slider.round:before{border-radius:50%}.wpfm-field-switch-slider.round{border-radius:34px}input:checked+.wpfm-field-switch-slider{background-color:var(--wpfm-primary-color)}.wpfm-options-box fieldset.wpfm-form-group table.widefat a.option-delete-btn{font-size:0}.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat input.opt_default{text-align:center;width:100%;height:14px}a.option-delete-btn::before{font-size:24px}span.wpfm-option-sort:hover{cursor:move}a.button.wpfm-add-row{cursor:pointer;background:var(--wpfm-white-color);padding:3px 12px;border-radius:4px;float:right;font-size:14px;border:1px solid var(--wpfm-primary-color);font-weight:500}.wpfm-inner-field-content{display:flex;flex-flow:column}.wpfm-input-singular{display:flex;align-items:center;column-gap:8px;word-break:break-word}.wpfm-img-single img{width:65%;border-radius:10px;height:auto;object-fit:cover}.selection-preview ul{list-style:none;margin:10px 0 0;padding:0;background-color:var(--wpfm-gray-bg-color);border-radius:4px}.selection-preview ul li{padding:15px 0}.selection-preview ul li label{margin:0 15px 5px;display:block;line-height:normal}.selection-preview ul li .term-item-flex{display:flex;padding:0 7.5px}.selection-preview ul li .term-item-flex input,.selection-preview ul li .term-item-flex select{margin:0 7.5px!important}.wpfm-form-wrapper .wpfm-form-group .selection-preview{margin-top:5px}.mce-btn button:hover{background:0 0;color:transparent}.mce-btn.mce-active button,.mce-btn.mce-active i,.mce-btn.mce-active:hover button,.mce-btn.mce-active:hover i{color:var(--wpfm-dark-color)!important}.wpfm-food-listings .parent-organic-tag.non-vegetarian:hover::before{content:'Non Veg'}.wpfm-food-listings-header .wpfm-food-listing-header-title .wpfm-heading-text{font-size:25px;line-height:33px;font-weight:500;margin:0}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper{display:flex;width:100%}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action{display:inline-flex;margin-left:auto}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon{height:30px;width:30px;background:var(--wpfm-gray-bg-color);color:var(--wpfm-gray-color);margin-left:5px;border-radius:4px;cursor:pointer;font-size:16px;transition:.2s;display:flex;align-items:center;justify-content:center}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon.wpfm-active-layout{background:var(--wpfm-primary-color);color:var(--wpfm-white-color);cursor:default}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-banner{width:100%;background-color:var(--wpfm-gray-bg-color)}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation,.wpfm-food-single-image img{width:100%}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type-flex-container{display:flex;align-items:center}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type{display:inline-block}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type .wpfm-food-type-text{background:var(--wpfm-gray-bg-color);color:var(--wpfm-dark-color);padding:5px 7px;display:inline-block;line-height:15px;font-weight:400;font-size:14px;border-radius:2px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price,.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-title,.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type{margin:5px;min-height:23px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-title,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details .wpfm-food-title{margin-bottom:10px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-title .wpfm-heading-text{font-size:18px;line-height:25px;font-weight:500;color:var(--wpfm-dark-color);margin:0;word-break:break-word}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price{font-weight:700;display:flex;align-items:center;color:var(--wpfm-primary-color);font-size:18px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price del{margin-right:5px;color:var(--wpfm-gray-color);font-weight:500;font-size:14px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price ins{color:var(--wpfm-primary-color);font-size:18px}.wpfm-food-listings .wpfm-food-layout-wrapper.food_featured,.wpfm-food-listings .wpfm-food-layout-wrapper.food_featured:hover{background:#ffffe4}.wpfm-food-listings .wpfm-food-layout-wrapper.food_cancelled,.wpfm-food-listings .wpfm-food-layout-wrapper.food_cancelled:hover{background:#ffe5e5}.wpfm-food-listings .no_food_listings_found{text-align:center;color:#721c24;display:inline-block;width:100%}.food_listings a.load_more_foods{margin:0 auto;text-align:center;border-radius:5px;display:table;background:var(--wpfm-gray-bg-color);color:var(--wpfm-gray-color);text-transform:uppercase;padding:10px 25px;font-size:15px;letter-spacing:.5px;transition:.2s}.food_listings a.load_more_foods:hover{background:var(--wpfm-gray-color);color:var(--wpfm-white-color)}.wpfm-food-listings .food-stock-status{margin:5px}.wpfm-food-listing-box-view .wpfm-food-box-col,.wpfm-food-listing-list-view{padding-bottom:30px}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper{border:1px solid var(--wpfm-gray-border-color);width:100%;height:100%;border-radius:4px;transition:.2s;overflow:hidden}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper:hover{box-shadow:1px 1px 10px rgba(0,0,0,.12)}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper .wpfm-food-banner .wpfm-food-banner-img{height:230px;width:100%;background-position:center;background-size:cover}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper .wpfm-food-banner .wpfm-food-register-label{display:block;position:absolute;top:15px;right:15px}.wpfm-food-listing-box-view .no_food_listings_found{padding:15px;text-align:center;color:#721c24!important;display:inline-block;width:100%;margin-left:15px;margin-right:15px}.wpfm-food-listing-list-view .wpfm-food-box-col{max-width:100%;width:100%;margin:0;padding:0}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .wpfm-food-infomation{padding-left:10px}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .wpfm-food-banner .wpfm-food-banner-img{height:90px;width:90px;background-size:cover;background-position:center;border-radius:4px}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .food_manager{margin:0;display:inline-flex;width:100%;padding:23px 17px;border-left:3px solid var(--wpfm-gray-border-color);transition:border .2s}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper{border-top:1px solid var(--wpfm-gray-border-color);border-right:1px solid var(--wpfm-gray-border-color)}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper:hover .food_manager{border-width:7px;border-color:var(--wpfm-primary-color);box-shadow:1px 1px 10px rgba(0,0,0,.12)}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .food_manager>.wpfm-food-action-url,table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action{display:flex}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .food_manager>.wpfm-food-action-url .wpfm-food-banner{width:90px;height:90px;background-color:transparent}.wpfm-input-field-common{position:relative;padding:20px;border-radius:4px;background:var(--wpfm-gray-bg-color);margin-bottom:30px}.wpfm-input-field-common>label{display:block;position:relative;overflow:hidden;padding-bottom:5px}.wpfm-input-field-common.with-more{margin-bottom:30px;padding-bottom:35px}.wpfm-input-field-common select{padding:5px 15px;border-color:#d3d3d3;border-radius:4px;width:100%;box-sizing:border-box}.wpfm-single-food-page .wpfm-food-title{display:flex;align-items:center;column-gap:15px}.wpfm-single-food-page .wpfm-food-price{margin:10px 0;font-size:22px;font-weight:500;display:flex;align-items:center}.wpfm-single-food-page .wpfm-food-price del{font-size:18px;color:var(--wpfm-gray-color);margin-right:10px}.wpfm-single-food-page .wpfm-food-price ins{color:var(--wpfm-primary-color);padding:0 5px}.wpfm-single-food-page .food-manager-info{border:1px solid var(--wpfm-gray-border-color);color:var(--wpfm-dark-color);padding:10px 15px 10px 40px;position:relative;display:inline-block;width:100%;margin-bottom:20px;border-radius:5px;background:var(--wpfm-gray-bg-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li.slick-active button,.wpfm-tooltip .wpfm-tooltiptext{background:var(--wpfm-white-color)}.wpfm-single-food-page .food-manager-info i{font-size:19px;position:absolute;left:13px;margin-top:3px;line-height:20px}.wpfm-single-food-page .food-manager-info.food-manager-canceled-info{border-color:#b12828;color:#b12828;background:#fff1f1}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top,table.wpfm-responsive-table-wrapper thead{background:var(--wpfm-gray-bg-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper .wpfm-food-single-image img,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{width:100%;height:auto;display:block}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider{position:relative;margin-bottom:0;height:auto}.wpfm-img-multiple.slick-slide img{object-fit:cover;height:250px;width:100%;border-radius:10px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots{position:absolute;left:10px;bottom:10px;margin:0;padding:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li{height:10px;width:10px;position:relative;margin:4px;font-size:0;line-height:normal;float:left;display:inline-block}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li button{height:10px;width:10px;display:inline-block;border-radius:100%;background:rgba(255,255,255,.5);position:absolute;left:0;top:0;border:none;padding:0;font-size:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow{position:absolute;right:0;bottom:0;height:40px;width:40px;font-size:0;line-height:normal;overflow:hidden;background:rgba(0,0,0,.5);padding:0;text-align:center}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-prev{left:0;top:50%;transform:translate(0,-50%);border:none;z-index:1;cursor:pointer}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-prev::before{content:"\ea40";font-family:wp-food-manager;font-size:20px;color:var(--wpfm-white-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-next{right:0;top:50%;transform:translate(0,-50%);border:none;z-index:1;cursor:pointer}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-next::before{content:"\ea3c";font-family:wp-food-manager;font-size:20px;color:var(--wpfm-white-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-short-info{padding-top:30px;padding-bottom:30px;position:relative}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details{display:inline-block;width:calc(100% - 30px);margin-bottom:50px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details .wpfm-food-title .wpfm-heading-text{margin:0;padding:0;font-size:26px;line-height:30px;color:var(--wpfm-dark-color);font-weight:500;letter-spacing:.5px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content::after{content:"";position:absolute;right:15px;top:0;height:100%;width:1px;background:var(--wpfm-gray-border-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block{background:var(--wpfm-gray-border-color);border-top:1px solid var(--wpfm-gray-border-color);border-bottom:1px solid var(--wpfm-gray-border-color);padding:15px 30px;margin:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block .wpfm-heading-text{font-size:20px;line-height:1.42}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details{padding:30px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details .wpfm-additional-info-block-details-content-items{padding:10px 0;border-bottom:1px solid var(--wpfm-gray-border-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details p{word-break:break-word;font-size:14px;margin-bottom:0;padding-left:5px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-body-content{padding:10px 30px 30px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-body-content .wpfm-heading-text{margin:0 0 15px}.wpfm-food-ingredients,.wpfm-food-nutritions{width:100%;word-break:break-all}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar{padding:30px 30px 30px 0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-short-info{padding:30px 30px 0}.wpfm-single-food-page .wpfm-heading-text{font-size:24px;font-weight:700;color:var(--wpfm-dark-color);padding:0;margin:0;line-height:1.42;word-break:break-word}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-heading-text{font-size:18px;color:var(--wpfm-dark-color);padding:0;margin:0 0 5px}.single_food_listing .wpfm-food-details .wpfm-tooltip .wpfm-tooltiptext{min-width:180px;font-size:14px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-single-food-sidebar-info a{color:var(--wpfm-dark-color);text-decoration:unset}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-single-food-sidebar-info a:hover{color:var(--wpfm-dark-color);text-decoration:underline}.wpfm-single-food-page .wpfm-single-food-sidebar-info{margin-bottom:35px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar a.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar button.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar input.wpfm-theme-button{width:100%;font-size:16px;text-align:center;padding:10px;color:var(--wpfm-white-color)}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-theme-button:hover,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar a.wpfm-theme-button:hover,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar button.wpfm-theme-button:hover,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar input.wpfm-theme-button:hover{color:var(--wpfm-white-color);text-decoration:none}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button{color:var(--wpfm-primary-color);text-decoration:unset;width:100%;line-height:25px;font-weight:500}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button i{float:left;line-height:unset;margin-right:5px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button:hover{text-decoration:none;color:var(--wpfm-dark-color)}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button.remove-bookmark i{float:right;margin:0;font-size:12px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-register-food-form form{background:var(--wpfm-gray-bg-color);padding:15px;margin:10px 0;border-radius:5px}.wpfm-single-food-page .wpfm-share-this-food{margin:0;padding:0;display:inline-block;width:100%}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists{display:inline-block;margin:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon{height:35px;width:35px;position:relative;margin:4px 4px 4px 0;float:left;font-size:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon a{height:35px;width:35px;display:inline-block;background:var(--wpfm-gray-border-color);border-radius:100%;opacity:1;transition:.2s}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon a:hover{opacity:.8}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-weblink a{background:#999}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-weblink a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-web-link-icon.svg);-webkit-mask-image:url(../images/wpfm-web-link-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-whatsapp a{background:#3fa21a}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-whatsapp a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-whatsapp-icon.svg);-webkit-mask-image:url(../images/wpfm-whatsapp-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-youtube a{background:#ea1717}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-youtube a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-youtube-icon.svg);-webkit-mask-image:url(../images/wpfm-youtube-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-facebook a{background:#38529a}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-facebook a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-facebook-icon.svg);-webkit-mask-image:url(../images/wpfm-facebook-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-twitter a{background:#4da6d7}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-twitter a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-twitter-icon.svg);-webkit-mask-image:url(../images/wpfm-twitter-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-linkedin a{background:#3671ae}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-linkedin a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-linkedin-icon.svg);-webkit-mask-image:url(../images/wpfm-linkedin-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-xing a{background:#265c60}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-xing a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-xing-icon.svg);-webkit-mask-image:url(../images/wpfm-xing-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-instagram a{background-image:linear-gradient(to right top,#e52705,#ea0037,#e5005a,#d5007b,#bb1497)}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-instagram a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-instagram-icon.svg);-webkit-mask-image:url(../images/wpfm-instagram-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-pinterest a{background:#b81d1a}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-pinterest a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-pinterest-icon.svg);-webkit-mask-image:url(../images/wpfm-pinterest-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.food_listing_preview_title{background:var(--wpfm-gray-bg-color);border-radius:4px 4px 0 0;margin-top:30px;padding:15px 20px;text-align:center;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.food_listing_preview_title h3{padding:0;margin:0;color:var(--wpfm-white-color)}.food_listing_preview{padding:20px;border-radius:0 0 4px 4px}form#food_preview{box-shadow:0 10px 20px rgba(0,0,0,.1);border-radius:4px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-category .food-category,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-ingredients .food-ingredients,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-nutritions .food-nutritions,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-tag .food-tag,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-type .food-type,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-units .food-units{background:var(--wpfm-gray-bg-color);padding:5px 10px;border-radius:5px;font-size:15px;line-height:20px;display:inline-block;margin:5px 5px 0 0}.food_categories span.food-category{padding:5px 7px;background:var(--wpfm-gray-bg-color);margin:0 3px 6px;border-radius:4px;font-size:14px;font-weight:400;display:inline-block;vertical-align:top;color:var(--wpfm-dark-color)}.wpfm-food-details .food-details-row{display:flex;align-items:center;justify-content:space-between}.wpfm-tooltip{position:relative;display:inline-block;border-bottom:1px dotted var(--wpfm-dark-color)}.wpfm-tooltip .wpfm-tooltiptext{visibility:hidden;width:auto;box-shadow:0 3px 10px rgba(0,0,0,.25);color:var(--wpfm-dark-color);text-align:center;padding:10px;border-radius:6px;position:absolute;z-index:1;opacity:0;transition:opacity 1s;cursor:default}.wpfm-tooltip.wpfm-tooltip-left .wpfm-tooltiptext{top:-5px;right:105%}.wpfm-tooltip.wpfm-tooltip-right .wpfm-tooltiptext{top:-5px;left:105%}.wpfm-tooltip.wpfm-tooltip-top .wpfm-tooltiptext{bottom:100%;left:50%;transform:translate(-50%,0)}.wpfm-tooltip.wpfm-tooltip-bottom .wpfm-tooltiptext{top:100%;left:50%;transform:translate(-50%,0)}.wpfm-tooltip:hover .wpfm-tooltiptext{visibility:visible;opacity:1}table.wpfm-responsive-table-wrapper{font-size:14px;font-weight:500;color:var(--wpfm-gray-color);border:1px solid var(--wpfm-gray-border-color)}table.wpfm-responsive-table-wrapper thead th{border-top:none}table.wpfm-responsive-table-wrapper thead th.wpfm-heading-text{border-bottom:1px solid var(--wpfm-gray-border-color);padding:15px;font-weight:500;color:var(--wpfm-dark-color);text-align:left;text-transform:none;border:none;word-break:inherit}table.wpfm-responsive-table-wrapper thead th:first-child{padding-left:15px}table.wpfm-responsive-table-wrapper tbody tr{background:var(--wpfm-white-color);border-top:1px solid var(--wpfm-gray-bg-color)}table.wpfm-responsive-table-wrapper tbody tr:nth-child(2n) .food_categories span.food-category{background:#f0f0f0}table.wpfm-responsive-table-wrapper tbody tr td{padding:10px;border:none}table.wpfm-responsive-table-wrapper tbody tr td a{color:var(--wpfm-primary-color);word-break:break-word}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn{display:inline-block;margin:2px;height:30px;width:30px;position:relative}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a{height:30px;width:30px;display:inline-block;text-align:center;line-height:normal;font-size:0;position:absolute;left:0;top:0}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a::before{content:"";position:absolute;left:0;top:0;height:30px;width:30px;font-family:wp-food-manager;text-align:center;line-height:30px;font-size:16px}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-edit::before{content:"\e906"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-relist::before{content:"\ea2e"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-mark_not_cancelled::before{content:"\ea52"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-mark_cancelled::before{content:"\ea53"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-duplicate::before{content:"\e92c"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-delete::before{content:"\e9ad"}.wpfm-responsive-table-block{overflow:auto;border:1px solid var(--wpfm-gray-bg-color);margin-bottom:25px}.wpfm-responsive-table-block table.wpfm-responsive-table-wrapper{border:none;margin:0}#food-manager-food-dashboard table td.food_title{display:flex;column-gap:15px;align-items:center;width:270px}.wpfm-single-food-menu-category-banner{position:relative;width:100%;overflow:hidden;border-radius:4px;line-height:0;margin-bottom:10px}.wpfm-single-food-menu-category-banner img{height:260px;width:100%;object-fit:cover;border-radius:4px}.wpfm-single-food-menu-category-banner .wpfm-single-food-menu-category-title{position:absolute;left:0;bottom:0;margin:auto 0;text-align:center;padding:15px;background:rgb(0 0 0 / 50%);font-size:20px;color:var(--wpfm-white-color);width:100%;line-height:normal;word-break:break-all}.parent-organic-tag:hover::before,span.wpfm-front-radio-icon:hover:before{content:attr(data-icon-type);position:absolute;right:calc(100% + 5px);background:var(--wpfm-dark-color);color:var(--wpfm-white-color);font-size:11px;border-radius:4px;top:0;padding:3px 6px;z-index:9;width:auto;min-width:70px;text-align:center}.parent-organic-tag:hover::after,span.wpfm-front-radio-icon:hover:after{content:'';background:var(--wpfm-dark-color);height:9px;width:9px;position:absolute;transform:rotate(45deg);top:6px;right:100%}span.wpfm-front-radio-icon{display:inline-block;vertical-align:top;position:relative;cursor:pointer}span.wpfm-front-radio-icon:hover:before{content:attr(data-food-menu);left:calc(100% + 10px)}span.wpfm-front-radio-icon:hover:after{left:calc(100% - -6px);top:calc(50% - 5px)}span.fm-divider{position:absolute;left:0;right:0;text-align:center}.fm-food-menu-container{display:flex;flex-wrap:wrap;margin:0 -10px}.fm-food-menu-container .food-list-box{background:var(--wpfm-gray-bg-color);color:var(--wpfm-dark-color);vertical-align:top;margin:10px;padding:15px;font-size:14px;border-radius:4px;position:relative;transition:.2s;width:calc(50% - 20px)}.fm-food-menu-container .food-list-box:hover{box-shadow:1px 1px 10px rgba(0,0,0,.12);background-color:var(--wpfm-white-color);color:var(--wpfm-dark-color)}.fm-food-menu-container .food-list-box .fm-food-menu-title strong{display:block;font-size:18px}.fm-food-menu-container .food-list-box .fm-food-menu-pricing{white-space:nowrap;margin-bottom:10px;margin-top:5px;display:flex;align-items:center}.fm-food-menu-container .food-list-box .fm-food-menu-pricing ins{display:block;color:var(--wpfm-primary-color);font-size:18px;margin-left:5px}.fm-food-menu-container .food-list-box .fm-food-menu-pricing del{color:var(--wpfm-gray-color);font-weight:500;font-size:14px}.fm-food-menu-desc,.fm-food-menu-title strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wpfm-single-food-menu-page .wpfm-single-food-image img{max-width:100%;width:100%}.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-ingredients .wpfm-heading-text,.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-nutritions .wpfm-heading-text{font-size:18px;margin-bottom:10px!important}.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-ingredients span.food-ingredients,.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-nutritions span.food-nutritions{background:var(--wpfm-gray-bg-color);padding:5px 10px;border-radius:5px;font-size:15px;line-height:20px;display:inline-block;margin:0 5px 5px 0}.wpfm-additional-file-slider .wpfm-icon{border:2px solid var(--wpfm-gray-border-color);padding:10px;border-radius:4px;margin:5px 1px}.wpfm-front-radio-icon span.wpfm-menu{margin-left:10px;font-size:20px;border-radius:4px;border:1px solid var(--wpfm-dark-color);width:36px;height:36px;text-align:center;line-height:34px;display:inline-block}.wpfm-input-description{color:var(--wpfm-gray-color);font-size:13px;display:block;overflow:hidden;position:relative;top:-3px;padding-bottom:10px}.food-stock-status mark.fm_outofstock{padding:3px 5px 2px;font-size:12px;display:inline-block;vertical-align:top;background:#f74747;color:var(--wpfm-white-color);border-radius:2px}small.wpfm-food-status-pending-approval{font-weight:400;display:inline-block;margin:3px 0 3px 5px;padding:3px 8px;font-size:13px;border-radius:2px;background:#fff4d7;color:#6b4e00}mark.fm_instock{background:0 0;color:#7ad03a}.parent-organic-tag{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 20px;margin:5px}ul.food-manager-term-checklist{list-style:none;padding:10px 15px;margin-left:0;border:2px solid var(--wpfm-gray-border-color);border-radius:5px}.wpfm-with-bg-image-row{display:inline-block;vertical-align:top;margin-bottom:2rem;width:100%}.wpfm-with-bg-image-row p{text-align:left;padding:20px;background:var(--wpfm-gray-border-color);border-radius:4px}img.wpfm-organic-tag-icon{width:20px;height:20px;object-fit:cover}.ui-autocomplete{list-style:none;padding-left:10px;margin:0;position:absolute!important}@media screen and (max-width:1024px){.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-left-content{max-width:60%;flex:0 0 60%}.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-right-content,.wpfm-single-food-page .wpfm-single-food-header-top .wpfm-single-food-short-info{max-width:40%;flex:0 0 40%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper .wpfm-food-single-image img{height:400px;width:100%}}@media screen and (min-width:993px){#food-manager-food-dashboard table td .parent-organic-tag:hover::before,#food-manager-food-dashboard table td span.wpfm-front-radio-icon:hover:before{right:inherit;left:calc(100% + 5px)}#food-manager-food-dashboard table td .parent-organic-tag:hover::after,#food-manager-food-dashboard table td span.wpfm-front-radio-icon:hover:after{left:100%;right:inherit}}@media screen and (max-width:992px){table.wpfm-responsive-table-wrapper{border:none}table.wpfm-responsive-table-wrapper,table.wpfm-responsive-table-wrapper tbody,table.wpfm-responsive-table-wrapper td,table.wpfm-responsive-table-wrapper th,table.wpfm-responsive-table-wrapper thead,table.wpfm-responsive-table-wrapper tr{display:block}table.wpfm-responsive-table-wrapper thead tr{position:absolute;top:-9999px;left:-9999px}table.wpfm-responsive-table-wrapper tr{border:1px solid var(--wpfm-gray-border-color)}table.wpfm-responsive-table-wrapper td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%!important;white-space:normal;text-align:left}table.wpfm-responsive-table-wrapper td:before{position:absolute;top:15px;left:16px;width:45%;padding-right:10px;white-space:normal;text-align:left;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:52px;line-height:20px;-webkit-line-clamp:2;-webkit-box-orient:vertical;content:attr(data-title)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content::after,table.wpfm-responsive-table-wrapper .wpfm-tbody-th-label{display:none}.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-left-content,.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-right-content,.wpfm-single-food-page .wpfm-single-food-header-top .wpfm-single-food-images,.wpfm-single-food-page .wpfm-single-food-header-top .wpfm-single-food-short-info{max-width:100%;flex:0 0 100%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper .wpfm-food-single-image img{height:auto;width:100%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{height:450px;width:100%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-short-info{padding:25px 35px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details{width:100%;margin-bottom:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details .wpfm-food-title{margin-bottom:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-body-content{padding:20px}.food_listing_preview_title{margin:0}.food_listing_preview_title .food-manager-button-edit-listing,.food_listing_preview_title .food-manager-button-submit-listing{margin:0 auto;max-width:200px;width:100%}.food_listing_preview_title h2{margin:10px 20px;width:100%}#food-manager-food-dashboard table td.food_title{width:inherit}}@media screen and (max-width:768px){.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{height:400px;width:100%}.wpfm-single-food-page .wpfm-single-food-sidebar-info{margin-bottom:0}.wpfm-single-food-page .wpfm-share-this-food{margin-top:20px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar a.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar button.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar input.wpfm-theme-button{padding:15px}.wpfm-tabs-wrapper .wpfm-tabs-wrap{display:inline-block;width:100%}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link{border-top:1px solid var(--wpfm-gray-border-color)}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link:first-child{border-top:0}.fm-food-menu-container,.wpfm-dashboard-main-header .wpfm-foods-filter{flex-direction:column}.fm-food-menu-container .food-list-box{width:calc(100% - 20px)}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-foods-filter-block.wpfm-foods-filter-submit{width:100%}}@media screen and (max-width:575px){.wpfm-form-wrapper .wpfm-col{width:100%;flex:unset}.wpfm-form-wrapper .filter_wide.filter_by_tag{text-align:center}.wpfm-form-wrapper .filter_wide.filter_by_tag .filter_by_tag_cloud{margin-top:5px}.wpfm-form-wrapper .filter_wide.filter_by_tag .filter_by_tag_cloud .tag-cloud-link{margin:2px}.wpfm-form-wrapper .showing_applied_filters{text-align:center;line-height:18px;padding:5px 10px}.wpfm-form-wrapper .showing_applied_filters a{float:none;margin:7px}.wpfm-food-listings-header .wpfm-food-listing-header-title .wpfm-heading-text{text-align:center;margin-bottom:10px}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action{margin:auto;width:100%;border-radius:5px;overflow:hidden;justify-content:center}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon{height:35px;line-height:35px;width:33.3%;margin:0;border-radius:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{height:300px;width:100%}.food-manager-pagination ul.page-numbers{display:inline-block;text-align:center}.food-manager-pagination ul.page-numbers li{padding:3px}.food-manager-pagination ul.page-numbers li .page-numbers{margin:0}#food-manager-food-dashboard table td.food_title{display:block}#food-manager-food-dashboard table td .parent-organic-tag{justify-content:start;margin-top:10px}small.wpfm-food-status-pending-approval{margin-top:10px}}
     1:root{--wpfm-primary-color:#ff4600;--wpfm-dark-color:#000000;--wpfm-gray-color:#555555;--wpfm-white-color:#ffffff;--wpfm-gray-border-color:#dddddd;--wpfm-gray-bg-color:#f5f5f5}*{box-sizing:inherit}[class^=wpfm]{box-sizing:border-box;-webkit-box-sizing:border-box}.wpfm-main{font-size:16px;line-height:1.42;color:var(--wpfm-dark-color);font-weight:400}.wpfm-main a{color:var(--wpfm-gray-color);text-decoration:none;outline:0;transition:color .2s}.wpfm-main a:active,.wpfm-main a:focus,.wpfm-main a:hover{color:var(--wpfm-primary-color);text-decoration:none;outline:0}.wpfm-main b,.wpfm-main strong{font-weight:600}.wpfm-loading,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper{position:relative}.wpfm-main .wpfm-heading-text{font-weight:400}.wpfm-loading::before{content:"";height:100%;width:100%;position:absolute;left:0;top:0;z-index:99;background:rgba(255,255,255,.7)}.wpfm-loading::after{content:"";background-image:url(../images/ajax-loader.gif);position:absolute;height:30px;width:30px;background-repeat:no-repeat;background-size:contain;background-position:center;left:50%;top:50%;transform:translate(-50%,-50%);z-index:100}.wpfm-alert{position:relative;padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:5px}.wpfm-alert a{background:rgba(0,0,0,.6);font-size:14px;line-height:15px;color:var(--wpfm-white-color);padding:5px 10px;border-radius:5px;display:inline-block;transition:.2s}.wpfm-alert a:hover{background:var(--wpfm-dark-color);color:var(--wpfm-white-color)}.wpfm-alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.wpfm-alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.wpfm-alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.wpfm-alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.wpfm-alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.wpfm-alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.wpfm-alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.wpfm-alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.food-manager-pagination{text-align:center;display:inline-block;width:100%}.food-manager-pagination ul.page-numbers{margin:0 auto;padding:0;display:inline-flex}.food-manager-pagination ul.page-numbers li{list-style:none;display:inline-block;margin:0 2px}.food-manager-pagination ul.page-numbers li .page-numbers{font-size:14px;line-height:20px;font-weight:400;padding:5px 10px;display:inline-block;border:2px solid var(--wpfm-gray-border-color);background:var(--wpfm-white-color);color:var(--wpfm-gray-color)}.food-manager-pagination ul.page-numbers li .page-numbers:hover{border-color:#999}.food-manager-pagination ul.page-numbers li .page-numbers.current{border-color:var(--wpfm-primary-color);background:var(--wpfm-primary-color);color:var(--wpfm-white-color)}.wpfm-form-wrapper{margin-bottom:20px;line-height:25px}.wpfm-form-wrapper .wpfm-form-title{font-size:23px;line-height:28px;font-weight:500;color:var(--wpfm-dark-color);padding:0;margin:0 0 20px}.wpfm-form-wrapper fieldset{border:none;margin:0 0 20px;padding:0}.wpfm-food-listings-header,.wpfm-form-wrapper .wpfm-form-group,.wpfm-single-food-image{margin-bottom:20px}.wpfm-form-wrapper .wpfm-form-group .require-field{color:red}.food_manager .featured-media,.post-thumbnail .wp-post-image,.single-food_manager .wp-post-image,.wpfm-accordion-item .wpfm-accordion-body,.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file.empty-src,.wpfm-form-wrapper .wpfm-form-group .wpfm-form-label,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li button::before,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li::before,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots::before{display:none}.wpfm-form-wrapper .wpfm-form-group .wpfm-form-label-text{color:var(--wpfm-dark-color);margin:0 0 7px;display:inline-block}.wpfm-form-wrapper .wpfm-form-group input[type=color],.wpfm-form-wrapper .wpfm-form-group input[type=date],.wpfm-form-wrapper .wpfm-form-group input[type=datetime-local],.wpfm-form-wrapper .wpfm-form-group input[type=datetime],.wpfm-form-wrapper .wpfm-form-group input[type=email],.wpfm-form-wrapper .wpfm-form-group input[type=file],.wpfm-form-wrapper .wpfm-form-group input[type=month],.wpfm-form-wrapper .wpfm-form-group input[type=number],.wpfm-form-wrapper .wpfm-form-group input[type=password],.wpfm-form-wrapper .wpfm-form-group input[type=search],.wpfm-form-wrapper .wpfm-form-group input[type=tel],.wpfm-form-wrapper .wpfm-form-group input[type=text],.wpfm-form-wrapper .wpfm-form-group input[type=time],.wpfm-form-wrapper .wpfm-form-group input[type=url],.wpfm-form-wrapper .wpfm-form-group input[type=week],.wpfm-form-wrapper .wpfm-form-group select,.wpfm-form-wrapper .wpfm-form-group textarea{height:45px;width:100%;margin:0;outline:0;border:1px solid var(--wpfm-gray-border-color);border-radius:4px;font-size:16px;font-weight:400;line-height:45px;padding:0 15px;background-color:var(--wpfm-white-color);color:var(--wpfm-dark-color);transition:.2s}.wpfm-form-wrapper .wpfm-form-group input[type=color]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=date]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=datetime-local]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=datetime]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=email]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=file]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=month]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=number]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=password]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=search]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=tel]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=text]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=time]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=url]:hover,.wpfm-form-wrapper .wpfm-form-group input[type=week]:hover,.wpfm-form-wrapper .wpfm-form-group select:hover,.wpfm-form-wrapper .wpfm-form-group textarea:hover{border-color:#999;background-color:var(--wpfm-white-color);transition:.2s}.wpfm-form-wrapper .wp-editor-container:focus,.wpfm-form-wrapper .wpfm-form-group input[type=color]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=date]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=datetime-local]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=datetime]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=email]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=file]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=month]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=number]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=password]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=search]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=tel]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=text]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=time]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=url]:focus,.wpfm-form-wrapper .wpfm-form-group input[type=week]:focus,.wpfm-form-wrapper .wpfm-form-group select:focus,.wpfm-form-wrapper .wpfm-form-group textarea:focus{border-color:var(--wpfm-primary-color)}.wpfm-form-wrapper .wp-editor-container{border-radius:4px;overflow:hidden}.wpfm-form-wrapper .wp-editor-container:hover{border-color:#999;transition:.2s}.wpfm-form-wrapper .wpfm-form-group input[type=file]{line-height:20px;padding:8px 10px}.wpfm-form-wrapper .wpfm-form-group input[type=number]{padding-right:0;width:100%;max-width:unset}.wpfm-form-wrapper .wpfm-form-group select{padding:0 12px}.wpfm-form-wrapper .wpfm-form-group textarea{height:auto;padding:15px;line-height:22px}.food-manager-uploaded-file-preview span.food-manager-uploaded-file-name{padding:20px 10px 15px;display:inline-block;border:2px solid var(--wpfm-gray-border-color);border-radius:4px}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file{margin-bottom:20px;display:inline-block;padding-right:20px;vertical-align:top}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview{display:inline-block;position:relative}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview img{max-height:100px;max-width:100px;border:2px solid var(--wpfm-gray-border-color);border-radius:6px}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview .food-manager-remove-uploaded-file{font-size:0;height:20px;width:20px;background:var(--wpfm-white-color);position:absolute;top:2px;right:2px;border-radius:0 4px;border:none;box-shadow:2px 2px 10px rgba(0,0,0,.2)}.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview .food-manager-remove-uploaded-file::before{content:"\ea0f";font-family:wp-food-manager;font-size:10px;color:red;top:50%;position:absolute;left:50%;transform:translate(-50%,-50%);transition:.2s}.fm-food-menu-container .food-list-box:focus,.fm-food-menu-container .food-list-box>a,.wpfm-dashboard-main-title.wpfm-dashboard-main-filter a.wpfm-dashboard-header-btn:hover i,.wpfm-form-wrapper .wpfm-form-group .food-manager-uploaded-files .food-manager-uploaded-file .food-manager-uploaded-file-preview .food-manager-remove-uploaded-file:hover::before,.wpfm-main .wpfm-theme-url a:hover,.wpfm-main .wpfm-theme-url:hover,.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link a,.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link a:hover,.wpfm-theme-text-button:hover,.wpfm-theme-url a:hover,.wpfm-theme-url:hover,table.wpfm-responsive-table-wrapper tbody tr td a:hover{color:var(--wpfm-dark-color)}.wpfm-form-wrapper .showing_applied_filters{background:var(--wpfm-gray-bg-color);font-size:15px;border-radius:4px;padding:5px 10px;margin:10px 0;display:inline-block;width:100%}.wpfm-form-wrapper .showing_applied_filters span{margin:2px;display:inline-block}.wpfm-form-wrapper .showing_applied_filters a{float:right;margin:2px}.wpfm-main fieldset{border:none}.wpfm-theme-button,a.wpfm-theme-button,button.wpfm-theme-button,input.wpfm-theme-button{background:var(--wpfm-primary-color);color:var(--wpfm-white-color);border:none;padding:10px 20px;width:auto;text-transform:uppercase;font-weight:600;border-radius:4px;font-size:16px;line-height:1.42;margin:5px 0;letter-spacing:0;display:inline-block;cursor:pointer;transition:.2s;vertical-align:middle}.wpfm-theme-button span,.wpfm-theme-button:focus span,.wpfm-theme-button:hover span,a.wpfm-theme-button span,a.wpfm-theme-button:focus span,a.wpfm-theme-button:hover span,button.wpfm-theme-button span,button.wpfm-theme-button:focus span,button.wpfm-theme-button:hover span,input.wpfm-theme-button span,input.wpfm-theme-button:focus span,input.wpfm-theme-button:hover span{color:var(--wpfm-white-color)}.wpfm-theme-button:focus,.wpfm-theme-button:hover,a.wpfm-theme-button:focus,a.wpfm-theme-button:hover,button.wpfm-theme-button:focus,button.wpfm-theme-button:hover,input.wpfm-theme-button:focus,input.wpfm-theme-button:hover{background:var(--wpfm-dark-color);border:none;outline:0}.organizer-related-data-wrapper .show-organizer-info .wpfm-list-group .organizer-name-list .organizer-list-items a:hover,.venue-related-data-wrapper .show-venue-info .wpfm-list-group .venue-name-list .venue-list-items a:hover,.wpfm-main .wpfm-theme-url,.wpfm-main .wpfm-theme-url a,.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link:hover,.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link:hover i,.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li a.wpfm-main-vmenu-dashboard-link.wpfm-main-vmenu-dashboard-link-active i,.wpfm-main-vmenu-dashboard-wrapper .wpfm-main-vmenu-dashboard-content-wrap .wpfm-dashboard-events-block-wrap .wpfm-dashboard-event-list-wrapper .wpfm-dashboard-event-list .wpfm-dashboard-event-name a:hover,.wpfm-single-event-page .wpfm-single-event-footer .wpfm-venue-wrapper .wpfm-venue-profile .wpfm-venue-name.wpfm-heading-text a:hover,.wpfm-theme-text-button,.wpfm-theme-url,.wpfm-theme-url a{color:var(--wpfm-primary-color)}.wpfm-theme-button i{line-height:normal}.wpfm-theme-button.wpfm-theme-button-icon-left{position:relative;padding-left:40px}.wpfm-theme-button.wpfm-theme-button-icon-left i{position:absolute;left:15px;top:50%;transform:translate(0,-50%)}.wpfm-theme-button.wpfm-theme-button-icon-right{position:relative;padding-right:40px}.wpfm-theme-button.wpfm-theme-button-icon-right i{position:absolute;right:15px;top:50%;transform:translate(0,-50%)}.wpfm-theme-button.wpfm-active-button{background:var(--wpfm-gray-color)}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-form-group button:hover,.wpfm-theme-button.wpfm-active-button:hover{background:var(--wpfm-dark-color)}.wpfm-tabs-wrapper{width:100%;margin-bottom:20px;border:2px solid var(--wpfm-gray-border-color);border-radius:5px}.wpfm-tabs-wrapper .wpfm-tabs-wrap{display:flex;background:var(--wpfm-gray-bg-color);margin:0;padding:0}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link{padding:15px 25px;list-style:none;cursor:pointer;font-size:17px;font-weight:600;background:var(--wpfm-gray-bg-color);transition:.2s;color:var(--wpfm-dark-color)}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link.active{background:var(--wpfm-white-color);color:var(--wpfm-dark-color);cursor:default}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link.active a{cursor:default}.wpfm-tabs-wrapper .wpfm-tab-content{padding:25px;display:none;margin:0}.wpfm-accordion-item-show .wpfm-accordion-body,.wpfm-tabs-wrapper .wpfm-tab-content .wpfm-tab-pane.active,.wpfm-tabs-wrapper .wpfm-tab-content.current{display:block}.wpfm-tabs-wrapper .wpfm-tab-content .wpfm-tab-pane{display:none;list-style:none}.wpfm-single-food-page .wpfm-single-food-wrapper,.wpfm-tabs-wrapper .wpfm-food-listings .wpfm-food-layout-wrapper{border:1px solid var(--wpfm-gray-border-color)}.wpfm-with-bg-image{background-size:cover;background-position:center;min-height:250px;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;position:relative;border-radius:4px;padding:15px}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon:hover,.wpfm-view-more{background:var(--wpfm-gray-border-color)}.wpfm-with-bg-image .wpfm-heading-text{color:var(--wpfm-white-color);margin:0;position:relative;z-index:1}.wpfm-with-bg-image::before{border-radius:4px;background:var(--wpfm-dark-color);position:absolute;content:'';left:0;right:0;top:0;bottom:0;opacity:.5}.wpfm-with-bg-image::after{content:'';background:var(--wpfm-primary-color);position:absolute;bottom:0;left:0;right:0;height:5px}.wpfm-view-more{position:absolute;bottom:-12px;top:auto;left:21px;right:auto;padding:5px 15px 4px;border-radius:3px;font-size:12px;font-weight:600;cursor:pointer}.wpfm-additional-main-row .wpfm-additional-info-block-details-content-items p{word-break:break-word;font-size:14px;margin-bottom:0}.wpfm-additional-main-row .wpfm-additional-info-block-details-content-items{padding:10px 0;border-top:1px solid var(--wpfm-gray-border-color)}.wpfm-additional-main-row [class^=wpfm-col]{width:100%;flex:0 0 100%;max-width:100%}.wpfm-dashboard-main-header .wpfm-foods-filter{background:var(--wpfm-gray-bg-color);padding:10px 15px;margin:0;border-radius:3px;display:flex;position:relative}.wpfm-dashboard-main-header .wpfm-foods-filter::before{content:'';background:var(--wpfm-gray-bg-color);height:20px;width:20px;position:absolute;right:8px;top:-7px;transform:rotate(45deg)}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-foods-filter-block{width:100%;margin-right:10px}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-foods-filter-block.wpfm-foods-filter-submit{width:auto}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-form-group{margin:5px 0}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-form-group button{width:100%;height:45px;margin:0;white-space:nowrap}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter a.wpfm-dashboard-header-btn i[class^=wpfm-icon-]{color:var(--wpfm-primary-color);transition:.2s}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter a.wpfm-dashboard-header-btn{display:inline-flex;border:1px solid var(--wpfm-gray-border-color);padding:10px;border-radius:3px;align-items:center;font-size:16px;line-height:25px}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter .wpfm-d-inline-block.wpfm-dashboard-i-block-btn{margin:0 0 0 auto}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter h3.wpfm-theme-text{margin:0;padding:0;font-weight:700}.wpfm-dashboard-main-title.wpfm-dashboard-main-filter{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-bottom:15px;align-items:center}.wpfm-main-vmenu-dashboard-wrapper .wpfm-main-vmenu-dashboard-nav ul.wpfm-main-vmenu-dashboard-ul{border-left:1px solid var(--wpfm-gray-border-color);border-right:1px solid var(--wpfm-gray-border-color);list-style:none}.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li,.wpfm-main-vmenu-dashboard-wrapper .wpfm-main-vmenu-dashboard-nav-menu .wpfm-main-vmenu-dashboard-nav ul{list-style:none;margin:0;padding:0}.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li a.wpfm-main-vmenu-dashboard-link.wpfm-main-vmenu-dashboard-link-active{font-weight:600;color:var(--wpfm-primary-color);transition:.2s linear}.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li:first-child .wpfm-main-vmenu-dashboard-link{border-top:1px solid var(--wpfm-gray-border-color)}.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link{display:flex;align-items:center;padding:10px 15px;color:var(--wpfm-dark-color);font-size:16px;word-break:break-word;text-decoration:none;border-bottom:1px solid var(--wpfm-gray-border-color);transition:.2s linear}.wpfm-main-vmenu-dashboard-nav .wpfm-main-vmenu-dashboard-ul .wpfm-main-vmenu-dashboard-li .wpfm-main-vmenu-dashboard-link i{margin-right:10px;font-size:14px}.wpfm-form-wrapper .chosen-container{width:100%!important;outline:0;margin:0;border-radius:4px;border:1px solid var(--wpfm-gray-border-color);background-color:var(--wpfm-white-color);transition:.2s}.wpfm-form-wrapper .chosen-container:hover{border-color:var(--wpfm-gray-border-color);background-color:var(--wpfm-white-color);transition:.2s}.wpfm-form-wrapper .chosen-container:focus{border-color:var(--wpfm-primary-color);background-color:var(--wpfm-white-color)}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices{border:0;box-shadow:none;background:0 0}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices li.search-choice{margin:11px 0 11px 10px;border-color:var(--wpfm-gray-border-color);background:var(--wpfm-gray-bg-color);padding:5px 20px 5px 5px;font-size:14px;box-shadow:none}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices li.search-choice:first-of-type{margin-left:0}.wpfm-form-wrapper .chosen-container.chosen-container-multi .chosen-choices li.search-field input[type=text]{font-size:16px;font-family:inherit;height:41px;font-weight:400;padding:0;margin:0}.wpfm-form-wrapper .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:6px}.wpfm-form-wrapper .chosen-container .chosen-choices,.wpfm-form-wrapper .chosen-container .chosen-single{padding:0 15px;font-size:16px;line-height:42px;font-weight:400;color:var(--wpfm-dark-color);background:0 0;height:auto;border:none;box-shadow:unset;border-radius:4px}.wpfm-form-wrapper .chosen-container-single .chosen-default,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details .wpfm-additional-info-block-textarea p{color:var(--wpfm-gray-color)}.wpfm-form-wrapper .chosen-container .chosen-single div b{background-position:0 12px}.wpfm-form-wrapper .chosen-container .chosen-drop{top:calc(100% - 2px);border-color:var(--wpfm-gray-border-color);border-top:0;border-radius:0 0 4px 4px;margin:0 0 0 -1px;box-shadow:7px 5px 15px rgb(0 0 0 / 10%);width:calc(100% + 2px);transition:border-color .2s}.wpfm-form-wrapper .chosen-container .chosen-drop:hover{border-color:var(--wpfm-gray-border-color)}.selection-preview ul li,.wpfm-food-listing-list-view .wpfm-food-box-col:last-of-type .wpfm-food-layout-wrapper{border-bottom:1px solid var(--wpfm-gray-border-color)}.wpfm-form-wrapper .chosen-container .chosen-search input[type=text]{height:auto;line-height:20px;font-size:16px;padding:1px 4px;min-height:unset}.wpfm-form-wrapper .chosen-container .chosen-drop .chosen-results li{font-size:14px}.wpfm-form-wrapper .chosen-container .chosen-drop .chosen-results li.highlighted{background:var(--wpfm-primary-color)}.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat{font-size:14px;margin:0;border:1px solid var(--wpfm-gray-border-color)}.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat td,.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat th{border:1px solid var(--wpfm-gray-border-color);border-radius:3px}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details,.wpfm-options-box td,.wpfm-options-box th{padding:10px}.wpfm-options-box td input[type=checkbox]{height:16px!important;border:1px solid var(--wpfm-gray-border-color)}.wpfm-form-wrapper .wpfm-options-box .wpfm-form-group table td input,.wpfm-form-wrapper .wpfm-options-box .wpfm-form-group table td select{height:34px;line-height:34px;font-size:14px}.wpfm-input-field{background:var(--wpfm-white-color);padding:15px;position:relative;border-radius:4px;border:2px solid var(--wpfm-gray-border-color);margin:0;width:100%;display:inline-block;vertical-align:top;box-sizing:border-box}.wpfm-form-wrapper .wpfm-actions{margin:30px 0}.wpfm-form-wrapper .wpfm-actions button.wpfm-add-button{background-color:var(--wpfm-gray-bg-color);color:var(--wpfm-dark-color);padding:6px 12px;border:0;border-radius:4px;transition:.02s;cursor:pointer;font-weight:500}.wpfm-form-wrapper .wpfm-actions button.wpfm-add-button:hover,a.button.wpfm-add-row:hover{background-color:var(--wpfm-primary-color);color:var(--wpfm-white-color)}.wpfm-form-wrapper .postbox span.attribute_key input[type=text]{padding:2px}.wpfm-form-wrapper .wpfm-metabox{background:var(--wpfm-white-color);margin:15px 0 0!important;border-bottom:2px solid var(--wpfm-gray-border-color);border-radius:4px}.wpfm-form-wrapper .wpfm-content{padding:1em}.food_listing_preview_title h2,.wpfm-form-wrapper .wpfm-content .wpfm-form-group:last-of-type,.wpfm-input-description>p{margin-bottom:0}.wpfm-form-wrapper .wpfm-content .field label{margin-right:10px}.wpfm-form-wrapper .postbox{border:2px solid var(--wpfm-gray-bg-color)}.wpfm-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:pointer}.food_listing_preview_action_button .food-manager-button-submit-listing,.wpfm-metabox h3 a.wpfm-delete-btn,.wpfm-metabox h3 button{float:right}.wpfm-metabox h3 a.wpfm-delete-btn::before{font-size:23px}.wpfm-metabox h3 a.wpfm-delete-btn{font-size:0;color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative}.wpfm-metabox .wpfm-togglediv{width:27px;float:right}.wpfm-metabox.closed .wpfm-togglediv::before{content:"\f140"!important}.wpfm_error_tip{color:var(--wpfm-white-color);font-size:.8em;background:var(--wpfm-dark-color);text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.wpfm_error_tip::after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}.wpfm-metabox .wpfm-togglediv::before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wpfm-metabox h3 strong{line-height:26px;font-weight:700}.selection-preview ul li:last-of-type,textarea#food_description{border:0}.wpfm-field-switch input{opacity:0;width:0;height:0}.wpfm-field-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--wpfm-gray-border-color);-webkit-transition:.4s;-o-transition:.4s;transition:.4s}label.wpfm-field-switch{position:relative;display:inline-block;width:50px;height:24px;float:none;margin:0}.wpfm-field-switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:var(--wpfm-white-color);-webkit-transition:.4s;-o-transition:.4s;transition:.4s}input:checked+.wpfm-field-switch-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.wpfm-field-switch-slider.round:before{border-radius:50%}.wpfm-field-switch-slider.round{border-radius:34px}input:checked+.wpfm-field-switch-slider{background-color:var(--wpfm-primary-color)}.wpfm-options-box fieldset.wpfm-form-group table.widefat a.option-delete-btn{font-size:0}.wpfm-options-box fieldset.wpfm-form-group:last-child table.widefat input.opt_default{text-align:center;width:100%;height:14px}a.option-delete-btn::before{font-size:24px}span.wpfm-option-sort:hover{cursor:move}a.button.wpfm-add-row{cursor:pointer;background:var(--wpfm-white-color);padding:3px 12px;border-radius:4px;float:right;font-size:14px;color:var(--wpfm-primary-color);border:1px solid var(--wpfm-primary-color);font-weight:500}.wpfm-inner-field-content{display:flex;flex-flow:column}.wpfm-input-singular{display:flex;align-items:center;column-gap:8px;word-break:break-word}.wpfm-img-single img{width:65%;border-radius:10px;height:auto;object-fit:cover}.selection-preview ul{list-style:none;margin:10px 0 0;padding:0;background-color:var(--wpfm-gray-bg-color);border-radius:4px}.selection-preview ul li{padding:15px 0}.selection-preview ul li label{margin:0 15px 5px;display:block;line-height:normal}.selection-preview ul li .term-item-flex{display:flex;padding:0 7.5px}.selection-preview ul li .term-item-flex input,.selection-preview ul li .term-item-flex select{margin:0 7.5px!important}.wpfm-form-wrapper .wpfm-form-group .selection-preview{margin-top:5px}.mce-btn button:hover{background:0 0;color:transparent}.mce-btn.mce-active button,.mce-btn.mce-active i,.mce-btn.mce-active:hover button,.mce-btn.mce-active:hover i{color:var(--wpfm-dark-color)!important}.wpfm-food-listings .parent-organic-tag.non-vegetarian:hover::before{content:'Non Veg'}.wpfm-food-listings-header .wpfm-food-listing-header-title .wpfm-heading-text{font-size:25px;line-height:33px;font-weight:500;margin:0}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper{display:flex;width:100%}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action{display:inline-flex;margin-left:auto}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon{height:30px;width:30px;background:var(--wpfm-gray-bg-color);color:var(--wpfm-gray-color);margin-left:5px;border-radius:4px;cursor:pointer;font-size:16px;transition:.2s;display:flex;align-items:center;justify-content:center}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon.wpfm-active-layout{background:var(--wpfm-primary-color);color:var(--wpfm-white-color);cursor:default}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-banner{width:100%;background-color:var(--wpfm-gray-bg-color)}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation,.wpfm-food-single-image img{width:100%}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type-flex-container{display:flex;align-items:center}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type{display:inline-block}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type .wpfm-food-type-text{background:var(--wpfm-gray-bg-color);color:var(--wpfm-dark-color);padding:5px 7px;display:inline-block;line-height:15px;font-weight:400;font-size:14px;border-radius:2px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price,.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-title,.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type{margin:5px;min-height:23px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-title,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details .wpfm-food-title{margin-bottom:10px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-title .wpfm-heading-text{font-size:18px;line-height:25px;font-weight:500;color:var(--wpfm-dark-color);margin:0;word-break:break-word}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price{font-weight:700;display:flex;align-items:center;color:var(--wpfm-primary-color);font-size:18px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price del{margin-right:5px;color:var(--wpfm-gray-color);font-weight:500;font-size:14px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-price ins{color:var(--wpfm-primary-color);font-size:18px}.wpfm-food-listings .wpfm-food-layout-wrapper .wpfm-food-infomation .wpfm-food-details .wpfm-food-type-tag{margin:5px;display:flex;align-items:center}.wpfm-food-listings .wpfm-food-layout-wrapper.food_featured,.wpfm-food-listings .wpfm-food-layout-wrapper.food_featured:hover{background:#ffffe4}.wpfm-food-listings .wpfm-food-layout-wrapper.food_cancelled,.wpfm-food-listings .wpfm-food-layout-wrapper.food_cancelled:hover{background:#ffe5e5}.wpfm-food-listings .no_food_listings_found{text-align:center;color:#721c24;display:inline-block;width:100%}.food_listings a.load_more_foods{margin:0 auto;text-align:center;border-radius:5px;display:table;background:var(--wpfm-gray-bg-color);color:var(--wpfm-gray-color);text-transform:uppercase;padding:10px 25px;font-size:15px;letter-spacing:.5px;transition:.2s}.food_listings a.load_more_foods:hover{background:var(--wpfm-gray-color);color:var(--wpfm-white-color)}.wpfm-food-listings .food-stock-status{margin:5px}.wpfm-food-listing-box-view .wpfm-food-box-col,.wpfm-food-listing-list-view{padding-bottom:30px}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper{border:1px solid var(--wpfm-gray-border-color);width:100%;height:100%;border-radius:4px;transition:.2s;overflow:hidden}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper:hover{box-shadow:1px 1px 10px rgba(0,0,0,.12)}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper .wpfm-food-banner .wpfm-food-banner-img{height:230px;width:100%;background-position:center;background-size:cover}.wpfm-food-listing-box-view .wpfm-food-layout-wrapper .wpfm-food-banner .wpfm-food-register-label{display:block;position:absolute;top:15px;right:15px}.wpfm-food-listing-box-view .no_food_listings_found{padding:15px;text-align:center;color:#721c24!important;display:inline-block;width:100%;margin-left:15px;margin-right:15px}.wpfm-food-listing-list-view .wpfm-food-box-col{max-width:100%;width:100%;margin:0;padding:0}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .wpfm-food-infomation{padding-left:10px}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .wpfm-food-banner .wpfm-food-banner-img{height:90px;width:90px;background-size:cover;background-position:center;border-radius:4px}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .food_manager{margin:0;display:inline-flex;width:100%;padding:23px 17px;border-left:3px solid var(--wpfm-gray-border-color);transition:border .2s}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper{border-top:1px solid var(--wpfm-gray-border-color);border-right:1px solid var(--wpfm-gray-border-color)}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper:hover .food_manager{border-width:7px;border-color:var(--wpfm-primary-color);box-shadow:1px 1px 10px rgba(0,0,0,.12)}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .food_manager>.wpfm-food-action-url,table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action{display:flex}.wpfm-food-listing-list-view .wpfm-food-layout-wrapper .food_manager>.wpfm-food-action-url .wpfm-food-banner{width:90px;height:90px;background-color:transparent}.wpfm-input-field-common{position:relative;padding:20px;border-radius:4px;background:var(--wpfm-gray-bg-color);margin-bottom:30px}.wpfm-input-field-common>label{display:block;position:relative;overflow:hidden;padding-bottom:5px}.wpfm-input-field-common.with-more{margin-bottom:30px;padding-bottom:35px}.wpfm-input-field-common select{padding:5px 15px;border-color:#d3d3d3;border-radius:4px;width:100%;box-sizing:border-box}.wpfm-single-food-page .wpfm-food-title{display:flex;align-items:center;column-gap:15px}.wpfm-single-food-page .wpfm-food-price{margin:10px 0;font-size:22px;font-weight:500;display:flex;align-items:center}.wpfm-single-food-page .wpfm-food-price del{font-size:18px;color:var(--wpfm-gray-color);margin-right:10px}.wpfm-single-food-page .wpfm-food-price ins{color:var(--wpfm-primary-color);padding:0 5px}.wpfm-single-food-page .food-manager-info{border:1px solid var(--wpfm-gray-border-color);color:var(--wpfm-dark-color);padding:10px 15px 10px 40px;position:relative;display:inline-block;width:100%;margin-bottom:20px;border-radius:5px;background:var(--wpfm-gray-bg-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li.slick-active button,.wpfm-tooltip .wpfm-tooltiptext{background:var(--wpfm-white-color)}.wpfm-single-food-page .food-manager-info i{font-size:19px;position:absolute;left:13px;margin-top:3px;line-height:20px}.wpfm-single-food-page .food-manager-info.food-manager-canceled-info{border-color:#b12828;color:#b12828;background:#fff1f1}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top,table.wpfm-responsive-table-wrapper thead{background:var(--wpfm-gray-bg-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper .wpfm-food-single-image img,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{width:100%;height:auto;display:block}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider{position:relative;margin-bottom:0;height:auto}.wpfm-img-multiple.slick-slide img{object-fit:cover;height:250px;width:100%;border-radius:10px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots{position:absolute;left:10px;bottom:10px;margin:0;padding:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li{height:10px;width:10px;position:relative;margin:4px;font-size:0;line-height:normal;float:left;display:inline-block}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider ul.slick-dots li button{height:10px;width:10px;display:inline-block;border-radius:100%;background:rgba(255,255,255,.5);position:absolute;left:0;top:0;border:none;padding:0;font-size:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow{position:absolute;right:0;bottom:0;height:40px;width:40px;font-size:0;line-height:normal;overflow:hidden;background:rgba(0,0,0,.5);padding:0;text-align:center}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-prev{left:0;top:50%;transform:translate(0,-50%);border:none;z-index:1;cursor:pointer}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-prev::before{content:"\ea40";font-family:wp-food-manager;font-size:20px;color:var(--wpfm-white-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-next{right:0;top:50%;transform:translate(0,-50%);border:none;z-index:1;cursor:pointer}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .slick-arrow.slick-next::before{content:"\ea3c";font-family:wp-food-manager;font-size:20px;color:var(--wpfm-white-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-short-info{padding-top:30px;padding-bottom:30px;position:relative}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details{display:inline-block;width:calc(100% - 30px);margin-bottom:50px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details .wpfm-food-title .wpfm-heading-text{margin:0;padding:0;font-size:26px;line-height:30px;color:var(--wpfm-dark-color);font-weight:500;letter-spacing:.5px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content::after{content:"";position:absolute;right:15px;top:0;height:100%;width:1px;background:var(--wpfm-gray-border-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block{background:var(--wpfm-gray-border-color);border-top:1px solid var(--wpfm-gray-border-color);border-bottom:1px solid var(--wpfm-gray-border-color);padding:15px 30px;margin:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block .wpfm-heading-text{font-size:20px;line-height:1.42}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details{padding:30px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details .wpfm-additional-info-block-details-content-items{padding:10px 0;border-bottom:1px solid var(--wpfm-gray-border-color)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-additional-info-block-details p{word-break:break-word;font-size:14px;margin-bottom:0;padding-left:5px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-body-content{padding:10px 30px 30px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-body-content .wpfm-heading-text{margin:0 0 15px}.wpfm-food-ingredients,.wpfm-food-nutritions{width:100%;word-break:break-all}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar{padding:30px 30px 30px 0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-short-info{padding:30px 30px 0}.wpfm-single-food-page .wpfm-heading-text{font-size:24px;font-weight:700;color:var(--wpfm-dark-color);padding:0;margin:0;line-height:1.42;word-break:break-word}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-heading-text{font-size:18px;color:var(--wpfm-dark-color);padding:0;margin:0 0 5px}.single_food_listing .wpfm-food-details .wpfm-tooltip .wpfm-tooltiptext{min-width:180px;font-size:14px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-single-food-sidebar-info a{color:var(--wpfm-dark-color);text-decoration:unset}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-single-food-sidebar-info a:hover{color:var(--wpfm-dark-color);text-decoration:underline}.wpfm-single-food-page .wpfm-single-food-sidebar-info{margin-bottom:35px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar a.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar button.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar input.wpfm-theme-button{width:100%;font-size:16px;text-align:center;padding:10px;color:var(--wpfm-white-color)}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-theme-button:hover,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar a.wpfm-theme-button:hover,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar button.wpfm-theme-button:hover,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar input.wpfm-theme-button:hover{color:var(--wpfm-white-color);text-decoration:none}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button{color:var(--wpfm-primary-color);text-decoration:unset;width:100%;line-height:25px;font-weight:500}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button i{float:left;line-height:unset;margin-right:5px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button:hover{text-decoration:none;color:var(--wpfm-dark-color)}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-icon-text-button.remove-bookmark i{float:right;margin:0;font-size:12px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-register-food-form form{background:var(--wpfm-gray-bg-color);padding:15px;margin:10px 0;border-radius:5px}.wpfm-single-food-page .wpfm-share-this-food{margin:0;padding:0;display:inline-block;width:100%}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists{display:inline-block;margin:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon{height:35px;width:35px;position:relative;margin:4px 4px 4px 0;float:left;font-size:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon a{height:35px;width:35px;display:inline-block;background:var(--wpfm-gray-border-color);border-radius:100%;opacity:1;transition:.2s}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon a:hover{opacity:.8}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-weblink a{background:#999}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-weblink a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-web-link-icon.svg);-webkit-mask-image:url(../images/wpfm-web-link-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-whatsapp a{background:#3fa21a}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-whatsapp a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-whatsapp-icon.svg);-webkit-mask-image:url(../images/wpfm-whatsapp-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-youtube a{background:#ea1717}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-youtube a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-youtube-icon.svg);-webkit-mask-image:url(../images/wpfm-youtube-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-facebook a{background:#38529a}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-facebook a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-facebook-icon.svg);-webkit-mask-image:url(../images/wpfm-facebook-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-twitter a{background:#4da6d7}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-twitter a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-twitter-icon.svg);-webkit-mask-image:url(../images/wpfm-twitter-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-linkedin a{background:#3671ae}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-linkedin a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-linkedin-icon.svg);-webkit-mask-image:url(../images/wpfm-linkedin-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-xing a{background:#265c60}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-xing a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-xing-icon.svg);-webkit-mask-image:url(../images/wpfm-xing-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-instagram a{background-image:linear-gradient(to right top,#e52705,#ea0037,#e5005a,#d5007b,#bb1497)}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-instagram a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-instagram-icon.svg);-webkit-mask-image:url(../images/wpfm-instagram-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-pinterest a{background:#b81d1a}.wpfm-single-food-page .wpfm-share-this-food .wpfm-food-share-lists .wpfm-social-icon.wpfm-pinterest a::before{background-color:var(--wpfm-white-color);mask-image:url(../images/wpfm-pinterest-icon.svg);-webkit-mask-image:url(../images/wpfm-pinterest-icon.svg);-webkit-mask-size:17px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;content:"";position:absolute;height:35px;width:35px;background-size:17px;background-position:center;left:0;top:0}.food_listing_preview_title{background:var(--wpfm-gray-bg-color);border-radius:4px 4px 0 0;margin-top:30px;padding:15px 20px;text-align:center;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.food_listing_preview_title h3{padding:0;margin:0;color:var(--wpfm-white-color)}.food_listing_preview{padding:20px;border-radius:0 0 4px 4px}form#food_preview{box-shadow:0 10px 20px rgba(0,0,0,.1);border-radius:4px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-category .food-category,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-ingredients .food-ingredients,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-nutritions .food-nutritions,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-tag .food-tag,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-type .food-type,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar .wpfm-food-units .food-units{background:var(--wpfm-gray-bg-color);padding:5px 10px;border-radius:5px;font-size:15px;line-height:20px;display:inline-block;margin:5px 5px 0 0}.food_categories span.food-category{padding:5px 7px;background:var(--wpfm-gray-bg-color);margin:0 3px 6px;border-radius:4px;font-size:14px;font-weight:400;display:inline-block;vertical-align:top;color:var(--wpfm-dark-color)}.wpfm-food-details .food-details-row{display:flex;align-items:center;justify-content:space-between}.wpfm-tooltip{position:relative;display:inline-block;border-bottom:1px dotted var(--wpfm-dark-color)}.wpfm-tooltip .wpfm-tooltiptext{visibility:hidden;width:auto;box-shadow:0 3px 10px rgba(0,0,0,.25);color:var(--wpfm-dark-color);text-align:center;padding:10px;border-radius:6px;position:absolute;z-index:1;opacity:0;transition:opacity 1s;cursor:default}.wpfm-tooltip.wpfm-tooltip-left .wpfm-tooltiptext{top:-5px;right:105%}.wpfm-tooltip.wpfm-tooltip-right .wpfm-tooltiptext{top:-5px;left:105%}.wpfm-tooltip.wpfm-tooltip-top .wpfm-tooltiptext{bottom:100%;left:50%;transform:translate(-50%,0)}.wpfm-tooltip.wpfm-tooltip-bottom .wpfm-tooltiptext{top:100%;left:50%;transform:translate(-50%,0)}.wpfm-tooltip:hover .wpfm-tooltiptext{visibility:visible;opacity:1}table.wpfm-responsive-table-wrapper{font-size:14px;font-weight:500;color:var(--wpfm-gray-color);border:1px solid var(--wpfm-gray-border-color)}table.wpfm-responsive-table-wrapper thead th{border-top:none}table.wpfm-responsive-table-wrapper thead th.wpfm-heading-text{border-bottom:1px solid var(--wpfm-gray-border-color);padding:15px;font-weight:500;color:var(--wpfm-dark-color);text-align:left;text-transform:none;border:none;word-break:inherit}table.wpfm-responsive-table-wrapper thead th:first-child{padding-left:15px}table.wpfm-responsive-table-wrapper tbody tr{background:var(--wpfm-white-color);border-top:1px solid var(--wpfm-gray-bg-color)}table.wpfm-responsive-table-wrapper tbody tr:nth-child(2n) .food_categories span.food-category{background:#f0f0f0}table.wpfm-responsive-table-wrapper tbody tr td{padding:10px;border:none}table.wpfm-responsive-table-wrapper tbody tr td a{color:var(--wpfm-primary-color);word-break:break-word}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn{display:inline-block;margin:2px;height:30px;width:30px;position:relative}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a{height:30px;width:30px;display:inline-block;text-align:center;line-height:normal;font-size:0;position:absolute;left:0;top:0}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a::before{content:"";position:absolute;left:0;top:0;height:30px;width:30px;font-family:wp-food-manager;text-align:center;line-height:30px;font-size:16px}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-edit::before{content:"\e906"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-relist::before{content:"\ea2e"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-mark_not_cancelled::before{content:"\ea52"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-mark_cancelled::before{content:"\ea53"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-duplicate::before{content:"\e92c"}table.wpfm-responsive-table-wrapper tbody tr td .wpfm-dboard-food-action .wpfm-dboard-food-act-btn a.food-dashboard-action-delete::before{content:"\e9ad"}.wpfm-responsive-table-block{overflow:auto;border:1px solid var(--wpfm-gray-bg-color);margin-bottom:25px}.wpfm-responsive-table-block table.wpfm-responsive-table-wrapper{border:none;margin:0}#food-manager-food-dashboard table td.food_title{display:flex;column-gap:15px;align-items:center;width:270px}.wpfm-single-food-menu-category-banner{position:relative;width:100%;overflow:hidden;border-radius:4px;line-height:0;margin-bottom:10px}.wpfm-single-food-menu-category-banner img{height:260px;width:100%;object-fit:cover;border-radius:4px}.wpfm-single-food-menu-category-banner .wpfm-single-food-menu-category-title{position:absolute;left:0;bottom:0;margin:auto 0;text-align:center;padding:15px;background:rgb(0 0 0 / 50%);font-size:20px;color:var(--wpfm-white-color);width:100%;line-height:normal;word-break:break-all}.parent-organic-tag:hover::before,span.wpfm-front-radio-icon:hover:before{content:attr(data-icon-type);position:absolute;right:calc(100% + 5px);background:var(--wpfm-dark-color);color:var(--wpfm-white-color);font-size:11px;border-radius:4px;top:0;padding:3px 6px;z-index:9;width:auto;min-width:70px;text-align:center}.parent-organic-tag:hover::after,span.wpfm-front-radio-icon:hover:after{content:'';background:var(--wpfm-dark-color);height:9px;width:9px;position:absolute;transform:rotate(45deg);top:6px;right:100%}span.wpfm-front-radio-icon{display:inline-block;vertical-align:top;position:relative;cursor:pointer}span.wpfm-front-radio-icon:hover:before{content:attr(data-food-menu);left:calc(100% + 10px)}span.wpfm-front-radio-icon:hover:after{left:calc(100% - -6px);top:calc(50% - 5px)}span.fm-divider{position:absolute;left:0;right:0;text-align:center}.fm-food-menu-container{display:flex;flex-wrap:wrap;margin:0 -10px}.fm-food-menu-container .food-list-box{background:var(--wpfm-gray-bg-color);color:var(--wpfm-dark-color);vertical-align:top;margin:10px;padding:15px;font-size:14px;border-radius:4px;position:relative;transition:.2s;width:calc(50% - 20px)}.fm-food-menu-container .food-list-box:hover{box-shadow:0 0 10px rgba(0,0,0,.1);background-color:var(--wpfm-white-color);color:var(--wpfm-dark-color)}.fm-food-menu-container .food-list-box .fm-food-menu-title strong{display:block;font-size:18px}.fm-food-menu-container .food-list-box .fm-food-menu-pricing{white-space:nowrap;margin-bottom:10px;margin-top:5px;display:flex;align-items:center}.fm-food-menu-container .food-list-box .fm-food-menu-pricing ins{display:block;color:var(--wpfm-primary-color);font-size:18px;margin-left:5px}.fm-food-menu-container .food-list-box .fm-food-menu-pricing del{color:var(--wpfm-gray-color);font-weight:500;font-size:14px}.fm-food-menu-desc,.fm-food-menu-title strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wpfm-single-food-menu-page .wpfm-single-food-image img{max-width:100%;width:100%}.wpfm-accordion-item{border:1px solid var(--wpfm-gray-border-color);padding:15px 15px 5px;margin-top:-1px;border-radius:4px;margin-bottom:15px}.wpfm-accordion-item .wpfm-accordion-action{cursor:pointer;font-weight:500;position:relative;padding-right:40px;padding-bottom:10px}.wpfm-accordion-item .wpfm-accordion-action:after{content:"\ea0a";font-family:wpfm-restaurant-manager;font-size:10px;font-weight:400;width:24px;height:24px;background-color:var(--wpfm-gray-bg-color);border-radius:100px;display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0}.wpfm-accordion-item-show .wpfm-accordion-action:after{content:"\ea0b"}.wpfm-accordion-item.wpfm-accordion-item-show{box-shadow:0 0 10px rgb(0 0 0 / 10%)}.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-ingredients .wpfm-heading-text,.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-nutritions .wpfm-heading-text{font-size:18px;margin-bottom:10px!important}.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-ingredients span.food-ingredients,.wpfm-single-food-page .wpfm-single-food-body-content .wpfm-food-nutritions span.food-nutritions{background:var(--wpfm-gray-bg-color);padding:5px 10px;border-radius:5px;font-size:15px;line-height:20px;display:inline-block;margin:0 5px 5px 0}.wpfm-additional-file-slider .wpfm-icon{border:2px solid var(--wpfm-gray-border-color);padding:10px;border-radius:4px;margin:5px 1px}.wpfm-front-radio-icon span.wpfm-menu{margin-left:10px;font-size:20px;border-radius:4px;border:1px solid var(--wpfm-dark-color);width:36px;height:36px;text-align:center;line-height:34px;display:inline-block}.wpfm-input-description{color:var(--wpfm-gray-color);font-size:13px;display:block;overflow:hidden;position:relative;top:-3px;padding-bottom:10px}.food-stock-status mark.fm_outofstock{padding:3px 5px 2px;font-size:12px;display:inline-block;vertical-align:top;background:#f74747;color:var(--wpfm-white-color);border-radius:2px}small.wpfm-food-status-pending-approval{font-weight:400;display:inline-block;margin:3px 0 3px 5px;padding:3px 8px;font-size:13px;border-radius:2px;background:#fff4d7;color:#6b4e00}mark.fm_instock{background:0 0;color:#7ad03a}.parent-organic-tag{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 20px;margin:5px}ul.food-manager-term-checklist{list-style:none;padding:10px 15px;margin-left:0;border:2px solid var(--wpfm-gray-border-color);border-radius:5px}.wpfm-with-bg-image-row{display:inline-block;vertical-align:top;margin-bottom:2rem;width:100%}.wpfm-with-bg-image-row p{text-align:left;padding:20px;background:var(--wpfm-gray-border-color);border-radius:4px}img.wpfm-organic-tag-icon{width:20px;height:20px;object-fit:cover}.ui-autocomplete{list-style:none;padding-left:10px;margin:0;position:absolute!important}@media screen and (max-width:1024px){.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-left-content{max-width:60%;flex:0 0 60%}.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-right-content,.wpfm-single-food-page .wpfm-single-food-header-top .wpfm-single-food-short-info{max-width:40%;flex:0 0 40%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper .wpfm-food-single-image img{height:400px;width:100%}}@media screen and (min-width:993px){#food-manager-food-dashboard table td .parent-organic-tag:hover::before,#food-manager-food-dashboard table td span.wpfm-front-radio-icon:hover:before{right:inherit;left:calc(100% + 5px)}#food-manager-food-dashboard table td .parent-organic-tag:hover::after,#food-manager-food-dashboard table td span.wpfm-front-radio-icon:hover:after{left:100%;right:inherit}}@media screen and (max-width:992px){table.wpfm-responsive-table-wrapper{border:none}table.wpfm-responsive-table-wrapper,table.wpfm-responsive-table-wrapper tbody,table.wpfm-responsive-table-wrapper td,table.wpfm-responsive-table-wrapper th,table.wpfm-responsive-table-wrapper thead,table.wpfm-responsive-table-wrapper tr{display:block}table.wpfm-responsive-table-wrapper thead tr{position:absolute;top:-9999px;left:-9999px}table.wpfm-responsive-table-wrapper tr{border:1px solid var(--wpfm-gray-border-color)}table.wpfm-responsive-table-wrapper td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%!important;white-space:normal;text-align:left}table.wpfm-responsive-table-wrapper td:before{position:absolute;top:15px;left:16px;width:45%;padding-right:10px;white-space:normal;text-align:left;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:52px;line-height:20px;-webkit-line-clamp:2;-webkit-box-orient:vertical;content:attr(data-title)}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content::after,table.wpfm-responsive-table-wrapper .wpfm-tbody-th-label{display:none}.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-left-content,.wpfm-single-food-page .wpfm-single-food-body .wpfm-single-food-right-content,.wpfm-single-food-page .wpfm-single-food-header-top .wpfm-single-food-images,.wpfm-single-food-page .wpfm-single-food-header-top .wpfm-single-food-short-info{max-width:100%;flex:0 0 100%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-single-image-wrapper .wpfm-food-single-image img{height:auto;width:100%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{height:450px;width:100%}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-short-info{padding:25px 35px}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details{width:100%;margin-bottom:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-food-details .wpfm-food-title{margin-bottom:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-body-sidebar,.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-body .wpfm-single-food-left-content .wpfm-single-food-body-content{padding:20px}.food_listing_preview_title{margin:0}.food_listing_preview_title .food-manager-button-edit-listing,.food_listing_preview_title .food-manager-button-submit-listing{margin:0 auto;max-width:200px;width:100%}.food_listing_preview_title h2{margin:10px 20px;width:100%}#food-manager-food-dashboard table td.food_title{width:inherit}table.wpfm-responsive-table-wrapper td.wpfm_data_td_empty{padding:10px!important}}@media screen and (max-width:768px){.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{height:400px;width:100%}.wpfm-single-food-page .wpfm-single-food-sidebar-info{margin-bottom:0}.wpfm-single-food-page .wpfm-share-this-food{margin-top:20px}.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar .wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar a.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar button.wpfm-theme-button,.wpfm-single-food-page .wpfm-single-food-right-content .wpfm-single-food-body-sidebar input.wpfm-theme-button{padding:15px}.wpfm-tabs-wrapper .wpfm-tabs-wrap{display:inline-block;width:100%}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link{border-top:1px solid var(--wpfm-gray-border-color)}.wpfm-tabs-wrapper .wpfm-tabs-wrap .wpfm-tab-link:first-child{border-top:0}.fm-food-menu-container,.wpfm-dashboard-main-header .wpfm-foods-filter{flex-direction:column}.fm-food-menu-container .food-list-box{width:calc(100% - 20px)}.wpfm-dashboard-main-header .wpfm-foods-filter .wpfm-foods-filter-block.wpfm-foods-filter-submit{width:100%}.woocommerce table.shop_table_responsive tr.cart-page td::before{display:none!important}}@media screen and (max-width:575px){.wpfm-form-wrapper .wpfm-col{width:100%;flex:unset}.wpfm-form-wrapper .filter_wide.filter_by_tag{text-align:center}.wpfm-form-wrapper .filter_wide.filter_by_tag .filter_by_tag_cloud{margin-top:5px}.wpfm-form-wrapper .filter_wide.filter_by_tag .filter_by_tag_cloud .tag-cloud-link{margin:2px}.wpfm-form-wrapper .showing_applied_filters{text-align:center;line-height:18px;padding:5px 10px}.wpfm-form-wrapper .showing_applied_filters a{float:none;margin:7px}.wpfm-food-listings-header .wpfm-food-listing-header-title .wpfm-heading-text{text-align:center;margin-bottom:10px}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action{margin:auto;width:100%;border-radius:5px;overflow:hidden;justify-content:center}.wpfm-food-listings-header .wpfm-food-layout-action-wrapper .wpfm-food-layout-action .wpfm-food-layout-icon{height:35px;line-height:35px;width:33.3%;margin:0;border-radius:0}.wpfm-single-food-page .wpfm-single-food-wrapper .wpfm-single-food-header-top .wpfm-single-food-slider-wrapper .wpfm-single-food-slider .wpfm-slider-items img{height:300px;width:100%}.food-manager-pagination ul.page-numbers{display:inline-block;text-align:center}.food-manager-pagination ul.page-numbers li{padding:3px}.food-manager-pagination ul.page-numbers li .page-numbers{margin:0}#food-manager-food-dashboard table td.food_title{display:block}#food-manager-food-dashboard table td .parent-organic-tag{justify-content:start;margin-top:10px}small.wpfm-food-status-pending-approval{margin-top:10px}}.woocommerce .woocommerce-cart-form .shop_table .cart-page td{text-align:left!important}
  • wp-food-manager/trunk/assets/js/accounting/accounting.js

    r2902336 r3022874  
    11/*!
    22 * accounting.js v0.4.2
    3  * Copyright 2014 Open Exchange Rates
     3 * Copyright 2014 Open Exchange Rates.
    44 *
    55 * Freely distributable under the MIT license.
    6  * Portions of accounting.js are inspired or borrowed from underscore.js
     6 * Portions of accounting.js are inspired or borrowed from underscore.js.
    77 *
    88 * Full details and documentation:
     
    1414    /* --- Setup --- */
    1515
    16     // Create the local library object, to be exported or referenced globally later
     16    // Create the local library object, to be exported or referenced globally later.
    1717    var lib = {};
    1818
    19     // Current version
     19    // Current version.
    2020    lib.version = '0.4.1';
    2121
     
    2323    /* --- Exposed settings --- */
    2424
    25     // The library's settings configuration object. Contains default parameters for
    26     // currency and number formatting
     25    // The library's settings configuration object. Contains default parameters for currency and number formatting.
    2726    lib.settings = {
    2827        currency: {
    29             symbol : "$",       // default currency symbol is '$'
    30             format : "%s%v",    // controls output: %s = symbol, %v = value (can be object, see docs)
    31             decimal : ".",      // decimal point separator
    32             thousand : ",",     // thousands separator
    33             precision : 2,      // decimal places
    34             grouping : 3        // digit grouping (not implemented yet)
     28            symbol : "$",       // default currency symbol is '$'.
     29            format : "%s%v",    // controls output: %s = symbol, %v = value (can be object, see docs).
     30            decimal : ".",      // decimal point separator.
     31            thousand : ",",     // thousands separator.
     32            precision : 2,      // decimal places.
     33            grouping : 3        // digit grouping (not implemented yet).
    3534        },
    3635        number: {
    37             precision : 0,      // default precision on numbers is 0
    38             grouping : 3,       // digit grouping (not implemented yet)
     36            precision : 0,      // default precision on numbers is 0.
     37            grouping : 3,       // digit grouping (not implemented yet).
    3938            thousand : ",",
    4039            decimal : "."
     
    4544    /* --- Internal Helper Methods --- */
    4645
    47     // Store reference to possibly-available ECMAScript 5 methods for later
     46    // Store reference to possibly-available ECMAScript 5 methods for later.
    4847    var nativeMap = Array.prototype.map,
    4948        nativeIsArray = Array.isArray,
     
    5150
    5251    /**
    53      * Tests whether supplied parameter is a string
    54      * from underscore.js
     52     * Tests whether supplied parameter is a string.
     53     * from underscore.js.
    5554     */
    5655    function isString(obj) {
     
    5958
    6059    /**
    61      * Tests whether supplied parameter is a string
    62      * from underscore.js, delegates to ECMA5's native Array.isArray
     60     * Tests whether supplied parameter is a string.
     61     * from underscore.js, delegates to ECMA5's native Array.isArray.
    6362     */
    6463    function isArray(obj) {
     
    6766
    6867    /**
    69      * Tests whether supplied parameter is a true object
     68     * Tests whether supplied parameter is a true object.
    7069     */
    7170    function isObject(obj) {
     
    7473
    7574    /**
    76      * Extends an object with a defaults object, similar to underscore's _.defaults
    77      *
    78      * Used for abstracting parameter handling from API methods
     75     * Extends an object with a defaults object, similar to underscore's _.defaults.
     76     *
     77     * Used for abstracting parameter handling from API methods.
    7978     */
    8079    function defaults(object, defs) {
     
    9392
    9493    /**
    95      * Implementation of `Array.map()` for iteration loops
     94     * Implementation of `Array.map()` for iteration loops.
    9695     *
    9796     * Returns a new Array as a result of calling `iterator` on each array value.
    98      * Defers to native Array.map if available
     97     * Defers to native Array.map if available.
    9998     */
    10099    function map(obj, iterator, context) {
     
    114113
    115114    /**
    116      * Check and normalise the value of precision (must be positive integer)
     115     * Check and normalise the value of precision (must be positive integer).
    117116     */
    118117    function checkPrecision(val, base) {
     
    123122
    124123    /**
    125      * Parses a format string or object and returns format obj for use in rendering
    126      *
    127      * `format` is either a string with the default (positive) format, or object
    128      * containing `pos` (required), `neg` and `zero` values (or a function returning
    129      * either a string or object)
    130      *
     124     * Parses a format string or object and returns format obj for use in rendering `format` is either a string with the default (positive) format, or object containing `pos` (required), `neg` and `zero` values (or a function returning either a string or object).
    131125     * Either string or format.pos must contain "%v" (value) to be valid
    132126     */
     
    166160
    167161    /**
    168      * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value
    169      * Alias: `accounting.parse(string)`
    170      *
    171      * Decimal must be included in the regular expression to match floats (defaults to
    172      * accounting.settings.number.decimal), so if the number uses a non-standard decimal
    173      * separator, provide it as the second argument.
    174      *
    175      * Also matches bracketed negatives (eg. "$ (1.99)" => -1.99)
    176      *
     162     * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value.
     163     * Alias: `accounting.parse(string)`.
     164     * Decimal must be included in the regular expression to match floats (defaults to accounting.settings.number.decimal), so if the number uses a non-standard decimal separator, provide it as the second argument. Also, matches bracketed negatives (eg. "$ (1.99)" => -1.99).
    177165     * Doesn't throw any errors (`NaN`s become 0) but this may change in future
    178166     */
     
    198186            unformatted = parseFloat(
    199187                ("" + value)
    200                 .replace(/\((.*)\)/, "-$1") // replace bracketed values with negatives
    201                 .replace(regex, '')         // strip out any cruft
    202                 .replace(decimal, '.')      // make sure decimal point is standard
     188                .replace(/\((.*)\)/, "-$1") // replace bracketed values with negatives.
     189                .replace(regex, '')         // strip out any cruft.
     190                .replace(decimal, '.')      // make sure decimal point is standard.
    203191            );
    204192
     
    209197
    210198    /**
    211      * Implementation of toFixed() that treats floats more like decimals
    212      *
    213      * Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present
    214      * problems for accounting- and finance-related software.
     199     * Implementation of toFixed() that treats floats more like decimals.
     200     * Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present problems for accounting- and finance-related software.
    215201     */
    216202    var toFixed = lib.toFixed = function(value, precision) {
     
    224210
    225211    /**
    226      * Format a number, with comma-separated thousands and custom precision/decimal places
    227      * Alias: `accounting.format()`
    228      *
    229      * Localise by overriding the precision and thousand / decimal separators
    230      * 2nd parameter `precision` can be an object matching `settings.number`
     212     * Format a number, with comma-separated thousands and custom precision/decimal places.
     213     * Alias: `accounting.format()`.
     214     *
     215     * Localise by overriding the precision and thousand / decimal separators.
     216     * 2nd parameter `precision` can be an object matching `settings.number`.
    231217     */
    232218    var formatNumber = lib.formatNumber = lib.format = function(number, precision, thousand, decimal) {
     
    251237            ),
    252238
    253             // Clean up precision
     239            // Clean up precision.
    254240            usePrecision = checkPrecision(opts.precision),
    255241
     
    267253     * Format a number into currency
    268254     *
    269      * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)
    270      * defaults: (0, "$", 2, ",", ".", "%s%v")
    271      *
    272      * Localise by overriding the symbol, precision, thousand / decimal separators and format
     255     * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format).
     256     * defaults: (0, "$", 2, ",", ".", "%s%v").
     257     *
     258     * Localise by overriding the symbol, precision, thousand / decimal separators and format.
    273259     * Second param can be an object matching `settings.currency` which is the easiest way.
    274260     *
    275      * To do: tidy up the parameters
     261     * To do: tidy up the parameters.
    276262     */
    277263    var formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) {
     
    310296
    311297    /**
    312      * Format a list of numbers into an accounting column, padding with whitespace
    313      * to line up currency symbols, thousand separators and decimals places
    314      *
    315      * List should be an array of numbers
    316      * Second parameter can be an object containing keys that match the params
    317      *
    318      * Returns array of accouting-formatted number strings of same length
    319      *
    320      * NB: `white-space:pre` CSS rule is required on the list container to prevent
     298     * Format a list of numbers into an accounting column, padding with whitespace to line up currency symbols, thousand separators and decimals places.
     299     *
     300     * List should be an array of numbers.
     301     * Second parameter can be an object containing keys that match the params.
     302     *
     303     * Returns array of accouting-formatted number strings of same length.
     304     *
     305     * NB: `white-space:pre` CSS rule is required on the list container to prevent.
    321306     * browsers from collapsing the whitespace in the output strings.
    322307     */
     
    351336                    return lib.formatColumn(val, opts);
    352337                } else {
    353                     // Clean up the value
     338                    // Clean up the value.
    354339                    val = unformat(val);
    355340
     
    380365
    381366    // Export accounting for CommonJS. If being loaded as an AMD module, define it as such.
    382     // Otherwise, just add `accounting` to the global object
     367    // Otherwise, just add `accounting` to the global object.
    383368    if (typeof exports !== 'undefined') {
    384369        if (typeof module !== 'undefined' && module.exports) {
  • wp-food-manager/trunk/assets/js/admin-settings.js

    r2902336 r3022874  
    99        /// <since>1.0.0</since>
    1010        init: function () {
    11             // Bind on click food of the settings section
     11            // Bind on click food of the settings section.
    1212            jQuery(".food-manager-settings-wrap .nav-tab-wrapper a").on('click', WPFM_AdminSettings.actions.tabClick);
    13             // Show by default first food Listings Settings Tab
     13            // Show by default first food Listings Settings Tab.
    1414            jQuery('.food-manager-settings-wrap .nav-tab-wrapper a:first').click();
    1515        },
  • wp-food-manager/trunk/assets/js/admin.js

    r2914276 r3022874  
    22    /// <summary>Constructor function of the food settings class.</summary>
    33    /// <returns type="WPFM_Admin" />   
    4     // Uploading files
     4    // Uploading files.
    55    var file_frame;
    66    var file_target_input;
     
    99        ///<summary>
    1010        ///Initializes the AdminSettings. 
    11         ///</summary>     
     11        ///</summary>   
    1212        ///<returns type="initialization AdminSettings" />   
    1313        /// <since>1.0.0</since>
     
    2121                return jQuery(this).closest(".food-manager-uploaded-file").remove();
    2222            });
    23             // if field type is date then load datepicker
     23            // if field type is date then load datepicker.
    2424            if (jQuery('input[data-picker="datepicker"]').length > 0) {
    2525                if (wpfm_admin.show_past_date) {
     
    5252                });
    5353            }
    54             // Bind on click food of the settings section
     54            // Bind on click food of the settings section.
    5555            jQuery(".wpfm-tabs li a").on('click', WPFM_Admin.actions.tabClick);
    56             // Show by default first food Listings Settings Tab
     56            // Show by default first food Listings Settings Tab.
    5757            jQuery('.wpfm-tabs li a:first').click();
    5858            jQuery(document).on('change', '.wpfm-admin-menu-selection select.food-manager-category-dropdown', WPFM_Admin.actions.updateFoodinMenu);
    59             // Use body to call after dom update
     59            // Use body to call after dom update.
    6060            jQuery("body").on('click', 'a.wpfm-food-item-remove', WPFM_Admin.actions.removeFoodItem);
    61             // Sortable 
     61            // Sortable.
    6262            jQuery('.wpfm-admin-food-menu-items ul.wpfm-food-menu').sortable();
    63             // File upload
     63            // File upload.
    6464            jQuery('body').on('click', '.wp_food_manager_upload_file_button_multiple', WPFM_Admin.fileUpload.multipleFile);
    6565            jQuery('body').on('click', '.wp_food_manager_upload_file_button', WPFM_Admin.fileUpload.addFile);
    6666            jQuery(".wp_food_manager_add_another_file_button").on('click', WPFM_Admin.fileUpload.addAnotherFile);
    67             // Food extra options
     67            // Food extra options.
    6868            jQuery('#wpfm-add-new-option').on('click', WPFM_Admin.actions.addNewOption);
    6969            jQuery(document).on("click", ".wpfm-togglediv", function (e) {
     
    175175                                l = l + "<option value='" + t + "'>" + e + "</option>"
    176176                            }));
    177                             var s = "<input type='number' step='0.1' name='food_ingredients[" + r + "][value]'><select name='food_ingredients[" + r + "][unit_id]'><option value=''>Unit</option>" + l + "</select>";
     177                            var s = "<input type='number' step='any' name='food_ingredients[" + r + "][value]'><select name='food_ingredients[" + r + "][unit_id]'><option value=''>Unit</option>" + l + "</select>";
    178178                            n.find(".wpfm-sortable-item-values").html(s), n.removeClass("available-item").addClass("active-item")
    179179                        }
     
    245245                                l = l + "<option value='" + t + "'>" + e + "</option>"
    246246                            }));
    247                             var s = "<input type='number' step='0.1' name='food_nutritions[" + r + "][value]'><select name='food_nutritions[" + r + "][unit_id]'><option value=''>Unit</option>" + l + "</select>";
     247                            var s = "<input type='number' step='any' name='food_nutritions[" + r + "][value]'><select name='food_nutritions[" + r + "][unit_id]'><option value=''>Unit</option>" + l + "</select>";
    248248                            n.find(".wpfm-sortable-item-values").html(s), n.removeClass("available-item").addClass("active-item")
    249249                        }
     
    274274            },
    275275            /// <summary>
    276             /// Click on category dropdown to update food menu   
     276            /// Click on category dropdown to update food menu.   
    277277            /// </summary>
    278278            /// <param name="parent" type="Food"></param>   
     
    341341            },
    342342            /// <summary>
    343             /// Remove food item from food menu
     343            /// Remove food item from food menu.
    344344            /// </summary>
    345345            /// <param name="parent" type="food"></param>
     
    361361            },
    362362            /// <summary>
    363             /// add options
     363            /// add options.
    364364            /// </summary>
    365365            /// <param name="parent" type="Event"></param>
     
    419419            },
    420420            /// <summary>
    421             /// updateOptionTitle
     421            /// updateOptionTitle.
    422422            /// </summary>
    423423            /// <param name="parent" type="Event"></param>
     
    435435            },
    436436            /// <summary>
    437             /// changeFieldType
     437            /// changeFieldType.
    438438            /// </summary>
    439439            /// <param name="parent" type="Event"></param>
     
    453453            },
    454454            /// <summary>
    455             /// addElementRow
     455            /// addElementRow.
    456456            /// </summary>
    457457            /// <param name="parent" type="Event"></param>
     
    468468            },
    469469            /// <summary>
    470             /// add attributes fields
     470            /// add attributes fields.
    471471            /// </summary>
    472472            /// <param name="parent" type="Event"></param>
     
    487487            },
    488488            /// <summary>
    489             /// add attributes fields
     489            /// add attributes fields.
    490490            /// </summary>
    491491            /// <param name="parent" type="Event"></param>
     
    500500            },
    501501            /// <summary>
    502             /// add attributes fields
     502            /// add attributes fields.
    503503            /// </summary>
    504504            /// <param name="parent" type="Event"></param>
     
    535535                        text: jQuery(this).data('uploader_button_text'),
    536536                    },
    537                     multiple: false  // Set to true to allow multiple files to be selected
     537                    multiple: false  // Set to true to allow multiple files to be selected.
    538538                });
    539539                // When an image is selected, run a callback.
    540540                file_frame.on('select', function () {
    541                     // We set multiple to false so only get one image from the uploader
     541                    // We set multiple to false so only get one image from the uploader.
    542542                    attachment = file_frame.state().get('selection').first().toJSON();
    543543                    jQuery(file_target_input).val(attachment.url);
     
    549549                    }
    550550                });
    551                 // Finally, open the modal
     551                // Finally, open the modal.
    552552                file_frame.open();
    553553            },
     
    570570                        text: jQuery(this).data('uploader_button_text'),
    571571                    },
    572                     multiple: true  // Set to true to allow multiple files to be selected
     572                    multiple: true  // Set to true to allow multiple files to be selected.
    573573                });
    574574                // When an image is selected, run a callback.
    575575                file_frame.on('select', function () {
    576                     // We set multiple to false so only get one image from the uploader
     576                    // We set multiple to false so only get one image from the uploader.
    577577                    attachment = file_frame.state().get('selection').map(
    578578                        function (attachment) {
     
    589589                    });
    590590                });
    591                 // Finally, open the modal
     591                // Finally, open the modal.
    592592                file_frame.open();
    593593            },
     
    608608            }
    609609        }
    610     } //enf of return
    611 }; //end of class
     610    } //enf of return.
     611}; //end of class.
    612612
    613613WPFM_Admin = WPFM_Admin();
  • wp-food-manager/trunk/assets/js/ajax-file-upload.js

    r2902336 r3022874  
    2424                        var $uploaded_files = $file_field.parent().find('.food-manager-uploaded-files');
    2525                        var uploadErrors = [];
    26                         // Validate type
     26                        // Validate type.
    2727                        var allowed_types = jQuery(this).data('file_types');
    2828                        if (allowed_types) {
     
    8383            });
    8484        }
    85     } //enf of return
    86 }; //end of class
     85    } //enf of return.
     86}; //end of class.
    8787
    8888WPFM_AjaxFileUpload = WPFM_AjaxFileUpload();
  • wp-food-manager/trunk/assets/js/content-food-listing.js

    r2902336 r3022874  
    1515            if (jQuery('.wpfm-food-list-layout').length > 0 || jQuery('.wpfm-food-box-layout').length > 0) {
    1616                // With show_pagination attribute in shortcodes. e.g [foods per_page="10" show_pagination="true"]
    17                 // Check when user has changed page using pagination and then need to keep current selected layout
    18                 // When layout is box and user changed page using pagination then need to show line layout instead of line layout
     17                // Check when user has changed page using pagination and then need to keep current selected layout.
     18                // When layout is box and user changed page using pagination then need to show line layout instead of line layout .
    1919                if (localStorage.getItem("layout") == "line-layout") {
    2020                    jQuery(".wpfm-food-box-col").show();
     
    133133            }
    134134        }
    135     } //enf of return
    136 }; //end of class
     135    } //enf of return.
     136}; //end of class.
    137137
    138138WPFM_ContentFoodListing = WPFM_ContentFoodListing();
  • wp-food-manager/trunk/assets/js/field-editor.js

    r2902336 r3022874  
    4545            },
    4646            /// <summary>
    47             /// remove current field
     47            /// remove current field.
    4848            /// </summary>     
    4949            /// <returns type="initialization settings" />   
     
    6262            },
    6363            ///<summary>
    64             ///reset all fields
     64            ///reset all fields.
    6565            ///</summary>     
    6666            ///<returns type="initialization settings" />   
     
    7373            },
    7474            /// <summary>
    75             /// reset all fields
     75            /// reset all fields.
    7676            /// </summary>     
    7777            /// <returns type="initialization settings" />   
     
    8383                $tbody.append(row);
    8484                jQuery('.wp-food-manager-food-form-field-editor').trigger('init');
    85                 jQuery('.delete-field').on('click', WPFM_FieldEditor.actions.deleteField); //delete field
     85                jQuery('.delete-field').on('click', WPFM_FieldEditor.actions.deleteField); //delete field.
    8686                return false;
    8787            },
    8888            /// <summary>
    89             /// reset all fields
     89            /// reset all fields.
    9090            /// </summary>     
    9191            /// <returns type="initialization settings" />   
     
    104104            },
    105105            /// <summary>
    106             /// on change field type
     106            /// on change field type.
    107107            /// </summary>     
    108108            /// <returns type="initialization settings" />   
  • wp-food-manager/trunk/assets/js/food-dashboard.js

    r2902336 r3022874  
    1212            if (jQuery('.food-dashboard-action-delete').length > 0 && jQuery('td .wpfm-dboard-food-action').length == 0) {
    1313                jQuery('.food-dashboard-action-delete').css({ 'cursor': 'pointer' });
    14                 //for delete food confirmation dialog / tooltip
     14                //for delete food confirmation dialog / tooltip .
    1515                jQuery('.food-dashboard-action-delete').on('click', WPFM_FoodDashboard.confirmation.showDialog);
    1616            }
    17             // For Dashboard Menu Toggle
     17            // For Dashboard Menu Toggle.
    1818            if (jQuery('.wpfm-main-vmenu-dashboard-sub-menu .wpfm-main-vmenu-dashboard-link').length > 0) {
    1919                jQuery('.wpfm-main-vmenu-dashboard-sub-menu .wpfm-main-vmenu-dashboard-submenu-ul').hide();
    2020                jQuery('.wpfm-main-vmenu-dashboard-sub-menu .wpfm-main-vmenu-dashboard-link').on('click', WPFM_FoodDashboard.actions.openSubmenu);
    2121            }
    22             // For Active Dashboard Menu Open
     22            // For Active Dashboard Menu Open.
    2323            if (jQuery('.wpfm-main-vmenu-dashboard-sub-menu .wpfm-main-vmenu-dashboard-link-active').length > 0) {
    2424                jQuery('.wpfm-main-vmenu-dashboard-sub-menu .wpfm-main-vmenu-dashboard-link-active').trigger('click');
    2525            }
    26             // For food List Toggle
     26            // For food List Toggle.
    2727            if (jQuery('#wpfm-dashboard-food-list-wrapper .wpfm-food-dashboard-information-toggle').length > 0) {
    2828                jQuery('#wpfm-dashboard-food-list-wrapper .wpfm-food-dashboard-information-toggle').hide();
     
    3838                    });
    3939            }
    40             // For Food Filter Toggle
     40            // For Food Filter Toggle.
    4141            if (jQuery('.wpfm-dashboard-main-header .wpfm-food-dashboard-filter-toggle').length > 0) {
    4242                jQuery('.wpfm-dashboard-main-header .wpfm-food-dashboard-filter-toggle').hide();
     
    6464                event.preventDefault();
    6565            },
    66         },//end of comfirmation
     66        },//end of comfirmation.
    6767        actions: {
    6868            openSubmenu: function (event) {
     
    7777                myToggle.toggleClass("wpfm-main-vmenu-caret-up wpfm-main-vmenu-caret-down");
    7878            },
    79         }, //end of actions
    80     } //enf of return   
    81 }; //end of class
     79        }, //end of actions.
     80    } //enf of return. 
     81}; //end of class.
    8282
    8383WPFM_FoodDashboard = WPFM_FoodDashboard();
  • wp-food-manager/trunk/assets/js/food-submission.js

    r2902336 r3022874  
    1414                return false;
    1515            });
    16             //add links for paid and free Group
     16            //add links for paid and free Group.
    1717            jQuery('.add-group-row').on('click', WPFM_FoodSubmission.actions.addGroupField);
    1818            //delete groups
     
    2727        actions: {
    2828            /// <summary>
    29             /// On click add link fields paid and free
     29            /// On click add link fields paid and free.
    3030            //It will generate dynamic name and id for fields.
    3131            /// </summary>                 
     
    4949            },
    5050            /// <summary>
    51             /// Remove Paid and free fields
     51            /// Remove Paid and free fields.
    5252            /// </summary>                 
    5353            /// <returns type="fields" />     
     
    5757                event.preventDefault();
    5858            },
    59         } //end of action
    60     } //enf of return
    61 }; //end of class
     59        } //end of action.
     60    } //enf of return.
     61}; //end of class.
    6262
    6363WPFM_FoodSubmission = WPFM_FoodSubmission();
  • wp-food-manager/trunk/assets/js/frontend.js

    r2914276 r3022874  
    55                jQuery(".food-manager-post_type-dropdown").chosen({ search_contains: !0 });
    66            }
    7             // For Extra Toppings view Toggle
     7            // For Extra Toppings view Toggle.
    88            if (jQuery('.wpfm-additional-main-row').length > 0) {
    99                jQuery('.wpfm-additional-main-row').hide();
     
    1616
    1717            jQuery(".wpfm-form-group.fieldset-topping_description").hide();
    18             //use body to call after dom update
     18            //use body to call after dom update.
    1919            jQuery("body").on('click', 'a.wpfm-food-item-remove', WPFM_Frontend.actions.removeFoodItem);
    2020           
     
    149149                if (sale_price >= regular_price) {
    150150                    jQuery(this).val('');
     151                }
     152            });
     153            /* accordion */
     154            jQuery(".wpfm-accordion-action").click(function(e) {
     155                if (jQuery(this).parent().hasClass("wpfm-accordion-item-show")) {
     156                    jQuery(this).parent().removeClass("wpfm-accordion-item-show");
     157                } else {
     158                    jQuery(".wpfm-accordion-item").removeClass("wpfm-accordion-item-show");
     159                    jQuery(this).parent().addClass("wpfm-accordion-item-show");
    151160                }
    152161            });
     
    259268    WPFM_Frontend.init();
    260269});
     270
     271
  • wp-food-manager/trunk/assets/js/frontend.min.js

    r2914276 r3022874  
    1 var WPFM_Frontend=function(){return{init:function(){jQuery(".food-manager-post_type-dropdown").length>0&&jQuery(".food-manager-post_type-dropdown").chosen({search_contains:!0}),jQuery(".wpfm-additional-main-row").length>0&&(jQuery(".wpfm-additional-main-row").hide(),jQuery(".wpfm-view-more").click(function(){jQuery(this).text("View less -"==jQuery(this).text()?"View more +":"View less -"),jQuery(this).parent().find(".wpfm-additional-main-row").slideToggle()})),jQuery(".wpfm-form-group.fieldset-topping_description").hide(),jQuery("body").on("click","a.wpfm-food-item-remove",WPFM_Frontend.actions.removeFoodItem),jQuery("body").on("wpfm_add_error_tip",function(t,e,o){var i=e.position();0===e.parent().find(".wpfm_error_tip").length&&(e.after('<div class="wpfm_error_tip '+o+'">'+wpfm_accounting_params[o]+"</div>"),e.parent().find(".wpfm_error_tip").css("left",i.left+e.width()-e.width()/2-jQuery(".wpfm_error_tip").width()/2).css("top",i.top+e.height()).fadeIn("100"))}),jQuery("body").on("wpfm_remove_error_tip",function(t,e,o){e.parent().find(".wpfm_error_tip."+o).fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("click",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("blur","#_food_sale_price",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("keyup","#_food_sale_price",function(t,e){var o,i=jQuery(this);o=jQuery("#_food_price");var r=parseFloat(window.accounting.unformat(i.val())),n=parseFloat(window.accounting.unformat(o.val()));r>=n?jQuery(document.body).triggerHandler("wpfm_add_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"]):jQuery(document.body).triggerHandler("wpfm_remove_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"])}),jQuery("body").on("change","#_food_sale_price",function(){var t,e=jQuery(this);t=jQuery("#_food_price");var o=parseFloat(window.accounting.unformat(e.val())),i=parseFloat(window.accounting.unformat(t.val()));o>=i&&jQuery(this).val("")}),jQuery(document).on("click",".wpfm-add-row",WPFM_Frontend.actions.addElementRow),jQuery(document).on("click",".option-delete-btn",WPFM_Frontend.actions.removeAttributesOptions),jQuery(document).on("click",".wpfm-delete-btn",WPFM_Frontend.actions.removeAttributes),jQuery("#wpfm-add-new-option").on("click",WPFM_Frontend.actions.addNewOption),jQuery("body").on("change",'input[name^="topping_name"]',WPFM_Frontend.actions.updateOptionTitle),jQuery(document).on("click",".wpfm-togglediv",function(t){var e=jQuery(this).data("row-count");"true"===jQuery(t.currentTarget).attr("aria-expanded")?(jQuery(".wpfm-options-wrap.wpfm-options-box-"+e).removeClass("closed"),jQuery(this).attr("aria-expanded","false")):(jQuery(".wpfm-options-wrap.wpfm-options-box-"+e).addClass("closed"),jQuery(this).attr("aria-expanded","true")),jQuery(this).parents(".postbox").find(".wpfm-options-box").slideToggle("slow")}),jQuery(".container .wpfm-form-wrapper table.widefat tbody").sortable({connectWith:".container .wpfm-form-wrapper table.widefat tbody",items:"tr",axis:"y",placeholder:"placeholder",opacity:.65,update:function(t,e){var o=jQuery(this).closest(".postbox").children(".repeated-options").val();jQuery(".container .wpfm-form-group.fieldset_topping_options_"+o+" table.widefat tbody tr").each(function(t){var e=t+1;jQuery(this).children("td:nth-child(2)").html(e),jQuery(this).attr("class","option-tr-"+e),jQuery(this).children(".option-value-class").val(e),jQuery(this).children("td").children(".opt_name").attr("name",o+"_option_name_"+e),jQuery(this).children("td").children(".opt_price").attr("name",o+"_option_price_"+e),jQuery(this).children("td").children(".option-delete-btn").attr("data-id",e)})}}).disableSelection(),jQuery("body").on("wpfm_add_error_tip",function(t,e,o){var i=e.position();0===e.parent().find(".wpfm_error_tip").length&&(e.after('<div class="wpfm_error_tip '+o+'">'+wpfm_accounting_params[o]+"</div>"),e.parent().find(".wpfm_error_tip").css("left",i.left+e.width()-e.width()/2-jQuery(".wpfm_error_tip").width()/2).css("top",i.top+e.height()).fadeIn("100"))}),jQuery("body").on("wpfm_remove_error_tip",function(t,e,o){e.parent().find(".wpfm_error_tip."+o).fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("click",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("blur","#food_sale_price",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("keyup","#food_sale_price",function(t,e){var o,i=jQuery(this);o=jQuery("#food_price");var r=parseFloat(window.accounting.unformat(i.val())),n=parseFloat(window.accounting.unformat(o.val()));r>=n?jQuery(document.body).triggerHandler("wpfm_add_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"]):jQuery(document.body).triggerHandler("wpfm_remove_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"])}),jQuery("body").on("change","#food_sale_price",function(){var t,e=jQuery(this);t=jQuery("#food_price");var o=parseFloat(window.accounting.unformat(e.val())),i=parseFloat(window.accounting.unformat(t.val()));o>=i&&jQuery(this).val("")})},actions:{removeFoodItem:function(t){jQuery(this).parents("li").remove()},addElementRow:function(t){var e=0;e=jQuery(this).parents("table").find("tbody tr").length,e+=1;var o=jQuery(this).closest(".postbox").children(".repeated-options").val(),i=jQuery(this).data("row").replace(/%%repeated-option-index3%%/g,e).replace(/%%repeated-option-index2%%/g,o);i.replace('value="1"',e),jQuery(this).parents("table").find("tbody").append(i)},removeAttributesOptions:function(t){var e=jQuery(this).closest(".postbox").children(".repeated-options").val();jQuery(".wpfm-options-box-"+e+" tbody tr.option-tr-"+jQuery(this).data("id")).remove()},removeAttributes:function(t){jQuery(".wpfm-options-box-"+jQuery(this).data("id")).remove()},updateOptionTitle:function(t){jQuery(this).closest(".postbox").children("h3").children(".attribute_name").text(this.value);var e=this.value.replace(/\s/g,"_").toLowerCase();jQuery(this).closest(".postbox").children("h3").children(".attribute_key").children("input").val(e),""==this.value&&(jQuery(this).closest(".postbox").children("h3").children(".attribute_name").text("Option Key"),jQuery(this).closest(".postbox").children("h3").children(".attribute_key").children("input").val("topping_key"))},addNewOption:function(t){var e=0;jQuery(".wpfm-form-wrapper").find("div.wpfm-options-wrap").length&&jQuery(".wpfm-form-wrapper").find("div.wpfm-options-wrap").each(function(){e++}),e+=1;var o=jQuery(this).data("row").replace(/__repeated-option-index__/g,e).replace(/%repeated-option-index%/g,e);jQuery(".wpfm-form-wrapper .wpfm-actions").before(o),jQuery(".container .wpfm-form-wrapper table.widefat tbody").sortable({connectWith:".container .wpfm-form-wrapper table.widefat tbody",items:"tr",axis:"y",placeholder:"placeholder",opacity:.65,update:function(t,e){var o=jQuery(this).closest(".postbox").children(".repeated-options").val();jQuery(".container .wpfm-form-group.fieldset_topping_options_"+o+" table.widefat tbody tr").each(function(t){var e=t+1;jQuery(this).children("td:nth-child(2)").html(e),jQuery(this).attr("class","option-tr-"+e),jQuery(this).children(".option-value-class").val(e),jQuery(this).children("td").children(".opt_name").attr("name",o+"_option_name_"+e),jQuery(this).children("td").children(".opt_price").attr("name",o+"_option_price_"+e),jQuery(this).children("td").children(".option-delete-btn").attr("data-id",e)})}}).disableSelection(),jQuery('input[data-picker="datepicker"]').length>0&&(wpfm_food_submission.show_past_date?jQuery('input[data-picker="datepicker"]').datepicker({dateFormat:wpfm_food_submission.i18n_datepicker_format,firstDay:wpfm_food_submission.start_of_week,monthNames:wpfm_food_submission.monthNames}):jQuery('input[data-picker="datepicker"]').datepicker({minDate:0,dateFormat:wpfm_food_submission.i18n_datepicker_format,firstDay:wpfm_food_submission.start_of_week,monthNames:wpfm_food_submission.monthNames})),jQuery(".food-manager-multiselect").chosen({search_contains:!0}),jQuery(this).parents(".wpfm-options-wrapper").children(".wpfm-options-wrap").length;var i=fieldLabel=jQuery(this).parents(".wpfm-options-wrapper").children(".wpfm-options-wrap").find("fieldset.wpfm-form-group.wp-editor-field").last().attr("data-field-name");wp.editor.initialize(i,{tinymce:{wpautop:!1,textarea_rows:8,plugins:"lists,paste,tabfocus,wplink,wordpress",toolbar1:"bold,italic,|,bullist,numlist,|,link,unlink,|,undo,redo",toolbar2:"",paste_as_text:!0,paste_auto_cleanup_on_paste:!0,paste_remove_spans:!0,paste_remove_styles:!0,paste_remove_styles_if_webkit:!0,paste_strip_class_attributes:!0},quicktags:!1,mediaButtons:!1})}}}};WPFM_Frontend=WPFM_Frontend(),jQuery(document).ready(function(t){WPFM_Frontend.init()});
     1var WPFM_Frontend=function(){return{init:function(){jQuery(".food-manager-post_type-dropdown").length>0&&jQuery(".food-manager-post_type-dropdown").chosen({search_contains:!0}),jQuery(".wpfm-additional-main-row").length>0&&(jQuery(".wpfm-additional-main-row").hide(),jQuery(".wpfm-view-more").click(function(){jQuery(this).text("View less -"==jQuery(this).text()?"View more +":"View less -"),jQuery(this).parent().find(".wpfm-additional-main-row").slideToggle()})),jQuery(".wpfm-form-group.fieldset-topping_description").hide(),jQuery("body").on("click","a.wpfm-food-item-remove",WPFM_Frontend.actions.removeFoodItem),jQuery("body").on("wpfm_add_error_tip",function(t,e,o){var i=e.position();0===e.parent().find(".wpfm_error_tip").length&&(e.after('<div class="wpfm_error_tip '+o+'">'+wpfm_accounting_params[o]+"</div>"),e.parent().find(".wpfm_error_tip").css("left",i.left+e.width()-e.width()/2-jQuery(".wpfm_error_tip").width()/2).css("top",i.top+e.height()).fadeIn("100"))}),jQuery("body").on("wpfm_remove_error_tip",function(t,e,o){e.parent().find(".wpfm_error_tip."+o).fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("click",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("blur","#_food_sale_price",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("keyup","#_food_sale_price",function(t,e){var o,i=jQuery(this);o=jQuery("#_food_price");var r=parseFloat(window.accounting.unformat(i.val())),n=parseFloat(window.accounting.unformat(o.val()));r>=n?jQuery(document.body).triggerHandler("wpfm_add_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"]):jQuery(document.body).triggerHandler("wpfm_remove_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"])}),jQuery("body").on("change","#_food_sale_price",function(){var t,e=jQuery(this);t=jQuery("#_food_price");var o=parseFloat(window.accounting.unformat(e.val())),i=parseFloat(window.accounting.unformat(t.val()));o>=i&&jQuery(this).val("")}),jQuery(document).on("click",".wpfm-add-row",WPFM_Frontend.actions.addElementRow),jQuery(document).on("click",".option-delete-btn",WPFM_Frontend.actions.removeAttributesOptions),jQuery(document).on("click",".wpfm-delete-btn",WPFM_Frontend.actions.removeAttributes),jQuery("#wpfm-add-new-option").on("click",WPFM_Frontend.actions.addNewOption),jQuery("body").on("change",'input[name^="topping_name"]',WPFM_Frontend.actions.updateOptionTitle),jQuery(document).on("click",".wpfm-togglediv",function(t){var e=jQuery(this).data("row-count");"true"===jQuery(t.currentTarget).attr("aria-expanded")?(jQuery(".wpfm-options-wrap.wpfm-options-box-"+e).removeClass("closed"),jQuery(this).attr("aria-expanded","false")):(jQuery(".wpfm-options-wrap.wpfm-options-box-"+e).addClass("closed"),jQuery(this).attr("aria-expanded","true")),jQuery(this).parents(".postbox").find(".wpfm-options-box").slideToggle("slow")}),jQuery(".container .wpfm-form-wrapper table.widefat tbody").sortable({connectWith:".container .wpfm-form-wrapper table.widefat tbody",items:"tr",axis:"y",placeholder:"placeholder",opacity:.65,update:function(t,e){var o=jQuery(this).closest(".postbox").children(".repeated-options").val();jQuery(".container .wpfm-form-group.fieldset_topping_options_"+o+" table.widefat tbody tr").each(function(t){var e=t+1;jQuery(this).children("td:nth-child(2)").html(e),jQuery(this).attr("class","option-tr-"+e),jQuery(this).children(".option-value-class").val(e),jQuery(this).children("td").children(".opt_name").attr("name",o+"_option_name_"+e),jQuery(this).children("td").children(".opt_price").attr("name",o+"_option_price_"+e),jQuery(this).children("td").children(".option-delete-btn").attr("data-id",e)})}}).disableSelection(),jQuery("body").on("wpfm_add_error_tip",function(t,e,o){var i=e.position();0===e.parent().find(".wpfm_error_tip").length&&(e.after('<div class="wpfm_error_tip '+o+'">'+wpfm_accounting_params[o]+"</div>"),e.parent().find(".wpfm_error_tip").css("left",i.left+e.width()-e.width()/2-jQuery(".wpfm_error_tip").width()/2).css("top",i.top+e.height()).fadeIn("100"))}),jQuery("body").on("wpfm_remove_error_tip",function(t,e,o){e.parent().find(".wpfm_error_tip."+o).fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("click",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("blur","#food_sale_price",function(){jQuery(".wpfm_error_tip").fadeOut("100",function(){jQuery(this).remove()})}),jQuery("body").on("keyup","#food_sale_price",function(t,e){var o,i=jQuery(this);o=jQuery("#food_price");var r=parseFloat(window.accounting.unformat(i.val())),n=parseFloat(window.accounting.unformat(o.val()));r>=n?jQuery(document.body).triggerHandler("wpfm_add_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"]):jQuery(document.body).triggerHandler("wpfm_remove_error_tip",[jQuery(this),"wpfm_sale_less_than_regular_error"])}),jQuery("body").on("change","#food_sale_price",function(){var t,e=jQuery(this);t=jQuery("#food_price");var o=parseFloat(window.accounting.unformat(e.val())),i=parseFloat(window.accounting.unformat(t.val()));o>=i&&jQuery(this).val("")}),jQuery(".wpfm-accordion-action").click(function(t){jQuery(this).parent().hasClass("wpfm-accordion-item-show")?jQuery(this).parent().removeClass("wpfm-accordion-item-show"):(jQuery(".wpfm-accordion-item").removeClass("wpfm-accordion-item-show"),jQuery(this).parent().addClass("wpfm-accordion-item-show"))})},actions:{removeFoodItem:function(t){jQuery(this).parents("li").remove()},addElementRow:function(t){var e=0;e=jQuery(this).parents("table").find("tbody tr").length,e+=1;var o=jQuery(this).closest(".postbox").children(".repeated-options").val(),i=jQuery(this).data("row").replace(/%%repeated-option-index3%%/g,e).replace(/%%repeated-option-index2%%/g,o);i.replace('value="1"',e),jQuery(this).parents("table").find("tbody").append(i)},removeAttributesOptions:function(t){var e=jQuery(this).closest(".postbox").children(".repeated-options").val();jQuery(".wpfm-options-box-"+e+" tbody tr.option-tr-"+jQuery(this).data("id")).remove()},removeAttributes:function(t){jQuery(".wpfm-options-box-"+jQuery(this).data("id")).remove()},updateOptionTitle:function(t){jQuery(this).closest(".postbox").children("h3").children(".attribute_name").text(this.value);var e=this.value.replace(/\s/g,"_").toLowerCase();jQuery(this).closest(".postbox").children("h3").children(".attribute_key").children("input").val(e),""==this.value&&(jQuery(this).closest(".postbox").children("h3").children(".attribute_name").text("Option Key"),jQuery(this).closest(".postbox").children("h3").children(".attribute_key").children("input").val("topping_key"))},addNewOption:function(t){var e=0;jQuery(".wpfm-form-wrapper").find("div.wpfm-options-wrap").length&&jQuery(".wpfm-form-wrapper").find("div.wpfm-options-wrap").each(function(){e++}),e+=1;var o=jQuery(this).data("row").replace(/__repeated-option-index__/g,e).replace(/%repeated-option-index%/g,e);jQuery(".wpfm-form-wrapper .wpfm-actions").before(o),jQuery(".container .wpfm-form-wrapper table.widefat tbody").sortable({connectWith:".container .wpfm-form-wrapper table.widefat tbody",items:"tr",axis:"y",placeholder:"placeholder",opacity:.65,update:function(t,e){var o=jQuery(this).closest(".postbox").children(".repeated-options").val();jQuery(".container .wpfm-form-group.fieldset_topping_options_"+o+" table.widefat tbody tr").each(function(t){var e=t+1;jQuery(this).children("td:nth-child(2)").html(e),jQuery(this).attr("class","option-tr-"+e),jQuery(this).children(".option-value-class").val(e),jQuery(this).children("td").children(".opt_name").attr("name",o+"_option_name_"+e),jQuery(this).children("td").children(".opt_price").attr("name",o+"_option_price_"+e),jQuery(this).children("td").children(".option-delete-btn").attr("data-id",e)})}}).disableSelection(),jQuery('input[data-picker="datepicker"]').length>0&&(wpfm_food_submission.show_past_date?jQuery('input[data-picker="datepicker"]').datepicker({dateFormat:wpfm_food_submission.i18n_datepicker_format,firstDay:wpfm_food_submission.start_of_week,monthNames:wpfm_food_submission.monthNames}):jQuery('input[data-picker="datepicker"]').datepicker({minDate:0,dateFormat:wpfm_food_submission.i18n_datepicker_format,firstDay:wpfm_food_submission.start_of_week,monthNames:wpfm_food_submission.monthNames})),jQuery(".food-manager-multiselect").chosen({search_contains:!0}),jQuery(this).parents(".wpfm-options-wrapper").children(".wpfm-options-wrap").length;var i=fieldLabel=jQuery(this).parents(".wpfm-options-wrapper").children(".wpfm-options-wrap").find("fieldset.wpfm-form-group.wp-editor-field").last().attr("data-field-name");wp.editor.initialize(i,{tinymce:{wpautop:!1,textarea_rows:8,plugins:"lists,paste,tabfocus,wplink,wordpress",toolbar1:"bold,italic,|,bullist,numlist,|,link,unlink,|,undo,redo",toolbar2:"",paste_as_text:!0,paste_auto_cleanup_on_paste:!0,paste_remove_spans:!0,paste_remove_styles:!0,paste_remove_styles_if_webkit:!0,paste_strip_class_attributes:!0},quicktags:!1,mediaButtons:!1})}}}};WPFM_Frontend=WPFM_Frontend(),jQuery(document).ready(function(t){WPFM_Frontend.init()});
  • wp-food-manager/trunk/assets/js/multiselect.js

    r2902336 r3022874  
    99      /// <since>1.0.0</since>         
    1010      init: function () {
    11          WPFM_Common.logInfo("WPFM_MultiSelect.init...");
    1211         jQuery(".food-manager-multiselect").chosen({ search_contains: !0 });
    1312      }
    14    } //enf of returnmultiselect
    15 }; //end of class
     13   } //enf of returnmultiselect.
     14}; //end of class.
    1615
    1716WPFM_MultiSelect = WPFM_MultiSelect();
  • wp-food-manager/trunk/assets/js/term-multiselect.js

    r2902336 r3022874  
    99        /// <since>1.0.0</since>
    1010        init: function () {
    11             WPFM_Common.logInfo("WPFM_TermMultiSelect.init...");
    1211            jQuery(".food-manager-category-dropdown").chosen({ search_contains: !0 });
    1312        }
    14     } //enf of return
    15 }; //end of class
     13    } //enf of return.
     14}; //end of class.
    1615
    1716WPFM_TermMultiSelect = WPFM_TermMultiSelect();
  • wp-food-manager/trunk/assets/js/term-select-multi-appearance.js

    r2914276 r3022874  
    1919                    selected_terms = {},
    2020                    units = JSON.parse(appearance_params.unit_terms);
    21                 // Push selected value array
     21                // Push selected value array.
    2222                jQuery.each(jQuery(this).find('option'), function (key, value) {
    2323                    if (jQuery(this).is(':selected')) {
    24                         // Define term id and term name
     24                        // Define term id and term name.
    2525                        var term_id = jQuery(this).val(),
    2626                            label = jQuery(this).text();
    27                         // array
     27                        // array.
    2828                        selected_terms[term_id] = label;
    2929                    }
    3030                });
    31                 // units html
     31                // units html.
    3232                jQuery.each(units, function (key, unit) {
    3333                    unit_options += '<option value="' + unit.term_id + '">' + unit.name + '</option>';
    3434                });
    35                 // preview html
     35                // preview html.
    3636                jQuery.each(selected_terms, function (term_id, label) {
    3737                    term_id = parseInt(term_id);
     
    3939                    preview_htm += '<label>' + label + '</label>';
    4040                    preview_htm += '<div class="term-item-flex">';
    41                     preview_htm += '<input type="number" min="0" step="0.1" name="' + data_name + '[' + term_id + '][value]">';
     41                    preview_htm += '<input type="number" min="0" step="any" name="' + data_name + '[' + term_id + '][value]">';
    4242                    preview_htm += '<select name="' + data_name + '[' + term_id + '][unit_id]">' + unit_options + '</select>';
    4343                    preview_htm += '</div>';
     
    5050                    jQuery(this).parents('.wpfm-form-group').find('.selection-preview').show();
    5151                }
    52                 // Append preview html
     52                // Append preview html.
    5353                if (selected_val) {
    5454                    jQuery.each(selected_val, function (term_id, value) {
  • wp-food-manager/trunk/assets/js/term-select-multi-appearance.min.js

    r2914276 r3022874  
    1 var WPFM_MultiAppearanceSelect=function(){return{init:function(){WPFM_Common.logInfo("WPFM_MultiAppearanceSelect.init..."),jQuery(".multiselect_appearance .food-manager-category-dropdown").on("change",function(){if(jQuery(".selection-preview .preview-items li").length){var e={};jQuery(".selection-preview .preview-items li").each(function(i){var t=jQuery(this).attr("data-id"),n=jQuery(this).find("input").val(),a=jQuery(this).find("select").val();e[t]={value:n,unit_id:a}})}var i=jQuery(this).parents(".wpfm-form-group").find(".selection-preview").attr("data-name"),t="",n='<option value="">Unit</option>',a={},l=JSON.parse(appearance_params.unit_terms);jQuery.each(jQuery(this).find("option"),function(e,i){if(jQuery(this).is(":selected")){var t=jQuery(this).val(),n=jQuery(this).text();a[t]=n}}),jQuery.each(l,function(e,i){n+='<option value="'+i.term_id+'">'+i.name+"</option>"}),jQuery.each(a,function(e,a){t+='<li class="term-item" data-id="'+(e=parseInt(e))+'">',t+="<label>"+a+"</label>",t+='<div class="term-item-flex">',t+='<input type="number" min="0" step="0.1" name="'+i+"["+e+'][value]">',t+='<select name="'+i+"["+e+'][unit_id]">'+n+"</select>",t+="</div>",t+="</li>"}),jQuery(this).parents(".wpfm-form-group").find(".selection-preview ul").html(t),0==jQuery(this).parents(".wpfm-form-group").find(".selection-preview ul").find("li").length?jQuery(this).parents(".wpfm-form-group").find(".selection-preview").hide():jQuery(this).parents(".wpfm-form-group").find(".selection-preview").show(),e&&jQuery.each(e,function(e,i){jQuery('.selection-preview .preview-items li[data-id="'+e+'"]').find("input").val(i.value),jQuery('.selection-preview .preview-items li[data-id="'+e+'"]').find("select").val(i.unit_id)})})}}};WPFM_MultiAppearanceSelect=WPFM_MultiAppearanceSelect(),jQuery(document).ready(function(e){WPFM_MultiAppearanceSelect.init()});
     1var WPFM_MultiAppearanceSelect=function(){return{init:function(){WPFM_Common.logInfo("WPFM_MultiAppearanceSelect.init..."),jQuery(".multiselect_appearance .food-manager-category-dropdown").on("change",function(){if(jQuery(".selection-preview .preview-items li").length){var e={};jQuery(".selection-preview .preview-items li").each(function(i){var t=jQuery(this).attr("data-id"),n=jQuery(this).find("input").val(),a=jQuery(this).find("select").val();e[t]={value:n,unit_id:a}})}var i=jQuery(this).parents(".wpfm-form-group").find(".selection-preview").attr("data-name"),t="",n='<option value="">Unit</option>',a={},l=JSON.parse(appearance_params.unit_terms);jQuery.each(jQuery(this).find("option"),function(e,i){if(jQuery(this).is(":selected")){var t=jQuery(this).val(),n=jQuery(this).text();a[t]=n}}),jQuery.each(l,function(e,i){n+='<option value="'+i.term_id+'">'+i.name+"</option>"}),jQuery.each(a,function(e,a){t+='<li class="term-item" data-id="'+(e=parseInt(e))+'">',t+="<label>"+a+"</label>",t+='<div class="term-item-flex">',t+='<input type="number" min="0" step="any" name="'+i+"["+e+'][value]">',t+='<select name="'+i+"["+e+'][unit_id]">'+n+"</select>",t+="</div>",t+="</li>"}),jQuery(this).parents(".wpfm-form-group").find(".selection-preview ul").html(t),0==jQuery(this).parents(".wpfm-form-group").find(".selection-preview ul").find("li").length?jQuery(this).parents(".wpfm-form-group").find(".selection-preview").hide():jQuery(this).parents(".wpfm-form-group").find(".selection-preview").show(),e&&jQuery.each(e,function(e,i){jQuery('.selection-preview .preview-items li[data-id="'+e+'"]').find("input").val(i.value),jQuery('.selection-preview .preview-items li[data-id="'+e+'"]').find("select").val(i.unit_id)})})}}};WPFM_MultiAppearanceSelect=WPFM_MultiAppearanceSelect(),jQuery(document).ready(function(e){WPFM_MultiAppearanceSelect.init()});
  • wp-food-manager/trunk/forms/wpfm-abstract-form.php

    r2930934 r3022874  
    3030
    3131    /**
    32      * Process function. all processing code if needed - can also change view if step is complete
     32     * Process function - all processing code if needed can also change view if step is complete.
    3333     *
    3434     * @access public
     
    3737     */
    3838    public function process() {
    39         // reset cookie
     39        // Reset cookie.
    4040        if (isset($_GET['new']) && isset($_COOKIE['wpfm-adding-food-id']) && isset($_COOKIE['wpfm-adding-food-key']) && get_post_meta(sanitize_text_field($_COOKIE['wpfm-adding-food-id']), '_adding_key', true) == $_COOKIE['wpfm-adding-food-key']) {
    4141            delete_post_meta(sanitize_text_field($_COOKIE['wpfm-adding-food-id']), '_adding_key');
     
    123123
    124124    /**
    125      * Get step from outside of the class
     125     * Get step from outside of the class.
    126126     *
    127127     * @access public
     
    134134
    135135    /**
    136      * Get steps from outside of the class
     136     * Get steps from outside of the class.
    137137     *
    138138     * @access public
     
    145145
    146146    /**
    147      * Get step key from outside of the class
     147     * Get step key from outside of the class.
    148148     *
    149149     * @access public
     
    162162
    163163    /**
    164      * Get step from outside of the class
     164     * Get step from outside of the class.
    165165     *
    166166     * @access public
     
    173173
    174174    /**
    175      * Increase step from outside of the class
     175     * Increase step from outside of the class.
    176176     *
    177177     * @access public
     
    184184
    185185    /**
    186      * Decrease step from outside of the class
     186     * Decrease step from outside of the class.
    187187     *
    188188     * @access public
     
    213213
    214214    /**
    215      * Sort array by priority value
     215     * Sort array by priority value.
    216216     *
    217217     * @access public
     
    229229
    230230    /**
    231      * Init form fields
     231     * Init form fields.
    232232     *
    233233     * @access public
     
    253253
    254254    /**
    255      * Get post data for fields
     255     * Get post data for fields.
    256256     *
    257257     * @access protected
     
    262262        global $post;
    263263
    264         // Init fields
    265         // $this->init_fields(); We dont need to initialize with this function because of field editor
    266         // Now field editor function will return all the fields
     264        // Init fields.
     265        // $this->init_fields(); We dont need to initialize with this function because of field editor.
     266        // Now field editor function will return all the fields.
    267267        // Get merged fields from db and default fields.
    268268        $this->merge_with_custom_fields('frontend');
     
    309309                    foreach ($group_fields as $key => $field) {
    310310
    311                         // Get the value
     311                        // Get the value.
    312312                        $field_type = str_replace('-', '_', $field['type']);
    313313                        if ($handler = apply_filters("food_manager_get_posted_{$field_type}_field", false)) {
     
    366366                foreach ($group_fields as $key => $field) {
    367367
    368                     // Get the value
     368                    // Get the value.
    369369                    $field_type = str_replace('-', '_', $field['type']);
    370370                    if ($handler = apply_filters("food_manager_get_posted_{$field_type}_field", false)) {
     
    385385                    }
    386386
    387                     // Set fields value
     387                    // Set fields value.
    388388                    $this->fields[$group_key][$key]['value'] = $values[$group_key][$key];
    389389                }
     
    394394
    395395    /**
    396      * Get the value of a repeated fields (e.g. repeated)
     396     * Get the value of a repeated fields (e.g. repeated).
    397397     *
    398398     * @access protected
     
    455455
    456456    /**
    457      * Get the value of a posted repeated field
     457     * Get the value of a posted repeated field.
    458458     *
    459459     * @access protected
     
    476476     */
    477477    protected function sanitize_posted_field($value) {
    478         // Decode URLs
     478        // Decode URLs.
    479479        if (is_string($value) && (strstr($value, 'http:') || strstr($value, 'https:'))) {
    480480            $value = urldecode($value);
    481481        }
    482482
    483         // Sanitize value
     483        // Sanitize value.
    484484        $value = is_array($value) ? array_map(array($this, 'sanitize_posted_field'), $value) : sanitize_text_field(stripslashes(trim($value)));
    485485
     
    488488
    489489    /**
    490      * Get the value of a posted field
     490     * Get the value of a posted field.
    491491     *
    492492     * @access protected
     
    501501
    502502    /**
    503      * Get the value of a posted multiselect field
     503     * Get the value of a posted multiselect field.
    504504     *
    505505     * @access protected
     
    514514
    515515    /**
    516      * Get the value of a posted file field
     516     * Get the value of a posted file field.
    517517     *
    518518     * @access protected
     
    535535
    536536    /**
    537      * Get the value of a posted textarea field
     537     * Get the value of a posted textarea field.
    538538     *
    539539     * @access protected
     
    548548
    549549    /**
    550      * Get the value of a posted textarea field
     550     * Get the value of a posted textarea field.
    551551     *
    552552     * @access protected
     
    561561
    562562    /**
    563      * Get posted terms for the taxonomy
     563     * Get posted terms for the taxonomy.
    564564     *
    565565     * @access protected
     
    578578
    579579    /**
    580      * Get posted terms for the taxonomy
     580     * Get posted terms for the taxonomy.
    581581     *
    582582     * @access protected
     
    591591
    592592    /**
    593      * Get posted terms for the taxonomy
     593     * Get posted terms for the taxonomy.
    594594     *
    595595     * @access protected
     
    640640
    641641    /**
    642      * Merge and replace $default_fields with custom fields
     642     * Merge and replace $default_fields with custom fields.
    643643     *
    644644     * @access public
    645645     * @param string $field_view
    646      * @return array Returns merged and replaced fields
     646     * @return array Returns merged and replaced fields.
    647647     * @since 1.0.0
    648648     */
     
    708708        /**
    709709         * If the default field is removed via the field editor, then we cannot remove this field from the code because it is hardcoded in the file, so we need to set a flag to identify which particular field is removed by the user.
    710          * Using the visibility flag, we can identify those fields that need to be removed or kept in the Field Editor based on the visibility flag value. If the visibility is true, then we will keep the field, and if the visibility flag is false, then we will not show this default field in the field editor. (As an action of the user removed this field from the field editor but not removed from the code, so we have to set this flag)
     710         * Using the visibility flag, we can identify those fields that need to be removed or kept in the Field Editor based on the visibility flag value. If the visibility is true, then we will keep the field, and if the visibility flag is false, then we will not show this default field in the field editor. (As an action of the user removed this field from the field editor but not removed from the code, so we have to set this flag).
    711711         * We are getting several default fields from the addons and using theme-side customization via the 'add_food_fields' filter.
    712712         * Now, it's not easy to manage filter fields and default fields of the plugin in this case, so we need to set this flag to identify whether the field should be shown or not in the field editor.
  • wp-food-manager/trunk/forms/wpfm-add-food-form.php

    r2930934 r3022874  
    1616
    1717    /**
    18      * Main Instance
     18     * Main Instance.
    1919     */
    2020    public static function instance() {
     
    5353        uasort($this->steps, array($this, 'sort_by_priority'));
    5454
    55         // Get step/food
     55        // Get step/food.
    5656        if (isset($_POST['step'])) {
    5757            $this->step = is_numeric($_POST['step']) ? max(absint($_POST['step']), 0) : array_search($_POST['step'], array_keys($this->steps));
     
    7575        }
    7676
    77         // Load food details
     77        // Load food details.
    7878        if ($this->food_id) {
    7979            $food_status = get_post_status($this->food_id);
     
    305305     * @access protected
    306306     * @param array $values
    307      * @return bool on success, WP_ERROR on failure
     307     * @return bool on success, WP_ERROR on failure.
    308308     * @since 1.0.0
    309309     */
     
    387387     */
    388388    public function submit() {
    389         // get date and time setting defined in admin panel food listing -> Settings -> Date & Time formatting
     389        // get date and time setting defined in admin panel food listing -> Settings -> Date & Time formatting.
    390390        $datepicker_date_format = esc_attr(WPFM_Date_Time::get_datepicker_format());
    391391
    392         // covert datepicker format into php date() function date format
     392        // covert datepicker format into php date() function date format.
    393393        $php_date_format = esc_attr(WPFM_Date_Time::get_view_date_format_from_datepicker_date_format($datepicker_date_format));
    394394
    395         // Init fields
    396         // $this->init_fields(); We don't need to initialize with this function because of the field editor
    397         // Now field editor function will return all the fields
     395        // Init fields.
     396        // $this->init_fields(); We don't need to initialize with this function because of the field editor.
     397        // Now field editor function will return all the fields.
    398398        // Get merged fields from db and default fields.
    399399        $this->merge_with_custom_fields('frontend');
    400400
    401         // Load data if necessary
     401        // Load data if necessary.
    402402        if ($this->food_id) {
    403403            $food = get_post($this->food_id);
     
    425425                            break;
    426426
     427                        case 'food_tag':
     428                                $this->fields[$group_key][$key]['value'] = wp_get_object_terms($food->ID, 'food_manager_tag', array('fields' => 'ids'));
     429                                break;
     430   
     431
    427432                        default:
    428433                            $this->fields[$group_key][$key]['value'] = sanitize_text_field(get_post_meta($food->ID, '_' . $key, true));
     
    442447            $this->fields = apply_filters('add_food_fields_get_food_data', $this->fields, $food);
    443448
    444             // Get user meta
     449            // Get user meta.
    445450        } elseif (is_user_logged_in() && empty($_POST['add_food'])) {
    446451            if (!empty($this->fields['food']['registration'])) {
     
    468473
    469474    /**
    470      * Submit Step is posted
     475     * Submit Step is posted.
    471476     *
    472477     * @access public
     
    477482        try {
    478483
    479             // Init fields
    480             //$this->init_fields(); We dont need to initialize with this function because of field edior
    481             // Now field editor function will return all the fields 
     484            // Init fields.
     485            //$this->init_fields(); We dont need to initialize with this function because of field edior.
     486            // Now field editor function will return all the fields.
    482487            //Get merged fields from db and default fields.
    483488            $this->merge_with_custom_fields('frontend');
    484489
    485             // Get posted values
     490            // Get posted values.
    486491            $values = $this->get_posted_fields();
    487492            if (empty($_POST['add_food'])) {
     
    489494            }
    490495
    491             // Validate required
     496            // Validate required.
    492497            if (is_wp_error(($return = $this->validate_fields($values)))) {
    493498                throw new Exception($return->get_error_message());
    494499            }
    495500
    496             // Account creation
     501            // Account creation.
    497502            if (!is_user_logged_in()) {
    498503                $create_account = false;
     
    545550            }
    546551
    547             // Update the food
     552            // Update the food.
     553            $food_title = isset($values['food']['food_title']) && !empty($values['food']['food_title']) ? $values['food']['food_title'] : '';
    548554            $food_description = isset($values['food']['food_description']) && !empty($values['food']['food_description']) ? $values['food']['food_description'] : '';
    549             $food_title = isset($values['food']['food_title']) && !empty($values['food']['food_title']) ? $values['food']['food_title'] : '';
    550             $this->save_food(sanitize_text_field($food_title), sanitize_textarea_field($food_description), $this->food_id ? '' : 'preview', $values);
    551 
    552             // Successful, show next step
     555
     556            // Determine the status based on the condition.
     557            $status = $this->food_id ? '' : 'preview';
     558
     559            // Pass the $status variable as an argument in the save_food() method.
     560            $this->save_food(sanitize_text_field($food_title), wp_kses_post($food_description), $status, $values, false);
     561           
     562            // Successful, show next step.
    553563            $this->step++;
    554564        } catch (Exception $e) {
     
    559569
    560570    /**
    561      * Update or create a food listing from posted data
     571     * Update or create a food listing from posted data.
    562572     *
    563573     * @access protected
     
    583593            $food_slug   = array();
    584594
    585             // Prepend with food type
     595            // Prepend with food type.
    586596            if (apply_filters('add_food_prefix_post_name_with_food_type', true) && !empty($values['food']['food_type'])) {
    587597                if (food_manager_multiselect_food_type() && is_array($values['food']['food_type'])) {
     
    711721        }
    712722
    713         // Edit = show submit form again
     723        // Edit = show submit form again.
    714724        if (!empty($_POST['edit_food'])) {
    715725            $this->step--;
    716726        }
    717727
    718         // Continue = change food status then show next screen
     728        // Continue = change food status then show next screen.
    719729        if (!empty($_POST['continue'])) {
    720730            $food = get_post($this->food_id);
    721731            if (in_array($food->post_status, array('preview', 'expired'))) {
    722732
    723                 // Reset expiry
     733                // Reset expiry.
    724734                delete_post_meta($food->ID, '_food_expiry_date');
    725735
    726                 // Update food listing
     736                // Update food listing.
    727737                $update_food                  = array();
    728738                $update_food['ID']            = $food->ID;
     
    749759
    750760    /**
    751      * get selected fields from the field editor
     761     * Get selected fields from the field editor.
    752762     *
    753763     * @access public
     
    760770
    761771    /**
    762      * get extra options fields from the field editor
     772     * Get extra options fields from the field editor.
    763773     *
    764774     * @access public
     
    771781
    772782    /**
    773      * This function will initialize default fields and return as an array
     783     * This function will initialize default fields and return as an array.
    774784     *
    775785     * @access public
     
    779789    public function get_default_fields() {
    780790        if (empty($this->fields)) {
    781             // Make sure fields are initialized and set
     791            // Make sure fields are initialized and set.
    782792            $this->init_fields();
    783793        }
     
    786796
    787797    /**
    788      * This function will set the food id for invoking the food object
     798     * This function will set the food id for invoking the food object.
    789799     *
    790800     * @access public
     
    799809
    800810    /**
    801      * This function will get the food id for invoking the food object
     811     * This function will get the food id for invoking the food object.
    802812     *
    803813     * @access public
  • wp-food-manager/trunk/forms/wpfm-edit-food-form.php

    r2930934 r3022874  
    1313
    1414    /**
    15      * Main Instance
     15     * Main Instance.
    1616     */
    1717    public static function instance() {
     
    2323
    2424    /**
    25      * Constructor
     25     * Constructor.
    2626     */
    2727    public function __construct() {
     
    5555        global $wpdb;
    5656        $food = get_post($this->food_id);
    57 
     57        if ($food->post_type !== 'food_manager'):
     58            return;
     59        endif;
    5860        if (empty($this->food_id) || ($food->post_status !== 'publish' && $food->post_status !== 'pending' && !food_manager_user_can_edit_pending_submissions())) {
    5961            echo wpautop(__('Invalid listing', 'wp-food-manager'));
    6062            return;
    6163        }
    62 
    63         // Init fields
    64         //$this->init_fields(); We dont need to initialize with this function because of field editor
    65         // Now field editor function will return all the fields
     64        // Init fields.
     65        //$this->init_fields(); We dont need to initialize with this function because of field editor.
     66        // Now field editor function will return all the fields.
    6667        //Get merged fields from db and default fields.
    6768        $this->merge_with_custom_fields('frontend');
     
    161162
    162163        try {
    163             // Get posted values
     164            // Get posted values.
    164165            $values = $this->get_posted_fields();
    165166
    166             // Validate required
     167            // Validate required.
    167168            if (is_wp_error(($return = $this->validate_fields($values)))) {
    168169                throw new Exception($return->get_error_message());
    169170            }
    170171
    171             // Update the food
     172            // Update the food.
    172173            $food_title = isset($values['food']['food_title']) && !empty($values['food']['food_title']) ? $values['food']['food_title'] : '';
    173174            $food_description = isset($values['food']['food_description']) && !empty($values['food']['food_description']) ? $values['food']['food_description'] : '';
    174175            $this->save_food(esc_html($food_title), wp_kses_post($food_description), '', $values, false);
    175176
    176             // Successful
     177            // Successful.
    177178            switch (get_post_status($this->food_id)) {
    178179                case 'publish':
  • wp-food-manager/trunk/forms/wpfm-forms.php

    r2930934 r3022874  
    2929
    3030    /**
    31      * Constructor
     31     * Constructor.
    3232     */
    3333    public function __construct() {
     
    3535
    3636    /**
    37      * Load a form's class
     37     * Load a form's class.
    3838     *
    3939     * @access public
    4040     * @param  string $form_name
    41      * @return string class name on success, false on failure
     41     * @return string class name on success, false on failure.
    4242     * @since 1.0.0
    4343     */
     
    4747        }
    4848
    49         // Now try to load the form_name
     49        // Now try to load the form_name.
    5050        $form_class  = 'WPFM_' . str_replace('-', '_', sanitize_key($form_name)) . '_Form';
    5151        $form_file   = WPFM_PLUGIN_DIR . '/forms/wpfm-' . sanitize_file_name($form_name) . '-form.php';
     
    6363        }
    6464
    65         // Init the form
     65        // Init the form.
    6666        return call_user_func(array($form_class, 'instance'));
    6767    }
     
    7272     * @access public
    7373     * @param string $form_name
    74      * @param  array $atts Optional passed attributes
     74     * @param  array $atts Optional passed attributes.
    7575     * @return string
    7676     * @since 1.0.0
     
    8989     * @access public
    9090     * @param string $form_name
    91      * @param array $atts Optional passed attributes
     91     * @param array $atts Optional passed attributes.
    9292     * @return string
    9393     * @since 1.0.0
  • wp-food-manager/trunk/includes/wpfm-action-hooks.php

    r2930934 r3022874  
    11<?php
    2 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     2if (!defined('ABSPATH')) exit; // Exit if accessed directly.
    33/**
    44 * WPFM_ActionHooks class.
     
    5252    /**
    5353     * __construct function.
    54      * get the plugin hooked in and ready
     54     * get the plugin hooked in and ready.
    5555     *
    5656     * @since 1.0.1
     
    8787        add_action('admin_init', array($this, 'redirect'));
    8888
    89         // Writepanel's Actions
     89        // Writepanel's Actions.
    9090        add_action('add_meta_boxes', array($this, 'add_meta_boxes'));
    9191        add_action('save_post', array($this, 'save_post'), 1, 2);
     
    9595        add_action('wpfm_save_food_data', array($this, 'food_manager_save_food_manager_data'), 20, 3);
    9696
    97         // Food menu 
     97        // Food menu.
    9898        add_action('wp_ajax_wpfm_get_food_listings_by_category_id', array($this, 'get_food_listings_by_category_id'));
    9999        add_action('food_manager_save_food_manager_menu', array($this, 'food_manager_save_food_manager_menu_data'), 20, 2);
     
    102102        add_action('admin_notices', array($this, 'display_notice'));
    103103
    104         // wpfm form's action
     104        // wpfm form's action.
    105105        add_action('init', array($this, 'load_posted_form'));
    106106
    107         // wpfm ajax's action
     107        // wpfm ajax's action.
    108108        add_action('init', array($this, 'add_endpoint'));
    109109        add_action('template_redirect', array($this, 'do_fm_ajax'), 0);
    110110
    111         // FM Ajax endpoints
     111        // FM Ajax endpoints.
    112112        add_action('food_manager_ajax_get_listings', array($this, 'get_listings'));
    113113        add_action('food_manager_ajax_upload_file', array($this, 'upload_file'));
    114114
    115         // BW compatible handlers
     115        // BW compatible handlers.
    116116        add_action('wp_ajax_nopriv_food_manager_get_listings', array($this, 'get_listings'));
    117117        add_action('wp_ajax_food_manager_get_listings', array($this, 'get_listings'));
     
    121121        add_action('wp_ajax_wpfm-logo-update-menu-order', array($this, 'menuUpdateOrder'));
    122122
    123         // wpfm cache helper
     123        // wpfm cache helper.
    124124        add_action('save_post', array($this, 'flush_get_food_managers_cache'));
    125125        add_action('delete_post', array($this, 'flush_get_food_managers_cache'));
     
    132132        add_action('transition_post_status', array($this, 'maybe_clear_count_transients'), 10, 3);
    133133
    134         // wpfm custom post-types
     134        // wpfm custom post-types.
    135135        add_action('init', array($this->post_types, 'register_post_types'), 0);
    136136        add_action('wp_footer', array($this, 'output_structured_data'));
    137137
    138         // View count action
     138        // View count action.
    139139        add_action('set_single_listing_view_count', array($this, 'set_single_listing_view_count'));
    140140        if (get_option('food_manager_enable_categories')) {
     
    145145        }
    146146
    147         // wpfm shortcode's action
    148         add_action('food_manager_food_dashboard_content_edit', array($this, 'edit_food'));
     147        // wpfm shortcode's action.
     148        add_action('food_manager_food_dashboard_contents_edit', array($this, 'edit_food'));
    149149        add_action('food_manager_food_filters_end', array($this, 'food_filter_results'), 30);
    150150        add_action('food_manager_output_foods_no_results', array($this, 'output_no_results'));
    151151        add_action('wp_ajax_term_ajax_search',        array($this, 'term_ajax_search'));
    152152        add_action('wp_ajax_nopriv_term_ajax_search', array($this, 'term_ajax_search'));
    153     }
    154 
    155     /**
    156      * Output some content when no results were found
     153
     154    }
     155
     156    /**
     157     * Output some content when no results were found.
    157158     *
    158159     * @access public
     
    165166
    166167    /**
    167      * Show results div
     168     * Show results div.
    168169     *
    169170     * @access public
     
    176177
    177178    /**
    178      * Edit food form
     179     * Edit food form.
    179180     *
    180181     * @access public
     
    188189
    189190    /**
    190      * Show Food type dropdown
     191     * Show Food type dropdown.
    191192     *
    192193     * @access public
     
    222223
    223224    /**
    224      * Show category dropdown
     225     * Show category dropdown.
    225226     *
    226227     * @access public
     
    258259
    259260    /**
    260      * Set post view on the single listing page
     261     * Set post view on the single listing page.
    261262     *
    262263     * @access public
     
    283284
    284285    /**
    285      * output_structured_data
     286     * output_structured_data.
    286287     *
    287288     * @access public
     
    334335
    335336    /**
    336      * Maybe remove pending count transients
     337     * Maybe remove pending count transients.
    337338     *
    338339     * When a supported post type status is updated, check if any cached count transients need to be removed.
     
    349350
    350351        /**
    351          * Get supported post types for count caching
     352         * Get supported post types for count caching.
    352353         * @param array   $post_types Post types that should be cached.
    353354         * @param string  $new_status New post status.
     
    357358        $post_types = apply_filters('wp_foodmanager_count_cache_supported_post_types', array('food_manager'), $new_status, $old_status, $post);
    358359
    359         // Only proceed when statuses do not match, and post type is supported post type
     360        // Only proceed when statuses do not match, and post type is supported post type.
    360361        if ($new_status === $old_status || !in_array($post->post_type, $post_types)) {
    361362            return;
     
    363364
    364365        /**
    365          * Get supported post statuses for count caching
     366         * Get supported post statuses for count caching.
    366367         * @param array   $post_statuses Post statuses that should be cached.
    367368         * @param string  $new_status    New post status.
     
    372373        $rlike          = array();
    373374
    374         // New status transient option name
     375        // New status transient option name.
    375376        if (in_array($new_status, $valid_statuses)) {
    376377            $rlike[] = "^_transient_fm_{$new_status}_{$post->post_type}_count_user_";
    377378        }
    378379
    379         // Old status transient option name
     380        // Old status transient option name.
    380381        if (in_array($old_status, $valid_statuses)) {
    381382            $rlike[] = "^_transient_fm_{$old_status}_{$post->post_type}_count_user_";
     
    402403
    403404    /**
    404      * Clear expired transients
     405     * Clear expired transients.
    405406     *
    406407     * @access public
     
    422423
    423424    /**
    424      * When any post has a term set
     425     * When any post has a term set.
    425426     *
    426427     * @access public
     
    437438
    438439    /**
    439      * When any term is edited
     440     * When any term is edited.
    440441     *
    441442     * @access public
     
    451452
    452453    /**
    453      * Flush the cache
     454     * Flush the cache.
    454455     *
    455456     * @access public
     
    504505
    505506    /**
    506      * Upload file via ajax
     507     * Upload file via ajax.
    507508     * No nonce field since the form may be statically cached.
    508509     *
     
    536537
    537538    /**
    538      * Get listings via ajax
     539     * Get listings via ajax.
    539540     *
    540541     * @access public
     
    603604                'post_status' => 'publish'
    604605            ));
    605 
    606606            if (count($default_foods) == 0) { ?>
    607607                <div class="no_food_listings_found wpfm-alert wpfm-alert-danger"><?php _e('There is no food item listed in your food manager.', 'wp-food-manager'); ?></div>
     
    614614        $result['filter_value'] = array();
    615615
    616         // Categories
     616        // Categories.
    617617        if ($search_categories) {
    618618            $showing_categories = array();
     
    626626        }
    627627
    628         // Food types
     628        // Food types.
    629629        if ($search_food_types) {
    630630            $showing_food_types = array();
     
    638638        }
    639639
    640         // Food Menu
     640        // Food Menu.
    641641        $hide_flag = 0;
    642642        if (is_array($search_food_menu) && implode(',', $search_food_menu)) {
     
    673673
    674674        if (sizeof($result['filter_value']) > 1) {
    675             $message = sprintf(_n('Search completed. Found %d matching record.', 'Search completed. Found %d matching records.', $food_cnt, 'wp-food-manager'), $food_cnt);
     675            $message = sprintf(_n('Search completed. Found %d matching record.', 'Search completed. Found %d matching records.', $foods->found_posts, 'wp-food-manager'), $foods->found_posts);
    676676            $result['showing_applied_filters'] = true;
    677677        } else {
     
    687687        $result['filter_value'] = apply_filters('food_manager_get_listings_custom_filter_text', $message, $search_values);
    688688
    689         // Generate RSS link
     689        // Generate RSS link.
    690690        $result['showing_links'] = wpfm_get_filtered_links(array(
    691691            'search_keywords'   => $search_keywords,
     
    705705
    706706    /**
    707      * Check for WC Ajax request and fire action
     707     * Check for WC Ajax request and fire action.
    708708     *
    709709     * @access public
     
    722722                define('DOING_AJAX', true);
    723723            }
    724             // Not home - this is an ajax endpoint
     724            // Not home - this is an ajax endpoint.
    725725            $wp_query->is_home = false;
    726726            do_action('food_manager_ajax_' . sanitize_text_field($action));
     
    730730
    731731    /**
    732      * Add our endpoint for frontend ajax requests
     732     * Add our endpoint for frontend ajax requests.
    733733     *
    734734     * @access public
     
    873873
    874874    /**
    875      * content for Copy Shortcode
     875     * content for Copy Shortcode.
    876876     *
    877877     * @access public
     
    882882     */
    883883    public function shortcode_copy_content_column($column, $post_id) {
    884         echo '<code>';
     884        switch ($column) {
     885            case 'shortcode':
     886                echo '<code>';
    885887        printf(esc_html__('[food_menu id=%d]', 'wp-food-manager'), esc_attr($post_id));
    886888        echo '</code>';
     889                break;
     890                case 'thumbnail':
     891                    if (has_post_thumbnail()) {
     892                        echo the_post_thumbnail('medium');
     893                    } else {
     894                        echo '-';
     895                    }
     896                    break;
     897        }
    887898    }
    888899
     
    935946                    ],
    936947                ],
    937                 // Rest of your arguments
     948                // Rest of your arguments.
    938949            ];
    939950
     
    10111022        global $wpdb;
    10121023        $thumbnail_image = array();
    1013         // Save Food Form fields values
     1024        // Save Food Form fields values.
    10141025        if (isset($form_fields['food'])) {
    10151026            foreach ($form_fields['food'] as $key => $field) {
    10161027                $type = !empty($field['type']) ? $field['type'] : '';
    10171028
    1018                 // Food Banner
     1029                // Food Banner.
    10191030                if ('food_banner' === $key) {
    10201031                    if (isset($_POST[$key]) && !empty($_POST[$key])) {
    10211032                        $thumbnail_image = is_array($_POST[$key]) ? array_values(array_filter($_POST[$key])) : $_POST[$key];
    10221033
    1023                         // Update Food Banner Meta Data
     1034                        // Update Food Banner Meta Data.
    10241035                        update_post_meta($post_id, '_' . esc_attr($key), $thumbnail_image);
    10251036                        if (is_array($_POST[$key])) {
     
    10321043                        $maybe_attach = array_filter((array)$thumbnail_image);
    10331044
    1034                         // Handle attachments
     1045                        // Handle attachments.
    10351046                        if (sizeof($maybe_attach) && apply_filters('wpfm_attach_uploaded_files', true)) {
    10361047
    1037                             // Get attachments
     1048                            // Get attachments.
    10381049                            $attachments     = get_posts('post_parent=' . $post_id . '&post_type=attachment&fields=ids&numberposts=-1');
    10391050                            $attachment_urls = array();
    10401051
    1041                             // Loop attachments already attached to the food
     1052                            // Loop attachments already attached to the food.
    10421053                            foreach ($attachments as $attachment_key => $attachment) {
    10431054                                $attachment_urls[] = wp_get_attachment_url($attachment);
     
    10491060                                    $attachment_id = $WPFM_Add_Food_Form->create_attachment($attachment_url);
    10501061
    1051                                     /*
    1052                     * set first image of banner as a thumbnail
    1053                     */
     1062                                    // Set first image of banner as a thumbnail.
     1063                                       
    10541064                                    if ($key == 0) {
    10551065                                        set_post_thumbnail($post_id, $attachment_id);
     
    10851095                }
    10861096
    1087                 // Other form field's value
     1097                // Other form field's value.
    10881098                switch ($type) {
    10891099                    case 'textarea':
     
    10981108                            $datepicker_date_format = !empty(get_option('date_format')) ? get_option('date_format') : 'F j, Y';
    10991109                            $php_date_format = WPFM_Date_Time::get_view_date_format_from_datepicker_date_format($datepicker_date_format);
    1100                             // Convert date and time value into DB formatted format and save eg. 1970-01-01
     1110                            // Convert date and time value into DB formatted format and save eg. 1970-01-01.
    11011111                            $date_dbformatted = WPFM_Date_Time::date_parse_from_format($php_date_format, $date);
    11021112                            $date_dbformatted = !empty($date_dbformatted) ? $date_dbformatted : $date;
     
    11201130                $nutrition_ids = [];
    11211131
    1122                 // Set Ingredients
     1132                // Set Ingredients.
    11231133                if ($key = 'food_ingredients') {
    11241134                    $taxonomy = 'food_manager_ingredient';
     
    11711181                }
    11721182
    1173                 // Set Nutrition
     1183                // Set Nutrition.
    11741184                if ($key = 'food_nutritions') {
    11751185                    $taxonomy = 'food_manager_nutrition';
     
    12581268                }
    12591269
    1260                 // Food Tags
     1270                // Food Tags.
    12611271                if ($key = 'food_tag') {
    12621272                    if (isset($_POST[$key]) && !empty($_POST[$key])) {
     
    12851295                            if ($find_option !== false) {
    12861296
    1287                                 // Remove from array
     1297                                // Remove from array.
    12881298                                unset($_POST['option_value_count'][$find_option]);
    12891299                            }
     
    13171327                            $toppings_meta[$count]['_' . $key] = isset($_POST[$key . '_' . $count]) && !empty($_POST[$key . '_' . $count]) ? wp_kses_post($_POST[$key . '_' . $count]) : '';
    13181328                        } else {
    1319                             // Toppings Array
     1329                            // Toppings Array.
    13201330                            $toppings_meta[$count]['_' . $key] = isset($_POST[$key . '_' . $count]) && !empty($_POST[$key . '_' . $count]) ? esc_attr($_POST[$key . '_' . $count]) : '';
    13211331                        }
     
    13491359        }
    13501360
    1351         // Update repeated_options meta for the count of toppings
     1361        // Update repeated_options meta for the count of toppings.
    13521362        $repeated_options = isset($_POST['repeated_options']) ? $_POST['repeated_options'] : '';
    13531363        if (is_array($repeated_options)) {
     
    14041414
    14051415    /**
    1406      * Do custom bulk actions
     1416     * Do custom bulk actions.
    14071417     *
    14081418     * @access public
     
    14391449
    14401450    /**
    1441      * Approve a single food
     1451     * Approve a single food.
    14421452     *
    14431453     * @access public
     
    14841494            do_action('wpfm_save_food_data', $post_id, $post, $writepanels->food_manager_data_fields());
    14851495
    1486             // Set Order Menu
     1496            // Set Order Menu.
    14871497            $order_menu = $wpdb->get_results("SELECT menu_order FROM $wpdb->posts WHERE ID = " . intval($post_id));
    14881498            if ($order_menu && $order_menu[0]->menu_order == 0) {
     
    15391549
    15401550    /**
    1541      * Add image field in 'food_manager_type' taxonomy page
     1551     * Add image field in 'food_manager_type' taxonomy page.
    15421552     *
    15431553     * @access public
     
    15601570
    15611571    /**
    1562      * Save the 'food_manager_type' taxonomy image field
     1572     * Save the 'food_manager_type' taxonomy image field.
    15631573     *
    15641574     * @access public
     
    15761586
    15771587    /**
    1578      * Add the image field in edit form page
     1588     * Add the image field in edit form page.
    15791589     *
    15801590     * @access public
     
    16081618
    16091619    /**
    1610      * Update the 'food_manager_type' taxonomy image field
     1620     * Update the 'food_manager_type' taxonomy image field.
    16111621     *
    16121622     * @access public
     
    16251635
    16261636    /**
    1627      * Enqueue the wp_media library
     1637     * Enqueue the wp_media library.
    16281638     *
    16291639     * @access public
     
    16391649
    16401650    /**
    1641      * Custom script
     1651     * Custom script.
    16421652     *
    16431653     * @access public
     
    16981708
    16991709    /**
    1700      * Display new columns values
     1710     * Display new columns values.
    17011711     *
    17021712     * @access public
     
    17161726
    17171727    /**
    1718      * Add image field in 'food_manager_category' taxonomy page
     1728     * Add image field in 'food_manager_category' taxonomy page.
    17191729     *
    17201730     * @access public
     
    17381748
    17391749    /**
    1740      * Save the 'food_manager_category' taxonomy image field
     1750     * Save the 'food_manager_category' taxonomy image field.
    17411751     *
    17421752     * @access public
     
    17541764
    17551765    /**
    1756      * Add the image field in edit form page
     1766     * Add the image field in edit form page.
    17571767     *
    17581768     * @access public
     
    17861796
    17871797    /**
    1788      * Update the 'food_manager_category' taxonomy image field
     1798     * Update the 'food_manager_category' taxonomy image field.
    17891799     *
    17901800     * @access public
     
    18041814
    18051815    /**
    1806      * Enqueue the wp_media library
     1816     * Enqueue the wp_media library.
    18071817     *
    18081818     * @access public
     
    18181828
    18191829    /**
    1820      * Custom script
     1830     * Custom script.
    18211831     *
    18221832     * @access public
     
    18771887
    18781888    /**
    1879      * Display new columns values
     1889     * Display new columns values.
    18801890     *
    18811891     * @access public
     
    19211931
    19221932    /**
    1923      * Register and enqueue scripts and css
     1933     * Register and enqueue scripts and css.
    19241934     *
    19251935     * @access public
     
    19331943        $chosen_used_on_page = has_wpfm_shortcode(null, $chosen_shortcodes);
    19341944
    1935         // jQuery Chosen - vendor
     1945        // jQuery Chosen - vendor.
    19361946        if (apply_filters('food_manager_chosen_enabled', $chosen_used_on_page)) {
    19371947            wp_register_script('chosen', esc_url(WPFM_PLUGIN_URL . '/assets/js/jquery-chosen/chosen.jquery.min.js'), array('jquery'), '1.1.0', true);
    19381948            wp_register_script('wp-food-manager-term-multiselect', esc_url(WPFM_PLUGIN_URL . '/assets/js/term-multiselect.min.js'), array('jquery', 'chosen'), WPFM_VERSION, true);
    1939             wp_register_script('wp-food-manager-term-select-multi-appearance', esc_url(WPFM_PLUGIN_URL . '/assets/js/term-select-multi-appearance.min.js'), array('jquery', 'chosen'), WPFM_VERSION, true);
     1949            wp_register_script('wp-food-manager-term-select-multi-appearance', esc_url(WPFM_PLUGIN_URL . '/assets/js/term-select-multi-appearance.js'), array('jquery', 'chosen'), WPFM_VERSION, true);
    19401950            wp_register_script('wp-food-manager-multiselect', esc_url(WPFM_PLUGIN_URL . '/assets/js/multiselect.min.js'), array('jquery', 'chosen'), WPFM_VERSION, true);
    19411951            wp_enqueue_style('chosen', esc_url(WPFM_PLUGIN_URL . '/assets/css/chosen.min.css'));
     
    19431953        }
    19441954
    1945         // File upload - vendor
     1955        // File upload - vendor.
    19461956        if (apply_filters('wpfm_ajax_file_upload_enabled', true)) {
    19471957            wp_register_script('jquery-iframe-transport', esc_url(WPFM_PLUGIN_URL . '/assets/js/jquery-fileupload/jquery.iframe-transport.min.js'), array('jquery'), '1.8.3', true);
     
    19651975        wp_enqueue_script('jquery-ui-sortable');
    19661976
    1967         // Frontend Css
    1968         wp_enqueue_style('wpfm-frontend', esc_url(WPFM_PLUGIN_URL . '/assets/css/frontend.min.css'));
    1969 
    1970         // Frontend js
     1977        // Frontend Css.
     1978        wp_enqueue_style('wpfm-frontend', esc_url(WPFM_PLUGIN_URL . '/assets/css/frontend.css'));
     1979
     1980        // Frontend js.
    19711981        wp_register_script('wp-food-manager-frontend', esc_url(WPFM_PLUGIN_URL . '/assets/js/frontend.min.js'), array('jquery'), WPFM_VERSION, true);
    19721982        wp_enqueue_script('wp-food-manager-frontend');
    19731983
    1974         // Common js
     1984        // Common js.
    19751985        wp_register_script('wp-food-manager-common', esc_url(WPFM_PLUGIN_URL . '/assets/js/common.min.js'), array('jquery'), WPFM_VERSION, true);
    19761986        wp_enqueue_script('wp-food-manager-common');
    19771987
    1978         // Food submission forms and validation js
     1988        // Food submission forms and validation js.
    19791989        wp_register_script('wp-food-manager-food-submission', esc_url(WPFM_PLUGIN_URL . '/assets/js/food-submission.min.js'), array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), WPFM_VERSION, true);
    19801990        wp_enqueue_script('wp-food-manager-food-submission');
     
    20062016        ));
    20072017
    2008         // Ajax filters js
     2018        // Ajax filters js.
    20092019        wp_register_script('wpfm-ajax-filters', esc_url(WPFM_PLUGIN_URL . '/assets/js/food-ajax-filters.min.js'), $ajax_filter_deps, WPFM_VERSION, true);
    20102020        wp_localize_script('wpfm-ajax-filters', 'wpfm_ajax_filters', array(
     
    20142024        ));
    20152025
    2016         // Dashboard
     2026        // Dashboard.
    20172027        wp_register_script('wp-food-manager-food-dashboard', esc_url(WPFM_PLUGIN_URL . '/assets/js/food-dashboard.min.js'), array('jquery'), WPFM_VERSION, true);
    20182028        wp_localize_script('wp-food-manager-food-dashboard', 'food_manager_food_dashboard', array(
     
    20862096        }
    20872097
    2088         wp_register_script('wpfm-admin', esc_url(WPFM_PLUGIN_URL) . '/assets/js/admin.min.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), WPFM_VERSION, true);
     2098        wp_register_script('wpfm-admin', esc_url(WPFM_PLUGIN_URL) . '/assets/js/admin.js', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'), WPFM_VERSION, true);
    20892099        wp_localize_script(
    20902100            'wpfm-admin',
     
    21302140        wp_enqueue_style('dashicons');
    21312141
    2132         // File upload - vendor
     2142        // File upload - vendor.
    21332143        if (apply_filters('wpfm_ajax_file_upload_enabled', true)) {
    21342144            wp_register_script('jquery-iframe-transport', esc_url(WPFM_PLUGIN_URL) . '/assets/js/jquery-fileupload/jquery.iframe-transport.min.js', array('jquery'), '1.8.3', true);
     
    21932203        switch ($screen->id) {
    21942204            case 'options-permalink':
    2195                 include esc_url(WPFM_PLUGIN_DIR) . '/admin/wpfm-permalink-settings.php';
     2205                $file_path = (WPFM_PLUGIN_DIR).'/admin/wpfm-permalink-settings.php';
     2206                if (file_exists($file_path)) {
     2207                require_once $file_path;
     2208                } else {
     2209                // Handle the case where the file doesn't exist.
     2210                echo "File not found: $file_path";
     2211                }
    21962212                break;
    21972213        }
    2198     }
     2214       
     2215    }
     2216
     2217   
    21992218
    22002219    /**
     
    22582277
    22592278    /**
    2260      * Sends user to the setup page on first activation
     2279     * Sends user to the setup page on first activation.
    22612280     *
    22622281     * @access public
     
    22742293        }
    22752294
    2276         // Bail if no activation redirect transient is set
     2295        // Bail if no activation redirect transient is set.
    22772296        if (!get_transient('_food_manager_activation_redirect')) {
    22782297            return;
     
    22822301        }
    22832302
    2284         // Delete the redirect transient
     2303        // Delete the redirect transient.
    22852304        delete_transient('_food_manager_activation_redirect');
    22862305
    2287         // Bail if activating from network, or bulk, or within an iFrame
     2306        // Bail if activating from network, or bulk, or within an iFrame.
    22882307        if (is_network_admin() || isset($_GET['activate-multi']) || defined('IFRAME_REQUEST')) {
    22892308            return;
     
    23282347
    23292348    /**
    2330      * Callback to set up the metabox
    2331      * Mimicks the traditional hierarchical term metabox, but modified with our nonces 
     2349     * Callback to set up the metabox.
     2350     * Mimicks the traditional hierarchical term metabox, but modified with our nonces.
    23322351     *
    23332352     * @access public
  • wp-food-manager/trunk/includes/wpfm-ajax.php

    r2930934 r3022874  
    44 * This file the functionality of ajax for food listing and file upload.
    55 */
    6 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     6if (!defined('ABSPATH')) exit; // Exit if accessed directly.
    77
    88/**
     
    3434
    3535    /**
    36      * Constructor
     36     * Constructor.
    3737     */
    3838    public function __construct() {
     
    4040
    4141    /**
    42      * Get food Manager Ajax Endpoint
     42     * Get food Manager Ajax Endpoint.
    4343     *
    4444     * @access public
  • wp-food-manager/trunk/includes/wpfm-cache-helper.php

    r2930934 r3022874  
    3939
    4040    /**
    41      * Get transient version
     41     * Get transient version.
    4242     *
    43      * When using transients with unpredictable names, e.g. those containing an md5
    44      * hash in the name, we need a way to invalidate them all at once.
    45      *
    46      * When using default WP transients we're able to do this with a DB query to
    47      * delete transients manually.
    48      *
    49      * With external cache however, this isn't possible. Instead, this function is used
    50      * to append a unique string (based on time()) to each transient. When transients
    51      * are invalidated, the transient version will increment and data will be regenerated.
     43     * When using transients with unpredictable names, e.g. those containing an md5 hash in the name, we need a way to invalidate them all at once.
     44     *
     45     * When using default WP transients we're able to do this with a DB query to delete transients manually.
     46     *
     47     * With external cache however, this isn't possible. Instead, this function is used to append a unique string (based on time()) to each transient. When transients are invalidated, the transient version will increment and data will be regenerated.
    5248     *
    5349     * @static
    54      * @param  string  $group   Name for the group of transients we need to invalidate
    55      * @param  boolean $refresh true to force a new version
    56      * @return string transient version based on time(), 10 digits
     50     * @param  string  $group   Name for the group of transients we need to invalidate.
     51     * @param  boolean $refresh true to force a new version.
     52     * @return string transient version based on time(), 10 digits.
    5753     * @since 1.0.0
    5854     */
     
    8783
    8884    /**
    89      * Get Listings Count from Cache
     85     * Get Listings Count from Cache.
    9086     *
    9187     * @static
    9288     * @param string $post_type
    9389     * @param string $status
    94      * @param bool   $force Force update cache
     90     * @param bool   $force Force update cache.
    9591     * @return int
    9692     */
     
    9995        $user_id   = get_current_user_id();
    10096        $transient = "em_" . sanitize_key($status) . "_" . sanitize_key($post_type) . "_count_user_" . absint($user_id);
    101         // Set listings_count value from cache if exists, otherwise set to 0 as default
     97        // Set listings_count value from cache if exists, otherwise set to 0 as default.
    10298        $status_count = ($cached_count = get_transient($transient)) ? absint($cached_count) : 0;
    10399
    104         // $cached_count will be false if transient does not exist
     100        // $cached_count will be false if transient does not exist.
    105101        if ($cached_count === false || $force) {
    106102            $count_posts = wp_count_posts(sanitize_key($post_type), 'readable');
    107103
    108             // Default to 0 $status if object does not have a value
     104            // Default to 0 $status if object does not have a value.
    109105            $status_count = isset($count_posts->$status) ? absint($count_posts->$status) : 0;
    110106            set_transient($transient, $status_count, DAY_IN_SECONDS * 7);
  • wp-food-manager/trunk/includes/wpfm-category-walker.php

    r2930934 r3022874  
    11<?php
    2 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     2if (!defined('ABSPATH')) exit; // Exit if accessed directly.
    33
    44/**
  • wp-food-manager/trunk/includes/wpfm-custom-post-types.php

    r2930934 r3022874  
    5050
    5151        /**
    52          * Post types
     52         * Post types.
    5353         */
    5454        $singular  = esc_html__('Food', 'wp-food-manager');
     
    117117
    118118        /**
    119          * Feeds
     119         * Feeds.
    120120         */
    121121        add_feed('food_feed', array($this, 'food_feed'));
    122122
    123123        /**
    124          * Post types
     124         * Post types.
    125125         */
    126126        $singular_menu  = esc_html__('Menu', 'wp-food-manager');
     
    176176
    177177        /**
    178          * Post status
     178         * Post status.
    179179         */
    180180        register_post_status('preview', array(
     
    199199            'post_status'         => 'publish',
    200200            'ignore_sticky_posts' => 1,
    201             'posts_per_page'      => isset($_GET['posts_per_page']) ? absint($_GET['posts_per_page']) : 10,
     201            'posts_per_page'      => isset($_GET['posts_per_page']) ? absint($_GET['posts_per_page']) : -1,
    202202            'tax_query'           => array(),
    203203            'meta_query'          => array()
     
    266266
    267267    /**
    268      * In order to make sure that the feed properly queries the 'food_listing' type
     268     * In order to make sure that the feed properly queries the 'food_listing' type.
    269269     *
    270270     * @access public
     
    274274     */
    275275    public function add_feed_query_args($wp) {
    276         // Let's leave if not the food feed
     276        // Let's leave if not the food feed.
    277277        if (!isset($wp->query_vars['feed']) || 'food_feed' !== $wp->query_vars['feed']) {
    278278            return;
     
    292292
    293293    /**
    294      * Add a custom namespace to the food feed
     294     * Add a custom namespace to the food feed.
    295295     *
    296296     * @access public
     
    303303
    304304    /**
    305      * Add custom data to the food feed
     305     * Add custom data to the food feed.
    306306     *
    307307     * @access public
     
    338338
    339339    /**
    340      * Generate location data if a post is updated
     340     * Generate location data if a post is updated.
    341341     *
    342342     * @access public
     
    357357
    358358    /**
    359      * Maybe set menu_order if the featured status of a food is changed
     359     * Maybe set menu_order if the featured status of a food is changed.
    360360     *
    361361     * @access public
     
    383383
    384384    /**
    385      * After importing via WP ALL Import, add default meta data
     385     * After importing via WP ALL Import, add default meta data.
    386386     *
    387387     * @access public
     
    398398
    399399    /**
    400      * When deleting a food, delete its attachments
     400     * When deleting a food, delete its attachments.
    401401     *
    402402     * @access public
  • wp-food-manager/trunk/includes/wpfm-custom-taxonomies.php

    r2930934 r3022874  
    22
    33/**
    4  * Taxonomies
     4 * Taxonomies.
    55 */
    66if (get_option('food_manager_enable_categories', true)) {
  • wp-food-manager/trunk/includes/wpfm-data-cleaner.php

    r2930934 r3022874  
    22
    33/**
    4  * Defines a class with methods for cleaning up plugin data. To be used when
    5  * the plugin is deleted.
     4 * Defines a class with methods for cleaning up plugin data. To be used when the plugin is deleted.
    65 *
    76 * @package Core
     
    7776
    7877    /**
    79      * Transient names (as MySQL regexes) to be deleted. The prefixes
    80      * "_transient_" and "_transient_timeout_" will be prepended.
     78     * Transient names (as MySQL regexes) to be deleted. The prefixes "_transient_" and "_transient_timeout_" will be prepended.
    8179     *
    8280     * @var $transients
     
    381379
    382380    /**
    383      * Cleanup cron jobs. Note that this should be done on deactivation, but
    384      * doing it here as well for safety.
     381     * Cleanup cron jobs. Note that this should be done on deactivation, but doing it here as well for safety.
    385382     *
    386383     * @access private
  • wp-food-manager/trunk/includes/wpfm-date-time.php

    r2930934 r3022874  
    44}
    55/**
    6  * WPFM_Date_Time
     6 * WPFM_Date_Time.
    77 */
    88class WPFM_Date_Time {
     
    3434
    3535    /**
    36      * Get datepicker format function will return all the date formats for datepicker
     36     * Get datepicker format function will return all the date formats for datepicker.
    3737     *
    3838     * @param null
     
    5252
    5353    /**
    54      * Function get_default_date_formats will return all the date formats
    55      * This function has both type of format jquery-ui-datepicker as well as for php date format
    56      *
    57      * @access public
    58      * @return array Date formats
     54     * Function get_default_date_formats will return all the date formats.
     55     * This function has both type of format jquery-ui-datepicker as well as for php date format.
     56     *
     57     * @access public
     58     * @return array Date formats.
    5959     * @since 1.0.0
    6060     **/
     
    7676
    7777    /**
    78      * This function will parse the date to dbformatted date
    79      * Convert date and time value into DB formatted format and save eg. 1970-01-01 00:00:00
    80      * php date format parsing has error so we need to parse via our custom parsing method
     78     * This function will parse the date to dbformatted date.
     79     * Convert date and time value into DB formatted format and save eg. 1970-01-01 00:00:00.
     80     * php date format parsing has error so we need to parse via our custom parsing method.
    8181     * Ref. https://stackoverflow.com/questions/6668223/php-date-parse-from-format-alternative-in-php-5-2
    8282     *
     
    8888     */
    8989    public static function date_parse_from_format($format, $date) {
    90         // reverse engineer date formats
     90        // reverse engineer date formats.
    9191        $keys = array(
    9292            // Year with 4 Digits
     
    124124        );
    125125
    126         // Convert format string to regex
     126        // Convert format string to regex.
    127127        $regex = '';
    128128        $chars = str_split($format);
     
    168168
    169169    /**
    170      * This function will return php formatted date format from datepicker formatted date
    171      * For eg. in date picker date format is yy-mm-dd where this format in php will be Y-m-d
     170     * This function will return php formatted date format from datepicker formatted date.
     171     * For eg. in date picker date format is yy-mm-dd where this format in php will be Y-m-d.
    172172     * So, We need one central function will allow to convert datepicker format in to php formatted format.
    173173     *
     
    188188     * @access public
    189189     * @param string $time time in 24 hour or 12 hour.
    190      * @return string it will return time in DB formatted 24 hours time
     190     * @return string it will return time in DB formatted 24 hours time.
    191191     * @since 1.0.0
    192192     */
     
    201201     * @access public
    202202     * @param string  $date and $time
    203      * @return string it will return time in DB formatted date and time
     203     * @return string it will return time in DB formatted date and time.
    204204     * @since 1.0.0
    205205     */
     
    207207        if (empty($date)) return;
    208208
    209         // Get date and time setting defined in admin panel Food listing -> Settings -> Date & Time formatting
     209        // Get date and time setting defined in admin panel Food listing -> Settings -> Date & Time formatting.
    210210        $datepicker_date_format = self::get_datepicker_format();
    211211
    212         // Covert datepicker format into php date() function date format
     212        // Covert datepicker format into php date() function date format.
    213213        $php_date_format = self::get_view_date_format_from_datepicker_date_format($datepicker_date_format);
    214214        $time = self::get_db_formatted_time($time);
    215215
    216         // Convert date and time value into DB formatted format and save eg. 1970-01-01 00:00:00
     216        // Convert date and time value into DB formatted format and save eg. 1970-01-01 00:00:00.
    217217        $db_date_time = self::date_parse_from_format(esc_attr($php_date_format) . ' H:i:s', esc_attr($date) . ' ' . $time);
    218218        return $db_date_time;
     
    220220
    221221    /**
    222      * Get wp food manager view date format
    223      * This format is set by user from food listing -> settings -> date and time
     222     * Get wp food manager view date format.
     223     * This format is set by user from food listing -> settings -> date and time.
    224224     *
    225225     * @access public
     
    233233
    234234    /**
    235      * Get Wp food manager date admin setting where you can get array of dummy date
    236      * The key of each value will be a php date format which is generated from the get_default_date_formats()
     235     * Get Wp food manager date admin setting where you can get array of dummy date.
     236     * The key of each value will be a php date format which is generated from the get_default_date_formats().
    237237     * It will just make array for dropdown for showing dummy date and key as php formatted so we can save it
    238      * Currentrly it is used at food listing -> settings -> date and time - datepicker format
    239      * In wp food manager settings we don't have way to generate html so we have generated array for select option
     238     * Currentrly it is used at food listing -> settings -> date and time - datepicker format.
     239     * In wp food manager settings we don't have way to generate html so we have generated array for select option.
    240240     *
    241241     * @access public
     
    256256
    257257    /**
    258      * Get food manager timezone setting defined in food listing -> settings
     258     * Get food manager timezone setting defined in food listing -> settings.
    259259     *
    260260     * @access public
     
    284284        if (empty($tzstring)) {
    285285
    286             // Create a UTC+- zone if no timezone string exists
     286            // Create a UTC+- zone if no timezone string exists.
    287287            $check_zone_info = false;
    288288            if (0 == $current_offset)
     
    326326
    327327    /**
    328      * current_timestamp_from_food_timezone will return the current timestamp according to the
    329      * timezone selected in food or passed in argument.
     328     * current_timestamp_from_food_timezone will return the current timestamp according to the timezone selected in food or passed in argument.
    330329     *
    331330     * @access public
    332331     * @param string $food_timezone
    333      * @return int|null Timestamp or null if food_timezone is empty
     332     * @return int|null Timestamp or null if food_timezone is empty.
    334333     * @since 1.0.0
    335334     */
  • wp-food-manager/trunk/includes/wpfm-filter-hooks.php

    r2930934 r3022874  
    11<?php
    2 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     2if (!defined('ABSPATH')) exit; // Exit if accessed directly.
    33
    44/**
     
    3131    /**
    3232     * __construct function.
    33      * get the plugin hooked in and ready
     33     * get the plugin hooked in and ready.
    3434     *
    3535     * @since 1.0.1
    3636     */
    3737    public function __construct() {
    38         // Writepanel's filters
     38        // Writepanel's filters.
    3939        add_filter('manage_food_manager_menu_posts_columns', array($this, 'set_shortcode_copy_columns'));
    4040        add_filter('manage_edit-food_manager_columns', array($this, 'columns'));
     
    4343        add_filter('post_row_actions', array($this, 'row_actions'));
    4444
    45         // wpfm custom post-types
     45        // wpfm custom post-types.
    4646        add_filter('the_content', array($this, 'food_content'));
    4747        add_filter('the_content', array($this, 'food_menu_content'));
     
    5050        add_filter('wp_insert_post_data', array($this, 'fix_post_name'), 10, 2);
    5151
    52         // wpfm functions
     52        // wpfm functions.
    5353        add_filter('upload_dir', array($this, 'upload_dir'));
    5454        add_filter('wp_terms_checklist_args', 'wpfm_term_radio_checklist_for_food_type');
     
    5656        add_filter('manage_edit-food_manager_category_columns', array($this, 'display_custom_taxonomy_image_column_heading_for_food_category'));
    5757
    58         // wpfm core file
     58        // wpfm core file.
    5959        add_filter('pre_option_wpfm_enable_categories', '__return_true');
    6060        add_filter('pre_option_wpfm_enable_food_types', '__return_true');
     
    132132
    133133    /**
    134      * Fix post name when wp_update_post changes it
     134     * Fix post name when wp_update_post changes it.
    135135     *
    136136     * @access public
     
    181181
    182182    /**
    183      * Add Food menu content
     183     * Add Food menu content.
    184184     *
    185185     * @access public
     
    209209
    210210    /**
    211      * Add extra content when showing food content
     211     * Add extra content when showing food content.
    212212     *
    213213     * @access public
     
    254254
    255255    /**
    256      * column Sortable
     256     * column Sortable.
    257257     *
    258258     * @access public
     
    268268
    269269    /**
    270      * Custom columns
     270     * Custom columns.
    271271     *
    272272     * @access public
     
    293293
    294294    /**
    295      * Set Copy Shortcode
     295     * Set Copy Shortcode.
    296296     *
    297297     * @access public
     
    302302    public function set_shortcode_copy_columns($columns) {
    303303        $columns['shortcode'] = __('Shortcode', 'wp-food-manager');
     304        $columns['thumbnail'] = __('Images', 'wp-food-manager');
    304305        return $columns;
    305306    }
  • wp-food-manager/trunk/includes/wpfm-install.php

    r2930934 r3022874  
    88
    99    /**
    10      * Install WP Food Manager
     10     * Install WP Food Manager.
    1111     *
    1212     * @access public
     
    1919        self::default_terms();
    2020
    21         // Redirect to setup screen for new installs
     21        // Redirect to setup screen for new installs.
    2222        if (!get_option('food_manager_version')) {
    2323            set_transient('_food_manager_activation_redirect', 1, HOUR_IN_SECONDS);
     
    2929        }
    3030
    31         // Update legacy options
     31        // Update legacy options.
    3232        if (false === get_option('food_manager_add_food_page_id', false) && get_option('food_manager_submit_page_slug')) {
    3333            $page_id = get_page_by_path(esc_sql(get_option('food_manager_submit_page_slug')))->ID;
     
    4545
    4646    /**
    47      * Update WP Food Manager
     47     * Update WP Food Manager.
    4848     *
    4949     * @access public
     
    5454        global $wpdb;
    5555
    56         // 1.0.0 change field option name
     56        // 1.0.0 change field option name.
    5757        if (!empty(get_option('food_manager_form_fields', true))) {
    5858            $all_fields = get_option('food_manager_form_fields', true);
     
    7272
    7373    /**
    74      * Init user roles
     74     * Init user roles.
    7575     *
    7676     * @access private
     
    9999
    100100    /**
    101      * Get the core capabilities
     101     * Get the core capabilities.
    102102     *
    103103     * @access private
  • wp-food-manager/trunk/readme.txt

    r2968555 r3022874  
    55Tags:  food menu, restaurant menu, food ordering, restaurant, table reservation, food delivery, food pickup, cafe menu, food order,food,menu
    66Requires at least: 5.0
    7 Tested up to: 6.3.1
    8 Stable tag: 1.0.4
     7Tested up to: 6.4.2
     8Stable tag: 1.0.5
    99Requires PHP: 5.6
    1010License: GPLv3
     
    200200
    201201== Changelog ==
     202
     203= 1.0.5 [ 26th Dec 2023 ] =
     204
     205Fixed : Issue related to add to cart option is resolved
     206Fixed : Issues related to food description editor options formatting is resolved on food detail page
     207Fixed: Added dependency related to food menu on other add-ons
     208Fixed : Food listing page issue is resolved when no filter is available.
     209Fixed : The title of the food listing page is made dynamic.
     210Fixed : Code for the gallery addon is added on the food dashboard
     211Fixed : RSS can load 10 food items from the food listing page.
     212Fixed : Editing of food nutrition and ingredients is now displayed after updating it from the frontside.
     213Fixed : Vertical menu is added in the food dashboard on the frontside.
     214Fixed : Images of the menu are visible on the frontside.
     215Fixed : A hook is added in the Online Order addon.
     216Fixed : Food Listing frontside page UI is changed.
     217Fixed : Topping is visible on the frontside even if there is no value added in a row.
     218Fixed : Tooltip is removed from everywhere on the frontside.
     219Fixed : Properly aligned all the food details on the food listing page at frontside.
     220Fixed : Thumbnail image field is added at the admin side of the food item in the menu list page.
     221Fixed : Vertical menu on the food dashboard page is properly displayed at the frontside.
     222Fixed : A warning message issue is fixed for a food item with no pricing in the menu.
     223Fixed : Menu is now appearing properly on the restaurant detail page.
     224Fixed : Issue related to adding nutrition and ingredients is fixed.
     225Fixed : Stock status error is resolved on the admin side.
     226Fixed : Different font sizes for add/edit title are added in the food field option at the frontside.
     227Fixed : Frontside Tag is now working at cloning time
     228Fixed : Issue related to finding a matching record at the frontside of the food page while filtering is now solved.
     229Fixed : Pagination of the food dashboard is now working properly at frontside.
     230Fixed : Warning message to add topping on the food detail page is now resolved.
     231Fixed : File related to the time field is added.
     232Fixed : Issue with the UI of the field editor’s date format is fixed at the admin side.
     233Fixed : No more warnings on the food detail page when using toppings.
     234Fixed : Nutrition and Ingredients are now accepting the decimal value
     235Fixed : Youtube channel link is added in the setup wizard and setting tab.
     236Fixed : Issue related to adding or editing the food option with various themes is fixed from the frontside.
     237Fixed : Load More option is not showing duplicate images anymore on the food listing page at the frontside.
     238Fixed : Enable Ingredient & Nutrition options are working on the Add Food page of the frontside.
     239Fixed : Error related to Permalink time setting is fixed on the admin side.
     240Fixed : No more warnings are appearing during the debug log at the frontside of the Adding Food page.
     241Fixed : Extra topping design of the title is fixed on the frontend side.
     242Fixed : Add to cart option is now appearing properly at the frontside Add to cart even if the food item is not selected.
     243Fixed : Issue with the display of time in Food Edit on frontside is resolved
    202244
    203245= 1.0.4 [ 26th July 2023 ] =
  • wp-food-manager/trunk/shortcodes/wpfm-shortcodes.php

    r2930934 r3022874  
    55 * This file include shortcode of food listing, food submit form, and food dashboard, etc.
    66 */
    7 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     7if (!defined('ABSPATH')) exit; // Exit if accessed directly.
    88
    99/**
     
    4848
    4949    /**
    50      * Show the food submission form
     50     * Show the food submission form.
    5151     *
    5252     * @access public
     
    5959
    6060    /**
    61      * Handles actions on food dashboard
     61     * Handles actions on food dashboard.
    6262     *
    6363     * @access public
     
    7070            $food_id = absint($_REQUEST['food_id']);
    7171            try {
    72                 // Get food
     72                // Get food.
    7373                $food    = get_post($food_id);
    74                 // Check ownership
     74                // Check ownership.
    7575                if (!food_manager_user_can_edit_food($food_id)) {
    7676                    throw new Exception(__('Invalid ID', 'wp-food-manager'));
     
    7979                    case 'delete':
    8080                        $foods_status = get_post_status($food_id);
    81                         // Trash it
     81                        // Trash it.
    8282                        wp_trash_post($food_id);
    83                         // Message
     83                        // Message.
    8484                        if (!in_array($foods_status, ['trash'])) {
    8585                            $this->food_dashboard_message = '<div class="food-manager-message wpfm-alert wpfm-alert-danger">' . sprintf(__('%s has been deleted.', 'wp-food-manager'), esc_html($food->post_title)) . '</div>';
     
    9797                        break;
    9898                    case 'relist':
    99                         // redirect to post page
     99                        // redirect to post page.
    100100                        wp_redirect(add_query_arg(array('food_id' => absint($food_id)), food_manager_get_permalink('add_food')));
    101101                        break;
     
    112112
    113113    /**
    114      * Handle actions which need to be run before the shortcode e.g. post actions
     114     * Handle actions which need to be run before the shortcode e.g. post actions.
    115115     *
    116116     * @access public
     
    125125
    126126    /**
    127      * Shortcode which lists the logged-in user's foods
     127     * Shortcode which lists the logged-in user's foods.
    128128     *
    129129     * @access public
     
    150150        if (!empty($_REQUEST['action'])) {
    151151            $action = sanitize_title($_REQUEST['action']);
    152             // Show alternative content if a plugin wants to
     152            // Show alternative content if a plugin wants to.
    153153            if (has_action('food_manager_food_dashboard_content_' . $action)) {
    154154                do_action('food_manager_food_dashboard_content_' . $action, $atts);
     
    167167        }
    168168
    169         // If not show the food dashboard
     169        // If not show the food dashboard.
    170170        $args = apply_filters('food_manager_get_dashboard_foods_args', array(
    171171            'post_type'           => 'food_manager',
     
    236236        extract($atts = shortcode_atts(apply_filters('food_manager_output_foods_defaults', array(
    237237            'per_page'                  => get_option('food_manager_per_page'),
    238             'orderby'                   => 'menu_order', // meta_value
     238            'orderby'                   => 'meta_value', // meta_value
    239239            'order'                     => 'ASC',
    240240            // Filters + cats
     
    248248            'show_pagination'           => false,
    249249            'show_more'                 => true,
    250             // Limit what foods are shown based on category and type
     250            // Limit what foods are shown based on category and type.
    251251            'categories'                => '',
    252252            'food_types'               => '',
    253253            'featured'                  => null, // True to show only featured, false to hide featured, leave null to show both.
    254254            'cancelled'                 => null, // True to show only cancelled, false to hide cancelled, leave null to show both/use the settings.
    255             // Default values for filters
     255            // Default values for filters.
    256256            'location'                  => '',
    257257            'keywords'                  => '',
    258258            'selected_category'         => '',
    259             'selected_food_type'       => '',
    260             'layout_type'      => 'all',
     259            'selected_food_type'        => '',
     260            'layout_type'               => 'all',
     261            'title'                     => __('Foods', 'wp-food-manager'),
    261262        )), $atts));
    262263
    263         //Categories
     264        //Categories.
    264265        if (!get_option('food_manager_enable_categories')) {
    265266            $show_categories = false;
    266267        }
    267268
    268         //food types
     269        //food types.
    269270        if (!get_option('food_manager_enable_food_types')) {
    270271            $show_food_types = false;
    271272        }
    272273
    273         //food tags
     274        //food tags.
    274275        if (!get_option('food_manager_enable_food_tags')) {
    275276            $show_food_tags = false;
    276277        }
    277278
    278         // String and bool handling
     279        // String and bool handling.
    279280        $show_filters              = $this->string_to_bool($show_filters);
    280281        $show_categories           = $this->string_to_bool($show_categories);
     
    286287        $show_pagination           = $this->string_to_bool($show_pagination);
    287288
    288         // Order by meta value and it will take default sort order by start date of food
     289        // Order by meta value and it will take default sort order by start date of food.
    289290        if (is_null($orderby) || empty($orderby)) {
    290             $orderby  = 'menu_order'; //meta_value
     291            $orderby  = 'meta_value'; //meta_value
    291292        }
    292293
     
    299300        }
    300301
    301         // Array handling
     302        // Array handling.
    302303        $categories           = is_array($categories) ? $categories : array_filter(array_map('trim', explode(',', $categories)));
    303304        $food_types          = is_array($food_types) ? $food_types : array_filter(array_map('trim', explode(',', $food_types)));
    304305
    305         // Get keywords, location, category and food type from query string if set
     306        // Get keywords, location, category and food type from query string if set.
    306307        if (!empty($_GET['search_keywords'])) {
    307308            $keywords = sanitize_text_field($_GET['search_keywords']);
     
    335336                'keywords' => $keywords,
    336337            ));
    337             get_food_manager_template('food-listings-start.php', array('layout_type' => $layout_type));
     338            get_food_manager_template('food-listings-start.php', array('layout_type' => $layout_type, 'title' => $title));
    338339            get_food_manager_template('food-listings-end.php');
    339340            if (!$show_pagination && $show_more) {
     
    341342            }
    342343        } else {
    343             $foods = get_food_managers(apply_filters('food_manager_output_foods_args', array(
     344            $foods = get_food_listings(apply_filters('food_manager_output_foods_args', array(
    344345                'search_keywords'   => $keywords,
    345346                'search_categories' => $categories,
     
    400401
    401402    /**
    402      * Output content of food categories
     403     * Output content of food categories.
    403404     *
    404405     * @access public
     
    416417
    417418    /**
    418      * Output content of food types
     419     * Output content of food types.
    419420     *
    420421     * @access public
     
    433434
    434435    /**
    435      * Get string as a bool
     436     * Get string as a bool.
    436437     *
    437438     * @access public
     
    481482
    482483    /**
    483      * food Summary shortcode
     484     * food Summary shortcode.
    484485     *
    485486     * @access public
     
    523524
    524525    /**
    525      * output food menu by menu id
     526     * output food menu by menu id.
    526527     *
    527528     * @access public
  • wp-food-manager/trunk/templates/content-food_manager.php

    r2930934 r3022874  
    2222                        <div class="wpfm-food-details">
    2323                            <div class="wpfm-food-title">
    24                                 <h3 class="wpfm-heading-text"><?php echo esc_html(get_the_title()); ?></h3>
    25                                 <div class="wpfm-food-price"><?php display_food_price_tag(); ?></div>
     24                                <h3 class="wpfm-heading-text"><?php echo esc_html(get_the_title()); ?> <?php display_food_veg_nonveg_icon_tag(); ?></h3>
    2625                            </div>
    27                             <div class="wpfm-food-type-flex-container">
     26                            <div class="wpfm-food-price"><?php display_food_price_tag(); ?></div>
     27                            <!-- <div class="wpfm-food-type-flex-container">
    2828                                <?php
    2929                                if (get_option('food_manager_enable_food_types') && get_food_type()) {
     
    3131                                    <div class="wpfm-food-type"><?php display_food_type(); ?></div>
    3232                                <?php } ?>
    33                                 <?php display_food_veg_nonveg_icon_tag(); ?>
    34                             </div>
     33                            </div> -->
    3534                            <?php do_action('food_list_overview_after'); ?>
    3635                        </div>
     
    4645        <div class="wpfm-food-layout-wrapper">
    4746            <div <?php food_manager_class(''); ?>>
    48                 <a href="<?php display_food_permalink(); ?>" class="wpfm-food-action-url food-style-color <?php echo esc_attr($food_type); ?>">
     47                <a href="<?php display_food_permalink(); ?>" class="wpfm-food-action-url food-style-color <?php echo esc_attr($food_type); ?>"> 
    4948                    <div class="wpfm-food-banner">
    5049                        <div class="wpfm-food-banner-img" style="background-image: url('<?php echo esc_url($food_thumbnail) ?>')"></div>
    5150                    </div>
     51                </a>
    5252                    <div class="wpfm-food-infomation">
    5353                        <div class="wpfm-food-details">
    54                             <?php if (get_stock_status() == 'fm_outofstock') { ?>
    55                                 <div class="food-stock-status">
    56                                     <?php display_stock_status(); ?>
     54                            <a href="<?php display_food_permalink(); ?>" class="wpfm-food-action-url food-style-color <?php echo esc_attr($food_type); ?>">
     55                                <?php if (get_stock_status() == 'fm_outofstock') { ?>
     56                                    <div class="food-stock-status">
     57                                        <?php display_stock_status(); ?>
     58                                    </div>
     59                                <?php } ?>
     60                                <div class="wpfm-food-title">
     61                                    <h3 class="wpfm-heading-text">
     62                                        <?php
     63                                        $out = strlen(get_the_title()) > 50 ? substr(get_the_title(), 0, 50) . "..." : get_the_title();
     64                                        echo esc_html($out); ?>  <?php display_food_veg_nonveg_icon_tag(); ?></h3>
     65                                       
    5766                                </div>
    58                             <?php } ?>
    59                             <div class="wpfm-food-title">
    60                                 <h3 class="wpfm-heading-text">
    61                                     <?php
    62                                     $out = strlen(get_the_title()) > 50 ? substr(get_the_title(), 0, 50) . "..." : get_the_title();
    63                                     echo esc_html($out); ?> </h3>
    6467                                <div class="wpfm-food-price"><?php display_food_price_tag(); ?></div>
    65                             </div>
    66                             <div class="wpfm-food-type-flex-container">
    67                                 <?php
     68                            </a>                               
     69                            <!--<div class="wpfm-food-type-flex-container">
     70                                 <?php
    6871                                if (get_option('food_manager_enable_food_types') && get_food_type()) {
    6972                                ?>
    7073                                    <div class="wpfm-food-type"><?php display_food_type(); ?></div>
    71                                 <?php } ?>
    72                                 <?php display_food_veg_nonveg_icon_tag(); ?>
    73                             </div>
     74                                <?php } ?> 
     75                               
     76                            </div>-->
    7477                            <?php do_action('food_list_overview_after'); ?>
    7578                        </div>
    7679                    </div>
    77                 </a>
     80               
    7881            </div>
    7982        </div>
    8083    </div>
    81 <?php }
     84<?php
     85}
  • wp-food-manager/trunk/templates/content-single-food_manager.php

    r2930934 r3022874  
    1313        <?php else :
    1414            /**
    15              * single_food_listing_start hook
     15             * single_food_listing_start hook.
    1616             */
    1717            do_action('single_food_listing_start');
     
    9797                                    </div>
    9898                                <?php endif; ?>
    99                             </div>
    100                             <form class="wpfm-single-food-body-content wpfm-toppings" method="post" action="">
     99                           
     100                            <form class="wpfm-toppings" id="wpfm_single_food_topping_form" method="post" action="" data-product-attribute='<?php echo apply_filters( 'wpfm_food_toppings_form_variation', '' ); ?>'>
    101101                                <?php
    102102                                $ext_options = get_post_meta(get_the_ID(), '_food_toppings', true);
     
    136136                                            $field_required = '';
    137137                                            echo "<div class='wpfm-input-field-common " . esc_attr($more_class) . "'>";
    138                                             echo '<label for="' . esc_attr(str_replace(" ", "-", strtolower($ext_option['_topping_name']))) . '"><strong>' . esc_html($ext_option['_topping_name']) . '</strong></label>';
    139                                             if (!empty($ext_option['_topping_description'])) {
     138                                            echo '<h4 class="wpfm-heading-text">' . esc_html($ext_option['_topping_name']) . '';
     139                                            if( isset($ext_option['_topping_required']) && $ext_option['_topping_required'] === 'yes') {
     140                                                echo '<span class="wpfm-require-mark"> *</span></h4>';
     141                                            } else {
     142                                                echo '</h4>';
     143                                            }
     144                                            if( isset($ext_option['_topping_description']) && !empty($ext_option['_topping_description'])) {
    140145                                                echo '<div class="wpfm-input-description">' . wp_kses_post($ext_option['_topping_description']) . '</div>';
    141146                                            }
     
    189194                                ?>
    190195                            </form>
     196                            <?php echo do_action('food_manager_addons_html');?>
     197                            </div>
    191198                            <!-- Additional Info Block Start -->
    192199                            <?php
     
    616623            <!-- Main if condition end -->
    617624            </div>
    618             <!-- / wpfm-wrapper end  -->
     625            <!-- / wpfm-wrapper end -->
    619626    </div>
    620     <!-- / wpfm-main end  -->
     627    <!-- / wpfm-main end -->
    621628</div>
     629
     630<!-- add to cart notification -->
     631<?php do_action('wpfm_food_manager_single_food_listing_after'); ?>
     632
    622633<!-- override the script if needed -->
    623634<script type="text/javascript">
  • wp-food-manager/trunk/templates/content-single-food_manager_menu.php

    r2930934 r3022874  
    11<?php
    22global $post;
     3//echo $post->ID;
    34$featured_img_url = get_the_post_thumbnail_url(get_the_ID(), 'full');
    45if (isset($featured_img_url) && empty($featured_img_url)) {
     
    78    $featured_img_url = get_the_post_thumbnail_url(get_the_ID(), 'full');
    89}
     10
    911$term = get_queried_object();
    1012$term_id = !empty($term) ? get_post_meta($term->ID, '_food_item_cat_ids', true) : '';
     
    1214$image_id = !empty($term_id) ? get_term_meta($term_id[0], 'food_cat_image_id', true) : '';
    1315$image_url = wp_get_attachment_image_src($image_id, 'full');
     16
     17
     18if ( 'food_manager_menu' == get_post_type() ) {
     19    $featured_img_url = get_the_post_thumbnail_url(get_the_ID(), 'full');
     20} elseif(isset($menu_id) && !empty($menu_id) ) {
     21    $featured_img_url = get_the_post_thumbnail_url($menu_id, 'full');
     22}
    1423?>
    15 <div class="wpfm-main wpfm-single-food-menu-page">
    16     <?php if (!empty($featured_img_url)) : ?>
    17         <div class="wpfm-single-food-image">
    18             <img itemprop="image" content="<?php echo esc_url($featured_img_url); ?>" src="<?php echo esc_url($featured_img_url); ?>" alt="">
    19         </div>
    20     <?php endif; ?>
    21     <?php the_content(); ?>
    22     <h3>
    23         <?php the_title();
    24         $wpfm_radio_icons = get_post_meta(get_the_ID(), 'wpfm_radio_icons', true);
    25         $without_food_str = str_replace("wpfm-menu-", "", $wpfm_radio_icons);
    26         $without_dashicons_str = str_replace("dashicons-", "", $wpfm_radio_icons);
    27         $data_food_menu = ucwords(str_replace("-", " ", $without_dashicons_str));
    28         $data_food_menu2 = ucwords(str_replace("-", " ", $without_food_str));
    29         if (wpfm_begnWith($wpfm_radio_icons, "dashicons")) {
    30             if ($wpfm_radio_icons) {
    31                 echo "<span class='wpfm-front-radio-icon food-icon' data-food-menu='" . esc_attr($data_food_menu2) . "'><span class='wpfm-menu dashicons " . esc_attr($wpfm_radio_icons) . "'></span></span>";
    32             }
    33         } else {
    34             if ($wpfm_radio_icons) {
    35                 if ($wpfm_radio_icons == 'wpfm-menu-fast-cart') {
    36                     echo '<span class="wpfm-front-radio-icon food-icon" data-food-menu="' . esc_attr($data_food_menu2) . '"><span class="wpfm-menu ' . esc_attr($wpfm_radio_icons) . '"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span></span></span>';
    37                 } elseif ($wpfm_radio_icons == 'wpfm-menu-rice-bowl') {
    38                     echo '<span class="wpfm-front-radio-icon food-icon" data-food-menu="' . esc_attr($data_food_menu2) . '"><span class="wpfm-menu ' . esc_attr($wpfm_radio_icons) . '"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></span></span>';
    39                 } else {
    40                     echo "<span class='wpfm-front-radio-icon food-icon' data-food-menu='" . esc_attr($data_food_menu2) . "'><span class='wpfm-menu " . esc_attr($wpfm_radio_icons) . "'></span></span>";
     24
     25<div class="wpfm-main wpfm-single-food-menu-page wpfm-accordion-body">
     26
     27    <?php if ( 'food_manager_menu' == get_post_type() ) {
     28        the_content(); ?>
     29        <h3>
     30            <?php the_title();
     31            $wpfm_radio_icons = get_post_meta(get_the_ID(), 'wpfm_radio_icons', true);
     32            $without_food_str = str_replace("wpfm-menu-", "", $wpfm_radio_icons);
     33            $without_dashicons_str = str_replace("dashicons-", "", $wpfm_radio_icons);
     34            $data_food_menu = ucwords(str_replace("-", " ", $without_dashicons_str));
     35            $data_food_menu2 = ucwords(str_replace("-", " ", $without_food_str));
     36            if (wpfm_begnWith($wpfm_radio_icons, "dashicons")) {
     37                if ($wpfm_radio_icons) {
     38                    echo "<span class='wpfm-front-radio-icon food-icon' data-food-menu='" . esc_attr($data_food_menu2) . "'><span class='wpfm-menu dashicons " . esc_attr($wpfm_radio_icons) . "'></span></span>";
     39                }
     40            } else {
     41                if ($wpfm_radio_icons) {
     42                    if ($wpfm_radio_icons == 'wpfm-menu-fast-cart') {
     43                        echo '<span class="wpfm-front-radio-icon food-icon" data-food-menu="' . esc_attr($data_food_menu2) . '"><span class="wpfm-menu ' . esc_attr($wpfm_radio_icons) . '"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span></span></span>';
     44                    } elseif ($wpfm_radio_icons == 'wpfm-menu-rice-bowl') {
     45                        echo '<span class="wpfm-front-radio-icon food-icon" data-food-menu="' . esc_attr($data_food_menu2) . '"><span class="wpfm-menu ' . esc_attr($wpfm_radio_icons) . '"><span class="path1"></span><span class "path2"></span><span class="path3"></span><span class="path4"></span></span></span>';
     46                    } else {
     47                        echo "<span class 'wpfm-front-radio-icon food-icon' data-food-menu='" . esc_attr($data_food_menu2) . "'><span class='wpfm-menu " . esc_attr($wpfm_radio_icons) . "'></span></span>";
     48                    }
    4149                }
    4250            }
    43         }
    44         ?>
    45     </h3>
    46     <?php
     51            ?>
     52        </h3>
     53    <?php }
    4754    if (!empty($featured_img_url)) {
    48         echo "<div class='wpfm-single-food-menu-category-banner' style='display: none;'>";
     55        echo "<div class='wpfm-single-food-menu-category-banner'>";
    4956        echo "<div class='wpfm-single-food-menu-category-title'>" . esc_html($term_name) . "</div>";
    5057        echo "<img src='" . esc_url($featured_img_url) . "' alt='" . esc_attr($term_name) . "'>";
     
    5562        echo "<img src='" . esc_url($image_url[0]) . "' alt='" . esc_attr($term_name) . "'>";
    5663        echo "</div>";
    57     } else {
     64    } elseif (!empty($term_name) && is_array($term_name)) {
    5865        echo "<h2>" . esc_html($term_name) . "</h2>";
    5966    }
    60     $po_ids = get_post_meta($post->ID, '_food_item_ids', true);
     67
     68    if ( 'food_manager_menu' == get_post_type() ) {
     69        $po_ids = get_post_meta($post->ID, '_food_item_ids', true);
     70    } elseif(isset($menu_id) && !empty($menu_id) ){
     71        $po_ids = get_post_meta($menu_id, '_food_item_ids', true);
     72    }
     73
     74   
    6175    if (!empty($po_ids)) {
    6276        $food_listings = get_posts(array(
     
    7488            $sale_price = get_post_meta($food_listing->ID, '_food_sale_price', true);
    7589            $regular_price = get_post_meta($food_listing->ID, '_food_price', true);
     90           
     91            $formatted_sale_price = ''; // Initialize the variable
     92            $formatted_regular_price = ''; // Initialize the variable
     93
    7694            if (!empty($sale_price)) {
    7795                $formatted_sale_price = number_format($sale_price, $price_decimals, $price_decimal_separator, $price_thousand_separator);
     
    87105            echo "<div class='fm-food-menu-title'><strong>" . esc_html($food_listing->post_title) . "</strong></div>";
    88106            echo "<div class='fm-food-menu-pricing'>";
     107
    89108            if (!empty($regular_price) && !empty($sale_price)) {
    90109                $f_regular_price = sprintf($price_format, '<span class="food-manager-Price-currencySymbol">' . esc_html(get_food_manager_currency_symbol()) . '</span>', $formatted_sale_price);
    91110                $f_sale_price = sprintf($price_format, '<span class="food-manager-Price-currencySymbol">' . esc_html(get_food_manager_currency_symbol()) . '</span>', $formatted_regular_price);
    92                 echo "<del> " . $f_sale_price . "</del> <ins><span class='food-manager-Price-currencySymbol'><strong>" . $f_regular_price . "</strong></ins>";
    93             }
    94             if (empty($sale_price)) {
     111                echo "<del> " . $f_sale_price . "</del> <ins><span class='food-manager-Price-currencySymbol'><strong>" . $f_regular_price . "</strong></span></ins>";
     112            } elseif (!empty($regular_price)) {
    95113                echo sprintf($price_format, '<span class="food-manager-Price-currencySymbol">' . esc_html(get_food_manager_currency_symbol()) . '</span>', $formatted_regular_price);
    96114            }
    97115            echo "</div>";
    98             echo "<a>";
     116            echo "</a>";
    99117            echo $menu_food_desc;
     118            do_action('food_menu_list_overview_after', $food_listing->ID);
    100119            echo "</div>";
    101120        }
     
    104123    ?>
    105124</div>
     125<!-- add to cart notification -->
     126<?php do_action('wpfm_food_manager_food_menu_listing_after'); ?>
  • wp-food-manager/trunk/templates/food-dashboard.php

    r2930934 r3022874  
    33<div id="food-manager-food-dashboard">
    44    <div class="wpfm-dashboard-main-header">
    5         <div class="wpfm-dashboard-main-title wpfm-dashboard-main-filter">
    6             <h3 class="wpfm-theme-text"><?php esc_html_e('Food Dashboard', 'wp-food-manager'); ?></h3>
    7             <div class="wpfm-d-inline-block wpfm-dashboard-i-block-btn">
    8 
    9                 <?php do_action('food_manager_food_dashboard_button_action_start'); ?>
    10                 <?php if (isset($_GET['search_keywords']) || !empty($_GET['search_keywords'])) { ?>
    11                     <a href="<?php echo esc_url(get_permalink()); ?>" class="reset" title="<?php esc_attr_e('Reset Filter', 'wp-food-manager'); ?>" style="margin-right: 5px;"><?php esc_html_e('Reset', 'wp-food-manager'); ?></a>
    12                 <?php }
    13 
    14                 $add_food = get_option('food_manager_add_food_page_id');
    15                 if (!empty($add_food)) : ?>
    16                     <a class="wpfm-dashboard-header-btn wpfm-dashboard-header-add-btn" title="<?php esc_attr_e('Add Food', 'wp-food-manager'); ?>" href="<?php echo esc_url(get_permalink($add_food)); ?>"><i class="wpfm-icon-plus"></i></a>
    17                 <?php endif; ?>
    18 
    19                 <?php do_action('food_manager_food_dashboard_button_action_end'); ?>
    20 
    21                 <a href="javascript:void(0)" title="<?php esc_attr_e('Filter', 'wp-food-manager'); ?>" class="wpfm-dashboard-food-filter wpfm-dashboard-header-btn"><i class="wpfm-icon-filter"></i></a>
    22             </div>
    23         </div>
    24         <?php
    25         $_GET = array_map('stripslashes_deep', $_GET);
    26         $search_keywords  = isset($_GET['search_keywords']) ? sanitize_text_field($_GET['search_keywords']) : '';
    27         $search_order_by  = isset($_GET['search_order_by']) ? sanitize_text_field($_GET['search_order_by']) : '';
    28         $display_block = '';
    29 
    30         if (!empty($search_keywords) || !empty($search_order_by)) {
    31             $display_block = 'wpfm-d-block';
    32         }
    33         ?>
    34         <form action="<?php echo esc_url(get_permalink(get_the_ID())); ?>" method="get" class="wpfm-form-wrapper wpfm-food-dashboard-filter-toggle wpfm-dashboard-main-filter-block <?php echo esc_attr($display_block); ?>">
    35             <div class="wpfm-foods-filter">
    36                 <?php do_action('food_manager_food_dashboard_food_filter_start'); ?>
    37 
    38                 <div class="wpfm-foods-filter-block">
    39                     <?php $search_keywords = isset($_GET['search_keywords']) ? $_GET['search_keywords'] : ''; ?>
    40                     <div class="wpfm-form-group"><input name="search_keywords" id="search_keywords" type="text" value="<?php echo esc_attr($search_keywords); ?>" placeholder="<?php esc_attr_e('Keywords', 'wp-food-manager'); ?>"></div>
    41                 </div>
    42                 <div class="wpfm-foods-filter-block">
    43                     <div class="wpfm-form-group">
    44                         <select name="search_order_by" id="search_order_by">
    45                             <option value=""><?php esc_html_e('Order by', 'wp-food-manager'); ?></option>
    46                             <?php
    47                             foreach (get_food_order_by() as $order_by) : ?>
    48                                 <?php if (isset($order_by['type']) && !empty($order_by['type'])) : ?>
    49                                     <optgroup label="<?php echo esc_html($order_by['label']); ?>">
    50                                         <?php foreach ($order_by['type'] as $order_key => $order_value) : ?>
    51                                             <option value="<?php echo esc_attr($order_key); ?>" <?php selected($order_key, $search_order_by); ?>><?php echo esc_html($order_value); ?></option>
    52                                         <?php endforeach; ?>
    53                                     </optgroup>
    54                                 <?php endif; ?>
    55                             <?php endforeach; ?>
    56                         </select>
    57                     </div>
    58                 </div>
    59 
    60                 <?php do_action('food_manager_food_dashboard_food_filter_end'); ?>
    61                 <div class="wpfm-foods-filter-block wpfm-foods-filter-submit">
    62                     <div class="wpfm-form-group">
    63                         <button type="submit" class="wpfm-theme-button"><?php esc_html_e('Filter', 'wp-food-manager'); ?></button>
    64                     </div>
     5        <!-- Vertical Menu Start-->
     6        <div class="wpfm-main-vmenu-dashboard-wrapper wpfm-row">
     7            <div class="wpfm-main-vmenu-dashboard-nav-menu wpfm-col-md-3">
     8                <div class="wpfm-main-vmenu-dashboard-nav" id="wpfm-main-vmenu-dashboard-nav">
     9                    <ul class="wpfm-main-vmenu-dashboard-ul">
     10                        <?php
     11                        $current_action = isset($_GET['action']) ? sanitize_title( $_GET['action'] ): 'food_dashboard';
     12                        $menus = [
     13                            'food_dashboard' => [
     14                                'title' => __('Foods', 'wp-food-manager'),
     15                                'icon' => 'wpfm-icon-meter',
     16                                'query_arg' => ['action' => 'food_dashboard'],
     17                            ],
     18                        ];
     19                        $menus = apply_filters( 'wp_food_manager_dashboard_menu', $menus );
     20                        $food_dashboard = get_option('food_manager_food_dashboard_page_id');
     21
     22                        foreach ($menus as $name => $menu) {
     23                            if (isset($menu['submenu']) && !empty($menu['submenu'])) {
     24                                $active_parent_menu = '';
     25                                $child_menu_html = '<ul class="wpfm-food-main-vmenu-dashboard-submenu-ul">';
     26                                foreach ($menu['submenu'] as $sub_name => $submenu) {
     27                                    if (isset($submenu['query_arg']) && !empty($submenu['query_arg']) && is_array($submenu['query_arg'])) {
     28                                        $action_url = add_query_arg(
     29                                            $submenu['query_arg'],
     30                                            get_permalink($food_dashboard)
     31                                        );
     32                                    } else {
     33                                        $action_url = add_query_arg(
     34                                            array(),
     35                                            get_permalink($food_dashboard)
     36                                        );
     37                                    }
     38                                    $active_menu = '';
     39                                    if ($current_action === $sub_name) {
     40                                        $active_menu = 'wpfm-main-vmenu-dashboard-link-active';
     41                                        $active_parent_menu = 'wpfm-main-vmenu-dashboard-link-active';
     42                                    }
     43                                    $child_menu_html .= '<li class="wpfm-main-vmenu-dashboard-submenu-li"><a class="wpfm-main-vmenu-dashboard-link ' . $active_menu . '" href="' . $action_url . '">' . $submenu['title'] . '</a></li>';
     44                                }
     45                                $child_menu_html .= '</ul>';
     46                                printf('<li class="wpfm-main-vmenu-dashboard-li wpfm-main-vmenu-dashboard-sub-menu"><a class="wpfm-main-vmenu-dashboard-link %s" href="javascript:void(0)"><i class="%s"></i>%s<i class="wpfm-icon-play3 wpfm-main-vmenu-caret wpfm-main-vmenu-caret-up"></i></a>', $active_parent_menu, $menu['icon'], $menu['title']);
     47                                echo wp_kses_post($child_menu_html);
     48                                printf('</li>');
     49                            } else {
     50                                if (isset($menu['query_arg']) && !empty($menu['query_arg']) && is_array($menu['query_arg'])) {
     51                                    $action_url = add_query_arg(
     52                                        $menu['query_arg'],
     53                                        get_permalink($food_dashboard)
     54                                    );
     55                                } else {
     56                                    $action_url = add_query_arg(
     57                                        array(),
     58                                        get_permalink($food_dashboard)
     59                                    );
     60                                }
     61                                $active_menu = '';
     62                                if ($current_action === $name) {
     63                                    $active_menu = 'wpfm-main-vmenu-dashboard-link-active';
     64                                }
     65                                printf('<li class="wpfm-main-vmenu-dashboard-li"><a class="wpfm-main-vmenu-dashboard-link %s" href="%s"> <i class="%s"></i>%s</a></li>', $active_menu, $action_url, $menu['icon'], $menu['title']);
     66                            }
     67                           
     68                        }
     69                        ?>
     70                    </ul>
    6571                </div>
    6672            </div>
    67         </form>
    68     </div>
    69     <div class="wpfm-responsive-table-block">
    70         <?php if (!$foods) : ?>
    71             <div class="wpfm-alert wpfm-alert-danger wpfm-mb-0"><?php esc_html_e('You do not have any active listings.', 'wp-food-manager'); ?></div>
    72         <?php else : ?>
    73             <table class="wpfm-main wpfm-responsive-table-wrapper">
    74                 <thead>
    75                     <tr>
    76                         <?php foreach ($food_dashboard_columns as $key => $column) : ?>
    77                             <th class="wpfm-heading-text <?php echo esc_attr($key); ?>"><?php echo esc_html($column); ?></th>
    78                         <?php endforeach; ?>
    79                     </tr>
    80                 </thead>
    81                 <tbody>
    82                     <?php foreach ($foods as $food) : ?>
    83                         <tr>
    84                             <?php foreach ($food_dashboard_columns as $key => $column) : ?>
    85                                 <td data-title="<?php echo esc_attr($column); ?>" class="<?php echo esc_attr($key); ?>">
    86                                     <?php if ('food_title' === $key) : ?>
    87                                         <?php if ($food->post_status == 'publish') :
    88                                             $out = strlen($food->post_title) > 50 ? substr($food->post_title, 0, 50) . "..." : $food->post_title; ?>
    89                                             <a href="<?php echo esc_url(get_permalink($food->ID)); ?>"><?php echo esc_html($out); ?></a>
    90                                             <?php
    91                                             $wpfm_veg_nonveg_tags = get_food_veg_nonveg_icon_tag($food);
    92                                             $image_id = !empty($wpfm_veg_nonveg_tags) ? get_term_meta($wpfm_veg_nonveg_tags[0]->term_id, 'image_id', true) : '';
    93                                             $image_src = wp_get_attachment_image_src($image_id);
    94                                             if (!empty($wpfm_veg_nonveg_tags)) {
    95                                                 foreach ($wpfm_veg_nonveg_tags as $wpfm_veg_nonveg_tag) {
    96                                                     $imagePath = '';
    97                                                     if (empty($image_src)) {
    98                                                         if ($wpfm_veg_nonveg_tag->slug === 'vegetarian') {
    99                                                             $imagePath = WPFM_PLUGIN_URL . "/assets/images/wpfm-veg-organic.png";
    100                                                         }
    101                                                         if ($wpfm_veg_nonveg_tag->slug === 'non-vegetarian') {
    102                                                             $imagePath = WPFM_PLUGIN_URL . "/assets/images/wpfm-non-veg-organic.png";
    103                                                         }
    104                                                         if ($wpfm_veg_nonveg_tag->slug === 'vegan') {
    105                                                             $imagePath = WPFM_PLUGIN_URL . "/assets/images/wpfm-vegan-organic.png";
    106                                                         }
    107                                                     } else {
    108                                                         $imagePath = $image_src[0];
    109                                                     }
    110                                                     if (!empty($imagePath)) {
    111                                                         $data_icon_label = ucwords(str_replace("-", " ", $wpfm_veg_nonveg_tag->slug));
    112                                                         echo '<div class="parent-organic-tag ' . esc_attr($wpfm_veg_nonveg_tag->slug) . '" data-icon-type="' . esc_attr($data_icon_label) . '"><img alt="' . esc_attr($wpfm_veg_nonveg_tag->slug) . '" src="' . esc_url($imagePath) . '" class="wpfm-organic-tag-icon ' . esc_attr($wpfm_veg_nonveg_tag->slug) . '"></div>';
    113                                                     }
    114                                                 }
    115                                             }
    116                                             ?>
    117                                         <?php else : ?>
    118                                             <?php echo esc_html($food->post_title); ?> <small class="wpfm-food-status-pending-approval"><?php display_food_status($food); ?></small>
    119                                         <?php endif; ?>
    120                                     <?php elseif ('food_action' === $key) : ?>
    121                                         <div class="wpfm-dboard-food-action">
    122                                             <?php
    123                                             $actions = array();
    124                                             switch ($food->post_status) {
    125                                                 case 'publish':
    126                                                     $actions['edit'] = array(
    127                                                         'label' => __('Edit', 'wp-food-manager'),
    128                                                         'nonce' => false
    129                                                     );
    130                                                     $actions['duplicate'] = array(
    131                                                         'label' => __('Duplicate', 'wp-food-manager'),
    132                                                         'nonce' => true
    133                                                     );
    134                                                     break;
    135                                                 case 'expired':
    136                                                     if (food_manager_get_permalink('add_food')) {
    137                                                         $actions['relist'] = array(
    138                                                             'label' => __('Relist', 'wp-food-manager'),
    139                                                             'nonce' => true
    140                                                         );
    141                                                     }
    142                                                     break;
    143                                                 case 'pending_payment':
    144                                                 case 'pending':
    145                                                     $actions['edit'] = array(
    146                                                         'label' => __('Edit', 'wp-food-manager'),
    147                                                         'nonce' => false
    148                                                     );
    149                                                     break;
    150                                             }
    151                                             $actions['delete'] = array(
    152                                                 'label' => __('Delete', 'wp-food-manager'),
    153                                                 'nonce' => true
    154                                             );
    155                                             $actions = apply_filters('food_manager_my_food_actions', $actions, $food);
    156                                             foreach ($actions as $action => $value) {
    157                                                 $action_url = add_query_arg(array(
    158                                                     'action' => $action,
    159                                                     'food_id' => $food->ID
    160                                                 ));
    161                                                 if ($value['nonce']) {
    162                                                     $action_url = wp_nonce_url($action_url, 'food_manager_my_food_actions');
    163                                                 }
    164                                                 echo '<div class="wpfm-dboard-food-act-btn"><a href="' . esc_url($action_url) . '" class="food-dashboard-action-' . esc_attr($action) . '" title="' . esc_attr($value['label']) . '" >' . esc_html($value['label']) . '</a></div>';
    165                                             }
    166                                             ?>
     73
     74            <!-- food Dashboard Start -->
     75            <div class="wpfm-main-vmenu-dashboard-content-wrap wpfm-col-md-9">
     76                <div class="wpfm-dashboard-main-content">
     77
     78                    <?php do_action('food_manager_food_dashboard_before'); ?>
     79
     80                    <?php if (!in_array($current_action, ['food_dashboard', 'delete', 'mark_cancelled', 'mark_not_cancelled']) && !empty($current_action) ) :
     81                        if (has_action('food_manager_food_dashboard_contents_' . $current_action)) :
     82                            do_action('food_manager_food_dashboard_contents_' . $current_action);
     83                        endif;?>
     84                    <?php else : ?>
     85                       
     86                    <div class="wpfm-dashboard-main-title wpfm-dashboard-main-filter">
     87                                <h3 class="wpfm-theme-text"><?php esc_html_e('Food Dashboard', 'wp-food-manager'); ?></h3>
     88                                <div class="wpfm-d-inline-block wpfm-dashboard-i-block-btn">
     89
     90                                    <?php do_action('food_manager_food_dashboard_button_action_start'); ?>
     91                                    <?php if (isset($_GET['search_keywords']) || !empty($_GET['search_keywords'])) { ?>
     92                                        <a href="<?php echo esc_url(get_permalink()); ?>" class="reset" title="<?php esc_attr_e('Reset Filter', 'wp-food-manager'); ?>" style="margin-right: 5px;"><?php esc_html_e('Reset', 'wp-food-manager'); ?></a>
     93                                    <?php }
     94
     95                                    $add_food = get_option('food_manager_add_food_page_id');
     96                                    if (!empty($add_food)) : ?>
     97                                        <a class="wpfm-dashboard-header-btn wpfm-dashboard-header-add-btn" title="<?php esc_attr_e('Add Food', 'wp-food-manager'); ?>" href="<?php echo esc_url(get_permalink($add_food)); ?>"><i class="wpfm-icon-plus"></i></a>
     98                                    <?php endif; ?>
     99
     100                                    <?php do_action('food_manager_food_dashboard_button_action_end'); ?>
     101
     102                                    <a href="javascript:void(0)" title="<?php esc_attr_e('Filter', 'wp-food-manager'); ?>" class="wpfm-dashboard-food-filter wpfm-dashboard-header-btn"><i class="wpfm-icon-filter"></i></a>
     103                                </div>
     104                            </div>
     105                            <?php
     106                            $_GET = array_map('stripslashes_deep', $_GET);
     107                            $search_keywords  = isset($_GET['search_keywords']) ? sanitize_text_field($_GET['search_keywords']) : '';
     108                            $search_order_by  = isset($_GET['search_order_by']) ? sanitize_text_field($_GET['search_order_by']) : '';
     109                            $display_block = '';
     110
     111                            if (!empty($search_keywords) || !empty($search_order_by)) {
     112                                $display_block = 'wpfm-d-block';
     113                            }
     114                            ?>
     115                            <form action="<?php echo esc_url(get_permalink(get_the_ID())); ?>" method="get" class="wpfm-form-wrapper wpfm-food-dashboard-filter-toggle wpfm-dashboard-main-filter-block <?php echo esc_attr($display_block); ?>">
     116                                <div class="wpfm-foods-filter">
     117                                    <?php do_action('food_manager_food_dashboard_food_filter_start'); ?>
     118
     119                                    <div class="wpfm-foods-filter-block">
     120                                        <?php $search_keywords = isset($_GET['search_keywords']) ? $_GET['search_keywords'] : ''; ?>
     121                                        <div class="wpfm-form-group"><input name="search_keywords" id="search_keywords" type="text" value="<?php echo esc_attr($search_keywords); ?>" placeholder="<?php esc_attr_e('Keywords', 'wp-food-manager'); ?>"></div>
     122                                    </div>
     123                                    <div class="wpfm-foods-filter-block">
     124                                        <div class="wpfm-form-group">
     125                                            <select name="search_order_by" id="search_order_by">
     126                                                <option value=""><?php esc_html_e('Order by', 'wp-food-manager'); ?></option>
     127                                                <?php
     128                                                foreach (get_food_order_by() as $order_by) : ?>
     129                                                    <?php if (isset($order_by['type']) && !empty($order_by['type'])) : ?>
     130                                                        <optgroup label="<?php echo esc_html($order_by['label']); ?>">
     131                                                            <?php foreach ($order_by['type'] as $order_key => $order_value) : ?>
     132                                                                <option value="<?php echo esc_attr($order_key); ?>" <?php selected($order_key, $search_order_by); ?>><?php echo esc_html($order_value); ?></option>
     133                                                            <?php endforeach; ?>
     134                                                        </optgroup>
     135                                                    <?php endif; ?>
     136                                                <?php endforeach; ?>
     137                                            </select>
    167138                                        </div>
    168                                     <?php
    169                                     elseif ('food_categories' === $key) :
    170                                         display_food_category($food);
    171                                     elseif ('view_count' === $key) :
    172                                         echo get_food_views_count($food);
    173                                     ?>
    174                                     <?php else : ?>
    175                                         <?php do_action('food_manager_food_dashboard_column_' . $key, $food); ?>
    176                                     <?php endif; ?>
    177                                 </td>
    178                             <?php endforeach; ?>
    179                         </tr>
    180                     <?php endforeach; ?>
    181                 </tbody>
    182             </table>
    183         <?php endif; ?>
    184     </div>
    185     <?php do_action('food_manager_food_dashboard_after_table'); ?>
    186 </div>
    187 
    188 <?php do_action('food_manager_food_dashboard_after'); ?>
     139                                    </div>
     140
     141                                    <?php do_action('food_manager_food_dashboard_food_filter_end'); ?>
     142                                    <div class="wpfm-foods-filter-block wpfm-foods-filter-submit">
     143                                        <div class="wpfm-form-group">
     144                                            <button type="submit" class="wpfm-theme-button"><?php esc_html_e('Filter', 'wp-food-manager'); ?></button>
     145                                        </div>
     146                                    </div>
     147                                </div>
     148                            </form>
     149                        </div>
     150                        <div class="wpfm-responsive-table-block">
     151                            <?php if (!$foods) : ?>
     152                                <div class="wpfm-alert wpfm-alert-danger wpfm-mb-0"><?php esc_html_e('You do not have any active listings.', 'wp-food-manager'); ?></div>
     153                            <?php else : ?>
     154                                <table class="wpfm-main wpfm-responsive-table-wrapper">
     155                                    <thead>
     156                                        <tr>
     157                                            <?php foreach ($food_dashboard_columns as $key => $column) : ?>
     158                                                <th class="wpfm-heading-text <?php echo esc_attr($key); ?>"><?php echo esc_html($column); ?></th>
     159                                            <?php endforeach; ?>
     160                                        </tr>
     161                                    </thead>
     162                                    <tbody>
     163                                        <?php foreach ($foods as $food) : ?>
     164                                            <tr>
     165                                                <?php foreach ($food_dashboard_columns as $key => $column) : ?>
     166                                                    <td data-title="<?php echo esc_attr($column); ?>" class="<?php echo esc_attr($key); ?>">
     167                                                        <?php if ('food_title' === $key) : ?>
     168                                                            <?php if ($food->post_status == 'publish') :
     169                                                                $out = strlen($food->post_title) > 50 ? substr($food->post_title, 0, 50) . "..." : $food->post_title; ?>
     170                                                                <a href="<?php echo esc_url(get_permalink($food->ID)); ?>"><?php echo esc_html($out); ?></a>
     171                                                                <?php
     172                                                                $wpfm_veg_nonveg_tags = get_food_veg_nonveg_icon_tag($food);
     173                                                                $image_id = !empty($wpfm_veg_nonveg_tags) ? get_term_meta($wpfm_veg_nonveg_tags[0]->term_id, 'image_id', true) : '';
     174                                                                $image_src = wp_get_attachment_image_src($image_id);
     175                                                                if (!empty($wpfm_veg_nonveg_tags)) {
     176                                                                    foreach ($wpfm_veg_nonveg_tags as $wpfm_veg_nonveg_tag) {
     177                                                                        $imagePath = '';
     178                                                                        if (empty($image_src)) {
     179                                                                            if ($wpfm_veg_nonveg_tag->slug === 'vegetarian') {
     180                                                                                $imagePath = WPFM_PLUGIN_URL . "/assets/images/wpfm-veg-organic.png";
     181                                                                            }
     182                                                                            if ($wpfm_veg_nonveg_tag->slug === 'non-vegetarian') {
     183                                                                                $imagePath = WPFM_PLUGIN_URL . "/assets/images/wpfm-non-veg-organic.png";
     184                                                                            }
     185                                                                            if ($wpfm_veg_nonveg_tag->slug === 'vegan') {
     186                                                                                $imagePath = WPFM_PLUGIN_URL . "/assets/images/wpfm-vegan-organic.png";
     187                                                                            }
     188                                                                        } else {
     189                                                                            $imagePath = $image_src[0];
     190                                                                        }
     191                                                                        if (!empty($imagePath)) {
     192                                                                            $data_icon_label = ucwords(str_replace("-", " ", $wpfm_veg_nonveg_tag->slug));
     193                                                                            echo '<div class="parent-organic-tag ' . esc_attr($wpfm_veg_nonveg_tag->slug) . '" data-icon-type="' . esc_attr($data_icon_label) . '"><img alt="' . esc_attr($wpfm_veg_nonveg_tag->slug) . '" src="' . esc_url($imagePath) . '" class="wpfm-organic-tag-icon ' . esc_attr($wpfm_veg_nonveg_tag->slug) . '"></div>';
     194                                                                        }
     195                                                                    }
     196                                                                }
     197                                                                ?>
     198                                                            <?php else : ?>
     199                                                                <?php echo esc_html($food->post_title); ?> <small class="wpfm-food-status-pending-approval"><?php display_food_status($food); ?></small>
     200                                                            <?php endif; ?>
     201                                                        <?php elseif ('food_action' === $key) : ?>
     202                                                            <div class="wpfm-dboard-food-action">
     203                                                                <?php
     204                                                                $actions = array();
     205                                                                switch ($food->post_status) {
     206                                                                    case 'publish':
     207                                                                        $actions['edit'] = array(
     208                                                                            'label' => __('Edit', 'wp-food-manager'),
     209                                                                            'nonce' => false
     210                                                                        );
     211                                                                        $actions['duplicate'] = array(
     212                                                                            'label' => __('Duplicate', 'wp-food-manager'),
     213                                                                            'nonce' => true
     214                                                                        );
     215                                                                        break;
     216                                                                    case 'expired':
     217                                                                        if (food_manager_get_permalink('add_food')) {
     218                                                                            $actions['relist'] = array(
     219                                                                                'label' => __('Relist', 'wp-food-manager'),
     220                                                                                'nonce' => true
     221                                                                            );
     222                                                                        }
     223                                                                        break;
     224                                                                    case 'pending_payment':
     225                                                                    case 'pending':
     226                                                                        $actions['edit'] = array(
     227                                                                            'label' => __('Edit', 'wp-food-manager'),
     228                                                                            'nonce' => false
     229                                                                        );
     230                                                                        break;
     231                                                                }
     232                                                                $actions['delete'] = array(
     233                                                                    'label' => __('Delete', 'wp-food-manager'),
     234                                                                    'nonce' => true
     235                                                                );
     236                                                                $actions = apply_filters('food_manager_my_food_actions', $actions, $food);
     237                                                                foreach ($actions as $action => $value) {
     238                                                                    $action_url = add_query_arg(array(
     239                                                                        'action' => $action,
     240                                                                        'food_id' => $food->ID
     241                                                                    ));
     242                                                                    if ($value['nonce']) {
     243                                                                        $action_url = wp_nonce_url($action_url, 'food_manager_my_food_actions');
     244                                                                    }
     245                                                                    echo '<div class="wpfm-dboard-food-act-btn"><a href="' . esc_url($action_url) . '" class="food-dashboard-action-' . esc_attr($action) . '" title="' . esc_attr($value['label']) . '" >' . esc_html($value['label']) . '</a></div>';
     246                                                                }
     247                                                                ?>
     248                                                            </div>
     249                                                        <?php
     250                                                        elseif ('food_categories' === $key) :
     251                                                            display_food_category($food);
     252                                                        elseif ('view_count' === $key) :
     253                                                            echo get_food_views_count($food);
     254                                                        ?>
     255                                                        <?php else : ?>
     256                                                            <?php do_action('food_manager_food_dashboard_column_' . $key, $food); ?>
     257                                                        <?php endif; ?>
     258                                                    </td>
     259                                                <?php endforeach; ?>
     260                                            </tr>
     261                                        <?php endforeach; ?>
     262                                       
     263                                    </tbody>
     264                                </table>
     265                            <?php endif; get_food_manager_template('pagination.php', array('max_num_pages' => $max_num_pages));?>
     266                        </div>
     267                        <?php do_action('food_manager_food_dashboard_after_table'); ?>
     268                                    </div>
     269                                </div>
     270                                <!-- food Dashboard End -->
     271                            </div>
     272                           
     273                           
     274                    </div>
     275                    <?php endif;
     276                    do_action('food_manager_food_dashboard_after'); ?>
     277
     278
     279
     280
  • wp-food-manager/trunk/templates/food-filters.php

    r2930934 r3022874  
    2020            <!-- Search by keywords section end-->
    2121            <?php
    22             $args = array(
    23                 'post_type' => 'food_manager_menu',
    24                 'post_status' => 'publish',
    25                 'posts_per_page' => -1,
    26             );
    27 
     22              $args = array(
     23              'post_type'      => 'food_manager_menu',
     24              'post_status'    => 'publish',
     25              'posts_per_page' => -1,
     26            );
     27           $food_menu_posts = get_posts($args);
    2828            $the_query = new WP_Query($args);
    29             if ($the_query->have_posts()) { ?>
     29            if ($the_query->have_posts()) {
     30                ?>
    3031                <!-- Search by food menu section start -->
    3132                <div class="wpfm-col">
     
    3536                        <select name="search_food_menu[]" id="search_food_menu" class="food-manager-post_type-dropdown " <?php echo ($show_food_menu_multiselect) ? 'multiple' : ''; ?> data-placeholder="<?php echo esc_attr__('Choose a Food Menu…'); ?>" data-no_results_text="<?php echo esc_attr__('No results match'); ?>" data-multiple_text="<?php echo esc_attr__('Choose a Food Menu…'); ?>">
    3637                            <?php
    37                             if (!$show_food_menu_multiselect) echo '<option value="">' . esc_html__('Choose a Food Menu') . '</option>';
     38                            if (!$show_food_menu_multiselect) {
     39                                echo '<option value="">' . esc_html__('Choose a Food Menu') . '</option>';
     40                            }
     41           
    3842                            while ($the_query->have_posts()) {
    3943                                $the_query->the_post();
    40                                 echo '<option value="' . esc_attr(get_the_ID()) . '">' . esc_html(get_the_title()) . '</option>';
    41                             } ?>
     44                                ?>
     45                                <option value="<?php echo esc_attr(get_the_ID()); ?>"><?php echo esc_html(get_the_title()); ?></option>
     46                                <?php
     47                            }
     48                            ?>
    4249                        </select>
    4350                    </div>
     
    4552                </div>
    4653                <!-- Search by food menu section end-->
    47             <?php }
     54                <?php
     55            }
    4856            wp_reset_postdata();
    4957            ?>
     58           
     59
    5060        </div><!-- /row -->
    5161        <div class="wpfm-row">
  • wp-food-manager/trunk/templates/food-listings-end.php

    r2902320 r3022874  
    11</div>
     2<!-- add to cart notification -->
     3<?php do_action('wpfm_food_manager_food_listings_after'); ?>
  • wp-food-manager/trunk/templates/food-listings-start.php

    r2930934 r3022874  
    66            <div class="wpfm-col wpfm-col-12 wpfm-col-sm-6 wpfm-col-md-6 wpfm-col-lg-8">
    77                <div class="wpfm-food-listing-header-title">
    8                     <h2 class="wpfm-heading-text"><?php esc_html_e('Foods', 'wp-food-manager'); ?></h2>
     8                    <h2 class="wpfm-heading-text"><?php esc_html_e($title); ?></h2>
    99                </div>
    1010            </div>
  • wp-food-manager/trunk/templates/food-pagination.php

    r2930934 r3022874  
    22
    33/**
    4  * Pagination - Show numbered pagination for the [foods] shortcode
     4 * Pagination - Show numbered pagination for the [foods] shortcode.
    55 */
    6 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     6if (!defined('ABSPATH')) exit; // Exit if accessed directly.
    77
    88if ($max_num_pages <= 1) {
     
    1010}
    1111
    12 // Calculate pages to output
     12// Calculate pages to output.
    1313$end_size    = 3;
    1414$mid_size    = 3;
  • wp-food-manager/trunk/templates/food-submit.php

    r2930934 r3022874  
    22
    33/**
    4  * Food Submission Form
     4 * Food Submission Form.
    55 */
    66if (!defined('ABSPATH')) exit;
     
    1010$food_dashboard_page_id = get_option('food_manager_food_dashboard_page_id');
    1111$extra_fields_options = get_post_meta($food_id, '_food_toppings', true) ? get_post_meta($food_id, '_food_toppings', true) : '';
    12 
    1312if (!empty($extra_fields_options)) {
    1413    $option_value_counts1 = array();
    15 
    1614    for ($i = 1; $i <= count($extra_fields_options); $i++) {
    1715        foreach ($extra_fields_options as $key => $value) {
     
    2119        }
    2220    }
    23 
    2421    $option_value_counts = array();
    2522    foreach ($option_value_counts1 as $option_value_count) {
    2623        $option_value_counts[] = array_unique($option_value_count);
    2724    }
    28 
    29     array_unshift($option_value_counts, "");
     25    array_unshift($option_value_counts1, "");
    3026    unset($option_value_counts[0]);
    3127    $option_value_counts2 = array();
     
    3329    for ($i = 1; $i <= count($extra_fields_options); $i++) {
    3430        foreach ($extra_fields_options as $key => $value) {
    35             for ($j = 1; $j <= count($value['_topping_options']); $j++) {
     31            // for ($j = 1; $j <= count($value['_topping_options']); $j++) {
    3632                $option_value_counts2[$key] = $value;
    37             }
     33            // }
    3834        }
    3935    }
    40 
    4136    $option_value_counts3 = array();
    4237    foreach ($option_value_counts2 as $option_value2_count) {
     
    8681                <div class="wpfm-options-wrapper wpfm-metaboxes">
    8782                    <?php if (!empty($extra_fields_options)) {
     83                        // print_r($option_value_counts3);
    8884                        foreach ($option_value_counts3 as $key => $extra_fields_option) {
    8985                            $toppings = get_post_meta($food_id, '_food_toppings', true);
     
    117113                                        ?>
    118114                                                <fieldset class="wpfm-form-group fieldset<?php echo $key2; ?> <?php echo $fieldClassLabel; ?>" data-field-name="<?php echo $key2; ?>">
    119                                                     <label for="<?php echo $key2; ?>" class="wpfm-form-label-text"><?php echo $field['label'] . apply_filters('add_food_required_label', $field['required'] ? '<span class="require-field">*</span>' : ' <small>' . __('(optional)', 'wp-food-manager') . '</small>', $field); ?></label>
     115                                                    <label class="wpfm-form-label-text"><?php echo $field['label'] . apply_filters('add_food_required_label', $field['required'] ? '<span class="require-field">*</span>' : ' <small>' . __('(optional)', 'wp-food-manager') . '</small>', $field); ?></label>
    120116                                                    <div class="field <?php echo $field['required'] ? 'required-field' : ''; ?>">
    121117                                                        <?php get_food_manager_template('form-fields/' . $field['type'] . '-field.php', array('key' => $key2, 'field' => $field)); ?>
     
    125121                                            if ($key2 == 'topping_options') { ?>
    126122                                                <fieldset class="wpfm-form-group fieldset_topping_options_<?php echo $key; ?> ">
    127                                                     <label for="_topping_options_<?php echo $key; ?>">Options <small>(optional)</small></label>
     123                                                    <label >Options <small>(optional)</small></label>
    128124                                                    <div class="field ">
    129125                                                        <table class="widefat">
     
    172168                                                            <tfoot>
    173169                                                                <tr>
    174                                                                     <td colspan="7"> <a class="button wpfm-add-row" data-row="<tr class='option-tr-%%repeated-option-index3%%'>
     170                                                                    <td colspan="7"> <a class="button wpfm-add-row" data-row="<?php
     171                                                                                                                            ob_start();
     172                                                                                                                            ?>
     173                                                                    <tr class='option-tr-%%repeated-option-index3%%'>
    175174                                                    <td><span class='wpfm-option-sort'>☰</span></td>
    176175                                                    <td>%%repeated-option-index3%%</td>
    177176                                                    <td><input type='text' name='%%repeated-option-index2%%_option_name_%%repeated-option-index3%%' value='' class='opt_name' pattern='.*\S+.*' required></td>
    178                                                     <?php do_action('wpfm_repeated_option_name_after', array()); ?>
     177                                                    <?php do_action('wpfm_repeated_option_name_after', $args); ?>
    179178                                                    <td><input type='number' name='%%repeated-option-index2%%_option_price_%%repeated-option-index3%%' value='' class='opt_price' min='0' required></td>
    180                                                     <?php do_action('wpfm_repeated_option_price_after', array()); ?>
     179                                                    <?php do_action('wpfm_repeated_option_price_after', $args); ?>
    181180                                                    <td><a href='javascript: void(0);' data-id='%%repeated-option-index3%%' class='option-delete-btn dashicons dashicons-dismiss'></a></td>
    182181                                                    <input type='hidden' class='option-value-class' name='option_value_count[%%repeated-option-index2%%][]' value='%%repeated-option-index3%%'>
    183                                                 </tr>">Add Row</a>
     182                                                </tr>
     183                                                <?php echo esc_attr(ob_get_clean());
     184                                                ?>
     185                                                ">Add Row</a>
    184186                                                                    </td>
    185187                                                                </tr>
     
    197199                    ?>
    198200                    <div class="wpfm-actions">
    199                         <button type="button" class="wpfm-add-button button button-primary" id="wpfm-add-new-option" data-row='<div class="wpfm-options-wrap wpfm-metabox postbox wpfm-options-box-__repeated-option-index__">
     201                        <button type="button" class="wpfm-add-button button button-primary" id="wpfm-add-new-option" data-row='<?php
     202                                                                                                                            ob_start();
     203                                                                                                                            ?>
     204                        <div class="wpfm-options-wrap wpfm-metabox postbox wpfm-options-box-__repeated-option-index__">
    200205                                <input type="hidden" name="repeated_options[]" value="__repeated-option-index__" class="repeated-options">
    201206                                <h3 class="">
     
    239244                                    </div>
    240245                                </div>
    241                             </div>'>+ Add Topping
     246                            </div>
     247                            <?php echo esc_attr(ob_get_clean());
     248                            ?>
     249                            '>+ Add Topping
    242250                        </button>
    243251                    </div>
  • wp-food-manager/trunk/templates/form-fields/date-field.php

    r2930934 r3022874  
    1515}
    1616?>
    17 <div class="controls" style="position: relative">
     17
    1818   <input type="text" class="input-text" name="<?php echo esc_attr(isset($field['name']) ? $field['name'] : $key); ?>" id="<?php echo isset($field['id']) ? esc_attr($field['id']) :  esc_attr($key); ?>" attribute="<?php echo esc_attr(isset($field['attribute']) ? $field['attribute'] : ''); ?>" placeholder="<?php echo esc_attr($field['placeholder']); ?>" value="<?php echo isset($field_val_num) ? esc_attr($field_val_num) : ''; ?>" maxlength="<?php echo !empty($field['maxlength']) ? esc_attr($field['maxlength']) : ''; ?>" <?php if (!empty($field['required'])) echo esc_attr('required'); ?> data-picker="datepicker" />
    1919   <?php if (!empty($field['description'])) : ?><small class="description"><?php echo esc_html(sanitize_textarea_field($field['description'])); ?></small><?php endif; ?>
    20 </div>
  • wp-food-manager/trunk/templates/form-fields/select-field.php

    r2930934 r3022874  
    88    $field_val_num = !empty($field['value']) ? $field['value'] : '';
    99}
    10 ?>
    11 <select name="<?php echo esc_attr(isset($field['name']) ? $field['name'] : $key); ?>" id="<?php echo esc_attr($key); ?>" <?php if (!empty($field['required'])) echo 'required'; ?> attribute="<?php echo esc_attr(isset($field['attribute']) ? $field['attribute'] : ''); ?>">
    12     <?php foreach ($field['options'] as $option_key => $option_value) :
    13         $field_val = (!empty($field_val_num) && $field_val_num === $option_key) ? 'selected' : '';
    14     ?>
    15         <option value="<?php echo esc_attr($option_key); ?>" <?php echo esc_attr($field_val); ?>><?php echo esc_html($option_value); ?></option>
    16     <?php endforeach; ?>
    17 </select>
    18 <?php if (!empty($field['description'])) : ?><small class="description"><?php echo esc_html($field['description']); ?></small><?php endif; ?>
     10
     11if( isset( $field['post_type'] ) && !empty( $field['post_type'] ) ){
     12    $food_posts_listing = get_posts (array (
     13        'numberposts' => -1,   
     14        'post_type' => $field['post_type'],
     15        'orderby' => 'title',
     16        'order' => 'ASC'
     17    )); ?>
     18    <select name="<?php echo esc_attr(isset($field['name']) ? $field['name'] : $key); ?>" id="<?php echo esc_attr($key); ?>" <?php if (!empty($field['required'])) echo 'required'; ?> attribute="<?php echo esc_attr(isset($field['attribute']) ? $field['attribute'] : ''); ?>">
     19        <?php
     20        if( !empty( $food_posts_listing ) ) {
     21            foreach ($food_posts_listing as $option_key => $option_value) :
     22            $field_val = ( !empty($field['value']) && $field['value'] === $option_value->post_title) ? 'selected' : ''; ?>
     23            <option value="<?php echo esc_attr($option_value->post_title); ?>" <?php echo esc_attr($field_val); ?>><?php echo esc_html($option_value->post_title); ?></option>
     24            <?php endforeach;
     25        } else {
     26            echo '<option value="">No Food Menu Added</option>';
     27        } ?>
     28    </select>
     29    <?php
     30} else { ?>
     31    <select name="<?php echo esc_attr(isset($field['name']) ? $field['name'] : $key); ?>" id="<?php echo esc_attr($key); ?>" <?php if (!empty($field['required'])) echo 'required'; ?> attribute="<?php echo esc_attr(isset($field['attribute']) ? $field['attribute'] : ''); ?>">
     32        <?php foreach ($field['options'] as $option_key => $option_value) :
     33            $field_val = (!empty($field_val_num) && $field_val_num === $option_key) ? 'selected' : '';  ?>
     34            <option value="<?php echo esc_attr($option_key); ?>" <?php echo esc_attr($field_val); ?>><?php echo esc_html($option_value); ?></option>
     35        <?php endforeach; ?>
     36    </select>
     37<?php }
     38if( !empty( $field['description'])) : ?><small class="description"><?php echo esc_html($field['description']); ?></small><?php endif; ?>
  • wp-food-manager/trunk/templates/form-fields/term-select-multi-appearance-field.php

    r2930934 r3022874  
    1111    $selected = '';
    1212}
     13
    1314$unit = get_terms('food_manager_unit', array(
    1415    'orderby'    => 'count',
    1516    'hide_empty' => 0
    1617));
     18
    1719wp_enqueue_script('wp-food-manager-term-multiselect');
    1820wp_enqueue_script('wp-food-manager-term-select-multi-appearance');
     
    2426    )
    2527);
     28
     29/** This is used for multiselect selected value array */
     30$select = array();
     31
     32// Check if $field['value'] is an array before attempting to iterate over it
     33if (is_array($field['value'])) {
     34    foreach ($field['value'] as $key => $value) {
     35        if (is_array($value)) {
     36            array_push($select, $key);
     37        }
     38    }
     39}
     40
     41if (!empty($select)) {
     42    $selected = $select;
     43}
     44
    2645/* Check if localize script is running or not to run globally localize script */
    2746$data = $wp_scripts->get_data('wp-food-manager-term-select-multi-appearance', 'data');
     
    3554    );
    3655}
     56
    3757$args = array(
    3858    'taxonomy'     => esc_attr($field['taxonomy']),
     
    4464    'name_attr'    => false,
    4565);
     66
    4667// For Edit screen of food
    4768$preview_htm = '';
    4869$style = 'display:none;';
     70
    4971if (isset($_GET['food_id']) && !empty($_GET['food_id']) || $food_id) {
    5072    if (isset($_GET['food_id']) && !empty($_GET['food_id'])) {
    5173        $food_id = $_GET['food_id'];
    52     } else if ($food_id) {
     74    } elseif ($food_id) {
    5375        $food_id = $food_id;
    5476    } else {
    5577        $food_id = '';
    5678    }
     79
    5780    $meta_key = ($field['taxonomy'] == 'food_manager_nutrition') ? 'food_nutritions' : ($field['taxonomy'] == 'food_manager_ingredient' ? 'food_ingredients' : '');
    5881    $term_name = ($meta_key == 'food_nutritions') ? 'nutrition_term_name' : ($meta_key == 'food_ingredients' ? 'ingredient_term_name' : '');
     82
    5983    if ($meta_key) {
    6084        $tax_values = get_post_meta($food_id, '_' . $meta_key, true);
     
    6387            'hide_empty' => false,
    6488        ));
     89
    6590        if ($tax_values) {
    6691            foreach ($tax_values as $tax_value) {
    6792                $unit_option = '<option value="">Unit</option>';
     93
    6894                if ($unit_terms) {
    6995                    foreach ($unit_terms as $unit) {
     
    7197                    }
    7298                }
     99
    73100                $preview_htm .= '<li class="term-item" data-id="' . $tax_value['id'] . '">';
    74101                $preview_htm .= '<label>' . esc_html($tax_value[$term_name]) . '</label>';
    75102                $preview_htm .= '<div class="term-item-flex">';
    76                 $preview_htm .= '<input type="number" min="0" step="0.1" value="' . esc_attr($tax_value['value']) . '" name="' . esc_attr($meta_key) . '[' . esc_attr($tax_value['id']) . '][value]">';
     103                $preview_htm .= '<input type="number" min="0" step="any" value="' . esc_attr($tax_value['value']) . '" name="' . esc_attr($meta_key) . '[' . esc_attr($tax_value['id']) . '][value]">';
    77104                $preview_htm .= '<select name="' . esc_attr($meta_key) . '[' . esc_attr($tax_value['id']) . '][unit_id]">' . $unit_option . '</select>';
    78105                $preview_htm .= '</div>';
     
    83110    }
    84111}
    85 if (isset($field['placeholder']) && !empty($field['placeholder'])) $args['placeholder'] = esc_attr($field['placeholder']);
     112
     113if (isset($field['placeholder']) && !empty($field['placeholder'])) {
     114    $args['placeholder'] = esc_attr($field['placeholder']);
     115}
     116
    86117echo '<div class="multiselect_appearance">';
    87118food_manager_dropdown_selection(apply_filters('food_manager_term_select_multi_appearance_field_args', $args));
    88119echo '</div>';
    89 if (!empty($field['description'])) : ?><small class="description"><?php echo esc_html($field['description']); ?></small><?php endif; ?>
     120
     121if (!empty($field['description'])) : ?>
     122    <small class="description"><?php echo esc_html($field['description']); ?></small>
     123<?php endif; ?>
     124
    90125<div class="<?php echo isset($field['name']) ? esc_attr($field['name']) : $key; ?>-preview selection-preview" style="<?php echo esc_attr($style); ?>" data-name="<?php echo ($field['taxonomy'] == 'food_manager_ingredient') ? 'food_ingredients' : 'food_nutritions'; ?>">
    91126    <legend>Preview:</legend>
  • wp-food-manager/trunk/templates/pagination.php

    r2930934 r3022874  
    11<?php
    2 
    32/**
    43 * Pagination - Show numbered pagination for catalog pages.
    54 */
    65
    7 if (!defined('ABSPATH')) exit; // Exit if accessed directly
     6if(!defined('ABSPATH')) exit; // Exit if accessed directly
    87
    9 if ($max_num_pages <= 1) {
     8if($max_num_pages <= 1) {
    109    return;
    11 }
    12 ?>
     10} ?>
     11
    1312<nav class="food-manager-pagination">
    14     <?php echo paginate_links(apply_filters('food_manager_pagination_args', array(
    15         'base'      => esc_url_raw(str_replace(999999999, '%#%', get_pagenum_link(999999999, false))),
    16         'format'    => '',
    17         'current'   => max(1, absint(get_query_var('paged'))),
    18         'total'     => absint($max_num_pages),
    19         'prev_text' => esc_html('&larr;'),
    20         'next_text' => esc_html('&rarr;'),
    21         'type'      => 'list',
    22         'end_size'  => 3,
    23         'mid_size'  => 3
    24     ))); ?>
     13    <?php
     14    $current_page = is_front_page() ? max(1, get_query_var('page')) : max(1, get_query_var('paged'));
     15        echo paginate_links(apply_filters('food_manager_pagination_args', array(
     16            'base'      => esc_url_raw(str_replace(999999999, '%#%', get_pagenum_link(999999999, false))),
     17            'format'    => '',
     18            'current'   => $current_page ,
     19            'total'     => $max_num_pages,
     20            'prev_text' => '&larr;',
     21            'next_text' => '&rarr;',
     22            'type'      => 'list',
     23            'end_size'  => 3,
     24            'mid_size'  => 3
     25        )));
     26    ?>
    2527</nav>
  • wp-food-manager/trunk/templates/rss-food-feed.php

    r2914276 r3022874  
    55do_action('food_fee_item_start');
    66if (isset($food_type->name)) {
     7   
    78    echo "<food_manager:food_type><![CDATA[" . esc_html($food_type->name) . "]]></food_manager:food_type>\n";
    89}
    910if (isset($food_category->name)) {
     11
    1012    echo "<food_manager:food_category><![CDATA[" . esc_html($food_category->name) . "]]></food_manager:food_category>\n";
    1113}
  • wp-food-manager/trunk/uninstall.php

    r2930934 r3022874  
    1010}
    1111
    12 // Cleanup all data.
     12// This Included file cleanup all data.
    1313require 'includes/wpfm-data-cleaner.php';
    1414
     
    2121    }
    2222} else {
    23 
    2423    global $wpdb;
    2524    $blog_ids         = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
     
    7574);
    7675
    77 // Delete the options
     76//Delete the options.
    7877foreach ($options as $option) {
    7978    delete_option(esc_attr($option));
  • wp-food-manager/trunk/wp-food-manager-functions.php

    r2930934 r3022874  
    146146        }
    147147
    148         // Polylang LANG arg
     148        //Sets the Polylang LANG arg to the current language.
    149149        if (function_exists('pll_current_language')) {
    150150            $query_args['lang'] = pll_current_language();
     
    154154        $query_args['lang'] = apply_filters('wpfm_lang', null);
    155155
    156         // Filter args
     156        // Filter args.
    157157        $query_args = apply_filters('get_food_listings_query_args', $query_args, $args);
    158158        do_action('before_get_food_listings', $query_args, $args);
     
    227227if (!function_exists('wpfm_notify_new_user')) :
    228228    /**
    229      * Send notification to the new users.
     229     * This wpfm_notify_new_user() function used to send notification to the new users.
    230230     *
    231231     * @param int $user_id
     
    249249if (!function_exists('wpfm_create_account')) :
    250250    /**
    251      * Create the account.
     251     * This wpfm_create_account() function is used to create the account.
    252252     *
    253253     * @param  array $args containing username, email, role
     
    297297        }
    298298
    299         // Ensure username is unique
     299        // Ensure username is unique.
    300300        $append     = 1;
    301301        $o_username = $username;
     
    305305        }
    306306
    307         // Final error checking
     307        // Final error checking.
    308308        $reg_errors = new WP_Error();
    309309        $reg_errors = apply_filters('food_manager_registration_errors', $reg_errors, $username, $email);
     
    313313        }
    314314
    315         // Create account
     315        // Create account.
    316316        $new_user = array(
    317317            'user_login' => $username,
     
    418418/**
    419419 * Checks if the user can upload a file via the Ajax endpoint.
    420  *
     420 * @param bool $can_upload True if they can upload files from Ajax endpoint.
    421421 * @return bool
    422422 * @since 1.0.0
     
    425425    $can_upload = is_user_logged_in() && wpfm_user_can_post_food();
    426426
    427     /**
    428      * Override ability of a user to upload a file via Ajax.
    429      *
    430      * @param bool $can_upload True if they can upload files from Ajax endpoint.
    431      * @since 1.0.0
    432      */
     427    //  Override ability of a user to upload a file via Ajax.
     428     
    433429    return apply_filters('wpfm_user_can_upload_file_via_ajax', $can_upload);
    434430}
     
    471467    extract($r);
    472468
    473     // Store in a transient to help sites with many cats
     469    // Store in a transient to help sites with many cats.
    474470    if (empty($categories)) {
    475471        $categories = get_terms($taxonomy, array(
     
    511507    $output = '<select ' . $data_taxonomy . ' ' . $name_attr . '  id="' . esc_attr($id) . '" class="' . esc_attr($class) . '" ' . ($multiple ? 'multiple="multiple"' : "") . ' data-placeholder="' . esc_attr($placeholder) . '" data-no_results_text="' . esc_attr($no_results_text) . '" data-multiple_text="' . esc_attr($multiple_text) . '">\n';
    512508
    513     if (is_admin()) {
    514         if (empty($item_cat_ids) && isset($item_cat_ids)) {
    515             $output .= '<option value="" disabled selected>' . $placeholder . '</option>';
    516         }
    517     }
    518509
    519510    if ($show_option_all) {
     
    541532
    542533/**
    543  * Checks if the provided content or the current single page or post has a WPFM shortcode.
     534 * This has_wpfm_shortcode() function is used to checks if the provided content or the current single page or post has a WPFM shortcode.
    544535 *
    545536 * @param string|null       $content   Content to check. If not provided, it uses the current post content.
    546537 * @param string|array|null $tag Check specifically for one or more shortcodes. If not provided, checks for any WPJM shortcode.
     538 * @param string[] $has_wpfm_shortcode.
     539 * @param bool $has_wpfm_shortcode
    547540 * @return bool
    548541 * @since 1.0.0
     
    559552        $has_wpfm_shortcode = array('add_food', 'food_dashboard', 'foods', 'food_categories', 'food_type', 'food', 'food_summary', 'food_apply');
    560553
    561         /**
    562          * Filters a list of all shortcodes associated with WPFM.
    563          *
    564          * @param string[] $has_wpfm_shortcode
    565          * @since 1.0.0
    566          */
     554        // Filters a list of all shortcodes associated with WPFM.
     555
    567556        $has_wpfm_shortcode = array_unique(apply_filters('food_manager_shortcodes', $has_wpfm_shortcode));
    568557        if (null !== $tag) {
     
    581570    }
    582571
    583     /**
    584      * Filter the result of has_wpfm_shortcode()
    585      *
    586      * @param bool $has_wpfm_shortcode
    587      * @since 1.0.0
    588      */
     572    // Filter the result of has_wpfm_shortcode() function.
    589573    return apply_filters('has_wpfm_shortcode', $has_wpfm_shortcode);
    590574}
    591575
    592576/**
    593  * Checks if the current page is a food listing.
     577 * This is_wpfm_food_listing() functio is used to Checks if the current page is a food listing.
    594578 *
    595579 * @return bool
     
    602586if (!function_exists('wpfm_get_filtered_links')) :
    603587    /**
    604      * Shows links after filtering foods
     588     * This wpfm_get_filtered_links() function Shows links after filtering foods.
    605589     *
    606590     * @param array $args (default: array())
     
    613597
    614598        // Convert to slugs
    615         if ($args['search_categories']) {
     599        if (isset($args['search_categories'])) {
    616600            foreach ($args['search_categories'] as $category) {
    617601                if (is_numeric($category)) {
     
    626610        }
    627611
    628         // Convert to slugs
    629         if ($args['search_food_types']) {
     612        // Convert to slugs.
     613        if (isset($args['search_food_types'])) {
    630614            foreach ($args['search_food_types'] as $type) {
    631615                if (is_numeric($type)) {
     
    665649        ), $args);
    666650
    667         if (!$args['search_keywords'] && !$args['search_categories'] && !$search_food_menu && !$args['search_food_types']  && !apply_filters('wpfm_get_listings_custom_filter', false)) {
     651        if (!isset($args['search_keywords']) && !isset($args['search_categories']) && !$search_food_menu && !$args['search_food_types']  && !apply_filters('wpfm_get_listings_custom_filter', false)) {
    668652            unset($links['reset']);
    669653        }
     
    684668if (!function_exists('get_food_manager_rss_link')) :
    685669    /**
    686      * Get the Food Listing RSS link
     670     * This get_food_manager_rss_link() function is used to get the Food Listing RSS link.
    687671     *
    688672     * @return string
     
    697681
    698682/**
    699  * Prepare files for upload by standardizing them into an array. This adds support for multiple file upload fields.
     683 * This wpfm_prepare_uploaded_files() function Prepare files for upload by standardizing them into an array. This adds support for multiple file upload fields.
    700684 *
    701685 * @param  array $file_data
     
    728712
    729713/**
    730  * Upload a file using WordPress file API.
     714 * This wpfm_upload_file() function is used to Upload a file using WordPress file API.
    731715 *
    732716 * @param  array $file_data Array of $_FILE data to upload.
    733  * @param  array $args Optional arguments
    734  * @return array|WP_Error Array of objects containing either file information or an error
     717 * @param  array $args Optional arguments.
     718 * @return array|WP_Error Array of objects containing either file information or an error.
    735719 * @since 1.0.0
    736720 */
     
    758742
    759743    /**
    760      * Filter file configuration before upload
     744     * Filter file configuration before upload.
     745     * This filter can be used to modify the file arguments before being uploaded, or return a WP_Error object to prevent the file from being uploaded, and return the error.
    761746     *
    762      * This filter can be used to modify the file arguments before being uploaded, or return a WP_Error
    763      * object to prevent the file from being uploaded, and return the error.
    764      *
    765      * @param array $file               Array of $_FILE data to upload.
    766      * @param array $args               Optional file arguments
     747     * @param array $file - Array of $_FILE data to upload.
     748     * @param array $args - Optional file arguments.
    767749     * @param array $allowed_mime_types Array of allowed mime types from field config or defaults
    768750     * @since 1.0.0
     
    800782
    801783/**
    802  * Get the food order which is arrange by the backend.
     784 * This get_food_order_by() function is used to get the food order which is arrange by the backend.
    803785 *
    804786 * @return array
     
    820802
    821803/**
    822  * Allowed Mime types specifically for WP Food Manager.
     804 * This wpfm_get_allowed_mime_types() function is Allowed Mime types specifically for WP Food Manager.
    823805 *
    824  * @param   string $field Field used.
     806 * @param   string $field The field key for the upload..
    825807 * @return  array  Array of allowed mime types
     808 * @param array  {
     809 *  Array of allowed file extensions and mime types.
     810 *  Key is pipe-separated file extensions. Value is mime type.
     811 * }
    826812 * @since 1.0.0
    827813 */
     
    836822    );
    837823
    838     /**
    839      * Mime types to accept in uploaded files.
    840      * Default is image, pdf, and doc(x) files.
    841      *
    842      * @param array  {
    843      *     Array of allowed file extensions and mime types.
    844      *     Key is pipe-separated file extensions. Value is mime type.
    845      * }
    846      * @param string $field The field key for the upload.
    847      * @since 1.0.0
    848      */
     824    //  Mime types to accept in uploaded files, Default is image, pdf, and doc(x) files.
    849825    return apply_filters('wpfm_mime_types', $allowed_mime_types, $field);
    850826}
    851827
    852828/**
    853  * Get the page ID of a page if set, with PolyLang compat.
    854  * @param  string $page e.g. food_dashboard, add_food, foods
     829 * This food_manager_get_page_id() function is used to get the page ID of a page if set, with PolyLang compat.
     830 * @param  string $page e.g. food_dashboard, add_food, foods.
    855831 * @return int
    856832 * @since 1.0.0
     
    866842
    867843/**
    868  * Get the permalink of a page if set
     844 * This food_manager_get_permalink() function is used to get the permalink of a page if set.
    869845 * @param  string $page e.g. food_dashboard, add_food, foods
    870846 * @return string|bool
     
    880856
    881857/**
    882  * Duplicate the food by food id.
     858 * This food_manager_duplicate_listing() function Duplicates the food by food id.
    883859 * @param  int $post_id
    884860 * @return int 0 on fail or the post ID.
     
    891867    global $wpdb;
    892868
    893     /**
    894      * Duplicate the post.
    895      */
     869    // Duplicate the post.
     870
    896871    $new_post_id = wp_insert_post(array(
    897872        'comment_status' => esc_attr($post->comment_status),
     
    910885    ));
    911886
    912     /**
    913      * Copy taxonomies.
    914      */
     887    // Copy taxonomies.
    915888    $taxonomies = get_object_taxonomies($post->post_type);
    916889    foreach ($taxonomies as $taxonomy) {
     
    918891        wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
    919892    }
    920 
    921     /*
    922      * Duplicate post meta, aside from some reserved fields.
    923      */
     893   
     894    //  Duplicate post meta, aside from some reserved fields.
     895   
    924896    $post_meta = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM {$wpdb->postmeta} WHERE post_id=%d", $post_id));
    925897    do_action('food_manager_duplicate_listing_meta_start', $post_meta, $post, $new_post_id);
     
    939911
    940912/**
    941  * True if only one type allowed per food
     913 * This food_manager_multiselect_food_type() function return True if only one type allowed per food.
    942914 *
    943915 * @return bool
     
    959931
    960932/**
    961  * True if only one category allowed per food
     933 * This food_manager_multiselect_food_category() function return True if only one category allowed per food.
    962934 *
    963935 * @return bool
     
    979951
    980952/**
    981  * Checks to see if the standard password setup email should be used.
    982  *
     953 * This food_manager_use_standard_password_setup_email() function checks to see if the standard password setup email should be used.
    983954 * @return bool True if they are to use standard email, false to allow user to set password at first food creation.
     955 * @param bool $use_standard_password_setup_email True if a standard account setup email should be sent.
    984956 * @since 1.0.0
    985957 */
     
    987959    $use_standard_password_setup_email = false;
    988960    // If username is being automatically generated, force them to send password setup email.
    989 
    990961    if (food_manager_generate_username_from_email()) {
    991962        $use_standard_password_setup_email = get_option('food_manager_use_standard_password_setup_email', 1) == 1 ? true : false;
    992963    }
    993964
    994     /**
    995      * Allows an override of the setting for if a password should be auto-generated for new users.
    996      *
    997      * @param bool $use_standard_password_setup_email True if a standard account setup email should be sent.
    998      * @since 1.0.0
    999      */
     965    // Allows an override of the setting for if a password should be auto-generated for new users.
    1000966    return apply_filters('food_manager_use_standard_password_setup_email', $use_standard_password_setup_email);
    1001967}
    1002968
    1003969/**
    1004  * Checks if a password should be auto-generated for new users.
     970 * This food_manager_validate_new_password() function Check if a password should be auto-generated for new users.
    1005971 *
    1006972 * @param string $password Password to validate.
    1007973 * @return bool True if password meets rules.
     974 * @param bool   $is_valid_password True if new password is validated.
     975 * @param string $password - Password to validate.
    1008976 * @since 1.0.0
    1009977 */
     
    1012980    $is_valid_password = strlen(trim($password)) >= 8;
    1013981
    1014     /**
    1015      * Allows overriding default food Manager password validation rules.
    1016      *
    1017      * @param bool   $is_valid_password True if new password is validated.
    1018      * @param string $password          Password to validate.
    1019      * @since 1.0.0
    1020      */
     982    // Allows overriding default food Manager password validation rules.
    1021983    return apply_filters('food_manager_validate_new_password', $is_valid_password, $password);
    1022984}
    1023985
    1024986/**
    1025  * Returns the password rules hint.
    1026  *
     987 * This food_manager_get_password_rules_hint() function Returns the password rules hint.
     988 * @param string $password_rules Password rules description.
    1027989 * @return string
    1028990 * @since 1.0.0
    1029991 */
    1030992function food_manager_get_password_rules_hint() {
    1031 
    1032     /**
    1033      * Allows overriding the hint shown below the new password input field. Describes rules set in `food_manager_validate_new_password`.
    1034      *
    1035      * @param string $password_rules Password rules description.
    1036      * @since 1.0.0
    1037      */
     993    // Allows overriding the hint shown below the new password input field. Describes rules set in `food_manager_validate_new_password`.
    1038994    return apply_filters('food_manager_password_rules_hint', __('Passwords must be at least 8 characters long.', 'wp-food-manager'));
    1039995}
     
    1041997if (!function_exists('get_food_listing_post_statuses')) :
    1042998    /**
    1043      * Get post statuses used for foods.
     999     * This get_food_listing_post_statuses() function is used to get post statuses used for foods.
    10441000     *
    10451001     * @access public
     
    10611017if (!function_exists('get_food_listing_types')) :
    10621018    /**
    1063      * Get food listing types.
     1019     * This get_food_listing_types() function is used to get food listing types.
    10641020     *
    10651021     * @access public
     
    10791035            );
    10801036            $args = apply_filters('get_food_listing_types_args', $args);
    1081             // Prevent users from filtering the taxonomy
     1037            // Prevent users from filtering the taxonomy.
    10821038            $args['taxonomy'] = 'food_manager_type';
    10831039            return get_terms($args);
     
    10881044if (!function_exists('get_food_listing_categories')) :
    10891045    /**
    1090      * Get food categories.
     1046     * This get_food_listing_categories() function is used to get food categories.
    10911047     *
    10921048     * @access public
     1049     * @param array $args
    10931050     * @return array
    10941051     * @since 1.0.0
     
    11031060            'hide_empty' => false,
    11041061        );
    1105         /**
    1106          * Change the category query arguments.
    1107          *
    1108          * @param array $args
    1109          * @since 1.0.0
    1110          */
     1062        // Change the category query arguments.
    11111063        $args = apply_filters('get_food_listing_category_args', $args);
    11121064        // Prevent users from filtering the taxonomy.
     
    11171069
    11181070/**
    1119  * Get Base Currency Code.
     1071 * This get_food_manager_currency() function is used to get Base Currency Code.
    11201072 *
    11211073 * @return string
     
    11271079
    11281080/**
    1129  * Get full list of currency codes.
    1130  * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols)
     1081 * This get_food_manager_currencies() function is used to get full list of currency codes.
     1082 * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols).
    11311083 *
    11321084 * @return array
     
    13131265
    13141266/**
    1315  * Get all available Currency symbols.
    1316  * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols)
     1267 * This get_food_manager_currency_symbols() function is used to Get all available Currency symbols.
     1268 * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols).
    13171269 *
    13181270 * @return array
     
    14941446
    14951447/**
    1496  * Get Currency symbol.
    1497  * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols)
    1498  *
    1499  * @param string $currency Currency. (default: '').
     1448 * This get_food_manager_currency_symbol() function is used to get Currency symbol.
     1449 * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols).
     1450 *
     1451 * @param string $currency (default: '').
    15001452 * @return string
    15011453 * @since 1.0.0
     
    15111463
    15121464/**
    1513  * Get the price format depending on the currency position.
     1465 * This get_food_manager_price_format() function is used to get the price format depending on the currency position.
    15141466 *
    15151467 * @return string
     
    15391491
    15401492/**
    1541  * Return the thousand separator for prices.
     1493 * This wpfm_get_price_thousand_separator() function returns the thousand separator for prices.
    15421494 *
    15431495 * @return string
     
    15491501
    15501502/**
    1551  * Return the decimal separator for prices.
     1503 * This wpfm_get_price_decimal_separator() function returns the decimal separator for prices.
    15521504 *
    15531505 * @return string
     
    15601512
    15611513/**
    1562  * Return the number of decimals after the decimal point.
     1514 * This wpfm_get_price_decimals() function returns the number of decimals after the decimal point.
    15631515 *
    15641516 * @return int
     
    15701522
    15711523/**
    1572  * Returns the wordpress dashicons's content with classes.
     1524 * This wpfm_get_dashicons() function returns the wordpress dashicons's content with classes.
    15731525 *
    15741526 * @return array
     
    17441696
    17451697/**
    1746  * Return the food font icons.
     1698 * This wpfm_get_font_food_icons() function returns the food font icons.
    17471699 *
    17481700 * @return array
     
    17891741
    17901742/**
    1791  * Check if given string ($str) is begin with the second parameter ($begnString) of function.
     1743 * This wpfm_begnWith() Checks if given string ($str) is begin with the second parameter ($begnString) of function.
    17921744 *
    17931745 * @param string $str
     
    18061758if (!function_exists('get_food_listings_keyword_search')) :
    18071759    /**
    1808      * Join and where query for keywords
     1760     * This get_food_listings_keyword_search() function Join and where query for keywords.
    18091761     *
    18101762     * @param array $search
     
    18141766        global $wpdb, $food_manager_keyword;
    18151767
    1816         // Searchable Meta Keys: set to empty to search all meta keys
     1768        // Searchable Meta Keys: set to empty to search all meta keys.
    18171769        $searchable_meta_keys = array(
    18181770            '_food_location',
     
    18231775        $conditions   = array();
    18241776
    1825         // Search Post Meta
     1777        // Search Post Meta.
    18261778        if (apply_filters('food_listing_search_post_meta', true)) {
    1827             // Only selected meta keys
     1779            // Only selected meta keys.
    18281780            if ($searchable_meta_keys) {
    18291781                $conditions[] = "{$wpdb->posts}.ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key IN ( '" . implode("','", array_map('esc_sql', $searchable_meta_keys)) . "' ) AND meta_value LIKE '%" . esc_sql($food_manager_keyword) . "%' )";
     
    18341786        }
    18351787
    1836         // Search taxonomy
     1788        // Search taxonomy.
    18371789        $conditions[] = "{$wpdb->posts}.ID IN ( SELECT object_id FROM {$wpdb->term_relationships} AS tr LEFT JOIN {$wpdb->term_taxonomy} AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id LEFT JOIN {$wpdb->terms} AS t ON tt.term_id = t.term_id WHERE t.name LIKE '%" . esc_sql($food_manager_keyword) . "%' )";
    18381790
     
    18401792         * Filters the conditions to use when querying food listings. Resulting array is joined with OR statements.
    18411793         *
    1842          * @param array  $conditions         Conditions to join by OR when querying food listings.
     1794         * @param array  $conditions - Conditions to join by OR when querying food listings.
    18431795         * @param string $food_manager_keyword Search query.
    1844          * @since 1.0.0
    18451796         */
    18461797        $conditions = apply_filters('food_listing_search_conditions', $conditions, $food_manager_keyword);
     
    18621813
    18631814/**
    1864  * Checks if the user can upload a file via the Ajax endpoint.
    1865  *
     1815 * This food_manager_user_can_upload_file_via_ajax() function Checks if the user can upload a file via the Ajax endpoint.
     1816 * @param bool $can_upload True if they can upload files from Ajax endpoint.
    18661817 * @return bool
    18671818 * @since 1.0.0
     
    18701821    $can_upload = is_user_logged_in() && wpfm_user_can_post_food();
    18711822
    1872     /**
    1873      * Override ability of a user to upload a file via Ajax.
    1874      *
    1875      * @param bool $can_upload True if they can upload files from Ajax endpoint.
    1876      * @since 1.0.0
    1877      */
     1823    // Override ability of a user to upload a file via Ajax.
    18781824    return apply_filters('food_manager_user_can_upload_file_via_ajax', esc_attr($can_upload));
    18791825}
    18801826
    18811827/**
    1882  * Checks if the user can upload a file via the Ajax endpoint.
     1828 * This wpfm_extra_topping_form_fields() function checks if the user can upload a file via the Ajax endpoint.
    18831829 *
    18841830 * @param mixed $post
     
    20932039
    20942040/**
    2095  * Use radio inputs instead of checkboxes for term checklists in specified taxonomies such as 'food_manager_type'.
     2041 * This wpfm_term_radio_checklist_for_food_type() Use radio inputs instead of checkboxes for term checklists in specified taxonomies such as 'food_manager_type'.
    20962042 *
    20972043 * @param array $args
     
    21322078
    21332079/**
    2134  * Check if given array is multi-array or not.
     2080 * This wpfm_isMultiArray() Checks if given array is multi-array or not.
    21352081 *
    21362082 * @return bool
     
    21462092
    21472093/**
    2148  * Return the given taxnomy list array and display the category checklist html.
     2094 * This wpfm_category_checklist() function return the given taxnomy list array and display the category checklist html.
    21492095 *
    21502096 * @return $popular_ids
     
    21552101 */
    21562102function wpfm_category_checklist($taxonomy, $key_name, $checked_term) {
    2157     // Get terms
     2103    // Get terms.
    21582104    $terms = get_terms(
    21592105        array(
     
    21642110    );
    21652111
    2166     // Get taxonomy
     2112    // Get taxonomy.
    21672113    $tax = get_taxonomy($taxonomy);
    21682114    $popular_ids = array();
     
    21842130
    21852131/**
    2186  * Return the given taxnomy list array and display the category dropdown html.
     2132 * This wpfm_dropdown_categories() returns the given taxnomy list array and display the category dropdown html.
    21872133 *
    21882134 * @return $popular_ids
     
    22172163
    22182164/**
    2219  * Check if term id given as a terms array is exist or not.
     2165 * This is_wpfm_terms_exist() checks if term id given as a terms array is exist or not.
    22202166 *
    22212167 * @return $displayTerms
     
    22372183    return esc_attr($displayTerms);
    22382184}
     2185
     2186/**
     2187* This function is used to display those food menus which is added by current user.
     2188*
     2189* @since 1.0.0
     2190*/
     2191function wpfm_term_menu_lists(){
     2192    global $wpdb;
     2193    $current_user = wp_get_current_user();
     2194    $authors = [ $current_user->ID ];
     2195
     2196    $query_args = [
     2197        'author__in'    =>  $authors,
     2198        'post_type' => 'food_manager_menu',
     2199        'post_per_page' => '1',
     2200        'order'         =>  'ASC'
     2201    ];
     2202
     2203    $wpfm_menu_lists = get_posts( $query_args );
     2204    if( !empty( $wpfm_menu_lists ) ) :
     2205        $items = array();       
     2206        foreach( $wpfm_menu_lists as $wpfm_menu_list ) :
     2207            $items[$wpfm_menu_list->ID] =  $wpfm_menu_list->post_title;
     2208        endforeach; ?>
     2209    <?php endif;
     2210    if(!empty($items)){
     2211        return $items;
     2212    }
     2213}
  • wp-food-manager/trunk/wp-food-manager-template.php

    r2930934 r3022874  
    22
    33/**
    4  * Template Functions
     4 * This file contain all templates realted functions.
    55 * Template functions specifically created for food listings and other food related methods.
    66 *
     
    99 */
    1010
    11 /**
    12  * Returns the translated role of the current user. If that user has
    13  * no role for the current blog, it returns false.
     11
     12/**
     13 * Returns the translated role of the current user. If that user has no role for the current blog, it returns false.
    1414 *
    1515 * @return string The name of the current role
     
    126126
    127127/**
    128  * Get the template part (for templates in loops).
     128 * This get_food_manager_template_part() function is used to get the template part (for templates in loops).
    129129 *
    130130 * @param string $slug
     
    148148
    149149/**
    150  * Get the food banner url if not then return placeholder image.
     150 * This get_food_banner() function is used to get the food banner url if not then return placeholder image.
    151151 *
    152152 * @access public
     
    171171
    172172/**
    173  * Get the food Thumbnail url if not then return placeholder image.
     173 * This get_food_thumbnail() function is used to get the food Thumbnail url if not then return placeholder image.
    174174 *
    175175 * @access public
     
    190190
    191191/**
    192  * Display the food price tag.
     192 * This display_food_price_tag() function is used to display the food price tag.
    193193 *
    194194 * @access public
     
    227227
    228228/**
    229  * Display the food banner.
     229 * This display_food_banner() function is used to display the food banner.
    230230 *
    231231 * @access public
     
    253253
    254254/**
    255  * This function is use to get the counts the food views and also used at food.
     255 * This get_food_views_count() function is use to get the counts of the food views and also used at food.
    256256 *
    257257 *  @return number counted view.
     
    271271
    272272/**
    273  * Display the food veg or non-veg or vegan icon.
     273 * This display_food_veg_nonveg_icon_tag() function is used to display the food veg or non-veg or vegan icon.
    274274 *
    275275 * @access public
     
    304304            if (!empty($imagePath)) {
    305305                $data_icon_label = ucwords(str_replace("-", " ", sanitize_title($wpfm_veg_nonveg_tag->slug)));
    306                 echo '<div class="parent-organic-tag ' . sanitize_title($wpfm_veg_nonveg_tag->slug) . '" data-icon-type="' . $data_icon_label . '"><img alt="' . $wpfm_veg_nonveg_tag->slug . '" src="' . $imagePath . '" class="wpfm-organic-tag-icon ' . sanitize_title($wpfm_veg_nonveg_tag->slug) . '"></div>';
     306                echo '<div class="wpfm-food-type-tag ' . sanitize_title($wpfm_veg_nonveg_tag->slug) . '"><img alt="' . $wpfm_veg_nonveg_tag->slug . '" src="' . $imagePath . '" class="wpfm-organic-tag-icon ' . sanitize_title($wpfm_veg_nonveg_tag->slug) . '"></div>';
    307307            }
    308308        }
     
    311311
    312312/**
    313  * Get the food veg or non-veg or vegan icon.
     313 * This get_food_veg_nonveg_icon_tag() function is used to get the food veg or non-veg or vegan icon.
    314314 *
    315315 * @access public
     
    328328
    329329/**
    330  * Display the food type.
     330 * This display_food_type() function is used to display the food type.
    331331 *
    332332 * @access public
     
    360360
    361361/**
    362  * Get the food type.
     362 * This get_food_type() function is used get the food type.
    363363 *
    364364 * @access public
     
    379379
    380380/**
    381  * Display the food tag.
     381 * This display_food_tag() function is used to display the food tag.
    382382 *
    383383 * @access public
     
    411411
    412412/**
    413  * Get the food tag.
     413 * This get_food_tag() function is used to get the food tag.
    414414 *
    415415 * @access public
     
    430430
    431431/**
    432  * Display the food Category.
     432 * This display_food_category() function is used to display the food Category.
    433433 *
    434434 * @access public
     
    452452                        'class'       => array()
    453453                    ),
    454 
    455454                ));
    456455                if ($numCategory > ++$i) {
     
    465464
    466465/**
    467  * Get the food Category.
     466 * This get_food_category() function is used to get the food Category.
    468467 *
    469468 * @access public
     
    482481
    483482/**
    484  * Display the food ingredients.
     483 * This display_food_ingredients() function is used to display the food ingredients.
    485484 *
    486485 * @access public
     
    513512
    514513/**
    515  * Get the food ingredients.
     514 * This get_food_ingredients() function is used to get the food ingredients.
    516515 *
    517516 * @access public
     
    530529
    531530/**
    532  * Display the food nutritions.
     531 * This display_food_nutritions() function is used to  display the food nutritions.
    533532 *
    534533 * @access public
     
    561560
    562561/**
    563  * Get the food nutritions.
     562 * This get_food_nutritions() function is used to get the food nutritions.
    564563 *
    565564 * @access public
     
    578577
    579578/**
    580  * Display the food Units.
     579 * This display_food_units() function is used to display the food Units.
    581580 *
    582581 * @access public
     
    602601
    603602/**
    604  * Get the food Units.
     603 * This get_food_units() function is used to get the food Units.
    605604 *
    606605 * @access public
     
    619618
    620619/**
    621  * Display the food permalink.
     620 * This display_food_permalink() function is used to diplay the food permalink.
    622621 *
    623622 * @access public
     
    631630
    632631/**
    633  * Get the food permalink.
     632 * This get_food_permalink() function is used to get the food permalink.
    634633 *
    635634 * @access public
     
    645644
    646645/**
    647  * Display the Class attribute with the class formatted string.
     646 * This food_manager_class() function is used to display the Class attribute with the class formatted string.
    648647 *
    649648 * @access public
     
    659658
    660659/**
    661  * Get the Class with the class formatted string.
     660 * This get_food_manager_class() function is used to get the Class with the class formatted string.
    662661 *
    663662 * @access public
     
    694693
    695694/**
    696  * Outputs the Food status.
     695 * This display_food_status() function is used to outputs Of the Food status.
    697696 *
    698697 * @param $post (default: null)
     
    705704
    706705/**
    707  * Gets the food status.
     706 * This get_food_status() function is used to gets the food status.
    708707 *
    709708 * @param $post (default: null)
     
    724723
    725724/**
    726  * Display the food stock status.
     725 * This display_stock_status() function is used to display the food stock status.
    727726 *
    728727 * @access public
     
    733732 */
    734733function display_stock_status($post = null, $after = '') {
    735     if ($food_stock_status = get_stock_status($post)) {
    736         if (!empty($food_stock_status)) {
    737             $food_stock_status_label = "";
    738             if ($food_stock_status == 'fm_instock') {
    739                 $food_stock_status_label = 'In stock';
    740             }
    741             if ($food_stock_status == 'fm_outofstock') {
    742                 $food_stock_status_label = 'Out of stock';
    743             }
    744             echo '<mark class="' . $food_stock_status . '">' . esc_html($food_stock_status_label) . '</mark>';
    745         }
    746     }
    747 }
    748 
    749 /**
    750  * Get the food stock status.
     734    $food_stock_status = get_stock_status($post);
     735
     736    if (is_array($food_stock_status)) {
     737        //display individual stock statuses.
     738        foreach ($food_stock_status as $status) {
     739            display_single_stock_status($status);
     740        }
     741    } else if (is_string($food_stock_status) && !empty($food_stock_status)) {
     742        // Handling string type
     743        $food_stock_status_label = "";
     744        if ($food_stock_status == 'fm_instock') {
     745            $food_stock_status_label = 'In stock';
     746        } elseif ($food_stock_status == 'fm_outofstock') {
     747            $food_stock_status_label = 'Out of stock';
     748        }
     749        echo '<mark class="' . esc_attr($food_stock_status) . '">' . esc_html($food_stock_status_label) . '</mark>';
     750    }
     751}
     752
     753/**
     754 * This display_single_stock_status() function is used to display individual stock status.
     755 *
     756 * @access public
     757 * @return void
     758 * @since 1.0.0
     759 */
     760function display_single_stock_status($food_stock_status) {
     761    $food_stock_status_label = "";
     762    if ($food_stock_status == 'fm_instock') {
     763        $food_stock_status_label = 'In stock';
     764    } elseif ($food_stock_status == 'fm_outofstock') {
     765        $food_stock_status_label = 'Out of stock';
     766    }
     767    echo '<mark class="' . esc_attr($food_stock_status) . '">' . esc_html($food_stock_status_label) . '</mark>';
     768}
     769
     770/**
     771 * This get_stock_status() function is used to get the food stock status.
    751772 *
    752773 * @access public
     
    757778function get_stock_status($post = null) {
    758779    $post = get_post($post);
    759     $stock_status = get_post_meta(get_the_ID(), '_food_stock_status', true);
     780    $stock_status = get_post_meta($post->ID, '_food_stock_status', true);
    760781    return apply_filters('display_stock_status', $stock_status, $post);
    761782}
    762783
    763784/**
    764  * Display the food description.
     785 * This display_food_description() is used to display the food description.
    765786 *
    766787 * @param int|WP_Post $post (default: null)
     
    775796
    776797/**
    777  * Get the food description.
     798 * This get_food_description() function is used to get the food description.
    778799 *
    779800 * @param int|WP_Post $post (default: null)
    780801 * @return string|bool|null
     802 * @param string $description Description to be filtered.
    781803 * @since 1.0.0
    782804 */
     
    787809    }
    788810    $description = apply_filters('display_food_description', get_the_content($post));
    789     /**
    790      * Filter for the food description.
    791      *
    792      * @param string $description Description to be filtered.
    793      * @param int|WP_Post $post
    794      * @since 1.0.0
    795      */
     811
     812    // This Filter apply for the food description.
    796813    return apply_filters('food_manager_get_food_description', sanitize_textarea_field($description), $post);
    797814}
    798815
    799816/**
    800  * Display the food title.
     817 * This display_food_title() function is used to display the food title.
    801818 *
    802819 * @param int|WP_Post $post
     
    811828
    812829/**
    813  * Get the food title.
     830 * This get_food_title() funnction is used to get the food title.
    814831 *
    815832 * @param int|WP_Post $post (default: null)
    816833 * @return string|bool|null
     834 * @param string $title Title to be filtered.
    817835 * @since 1.0.0
    818836 */
     
    823841    }
    824842    $title = esc_html(get_the_title($post));
    825     /**
    826      * Filter for the food title.
    827      *
    828      * @param string $title Title to be filtered.
    829      * @param int|WP_Post $post
    830      * @since 1.0.0
    831      */
     843
     844    //  This Filter apply for the food title.
    832845    return apply_filters('display_food_title', sanitize_text_field($title), $post);
    833846}
    834847
    835848/**
    836  * Returns if we allow indexing of a food listing.
     849 * This wpfm_allow_indexing_food_listing() function Returns if we allow indexing of a food listing.
    837850 *
    838851 * @param WP_Post|int|null $post (default: null)
    839852 * @return bool
     853 * @param bool $index_food_listing True if we should allow indexing of food listing.
    840854 * @since 1.0.0
    841855 */
     
    847861    // Only index food listings that are not expired and published.
    848862    $index_food_listing = 'publish' === $post->post_status;
    849     /**
    850      * Filter if we should allow indexing of food listing.
    851      *
    852      * @param bool $index_food_listing True if we should allow indexing of food listing.
    853      * @since 1.0.0
    854      */
     863   
     864    // This Filter apply if we should allow indexing of food listing.
    855865    return apply_filters('wpfm_allow_indexing_food_listing', $index_food_listing);
    856866}
    857867
    858868/**
    859  * Returns if we output food listing structured data for a post.
     869 * This wpfm_output_food_listing_structured_data() function Returns if we output food listing structured data for a post.
    860870 *
    861871 * @param WP_Post|int|null $post (default: null)
    862872 * @return bool
     873 * @param bool $output_structured_data True if we should show structured data for post.
    863874 * @since 1.0.0
    864875 */
     
    870881    // Only show structured data for un-filled and published food listings.
    871882    $output_structured_data = 'publish' === $post->post_status;
    872     /**
    873      * Filter if we should output structured data.
    874      *
    875      * @param bool $output_structured_data True if we should show structured data for post.
    876      * @since 1.0.0
    877      */
     883
     884    // This Filter apply if we should output structured data.
    878885    return apply_filters('wpfm_output_food_listing_structured_data', $output_structured_data);
    879886}
    880887
    881888/**
    882  * Gets the structured data for the food listing.
     889 * This wpfm_get_food_listing_structured_data() function is used to gets the structured data for the food listing.
    883890 *
    884891 * @see https://developers.google.com/search/docs/data-types/foods
     
    886893 * @param WP_Post|int|null $post (default: null)
    887894 * @return bool|array False if functionality is disabled; otherwise array of structured data.
     895 * @param bool|array $structured_data False if functionality is disabled; otherwise array of structured data.
    888896 * @since 1.0.0
    889897 */
     
    910918    $data['image'] = $food_banner;
    911919    $data['foodStatus'] = 'foodScheduled';
    912     /**
    913      * Filter the structured data for a food listing.
    914      *
    915      * @param bool|array $structured_data False if functionality is disabled; otherwise array of structured data.
    916      * @param WP_Post $post
    917      * @since 1.0.0
    918      */
     920   
     921    // Filter the structured data for a food listing.
    919922    return apply_filters('wpfm_get_food_listing_structured_data', $data, $post);
    920923}
  • wp-food-manager/trunk/wp-food-manager.php

    r2930934 r3022874  
    22
    33/**
     4 * Contributors: wpfoodmanager,ashokdudhat,krinay
    45 * Plugin Name: WP Food Manager
    56 * Plugin URI: https://www.wpfoodmanager.com/
     
    910 * Text Domain: wp-food-manager
    1011 * Domain Path: /languages
    11  * Version: 1.0.4
     12 * Version: 1.0.5
    1213 * Since: 1.0.0
    1314 * Requires WordPress Version at least: 4.1
     
    5253     * Main WP Food Manager Instance.
    5354     * Ensures only one instance of WP Food Manager is loaded or can be loaded.
    54      *
     55     * 
    5556     * @static
    5657     * @see WP_Food_Manager()
Note: See TracChangeset for help on using the changeset viewer.