HEX
Server: nginx/1.26.1
System: Linux main-vm 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User: root (0)
PHP: 8.2.19
Disabled: NONE
Upload Files
File: /var/www/bellecouture/wp-content/themes/yena/framework/third/dokan.php
<?php
if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

if(!function_exists('yena_dokan_override_current_title')){

    function yena_dokan_override_current_title( $title ){
        if(function_exists('dokan_is_store_page') && dokan_is_store_page()){
            $store_user         = dokan()->vendor->get( get_query_var( 'author' ) );
            return $store_user->get_shop_name();
        }
        return $title;
    }

    add_filter('yena/filter/current_title', 'yena_dokan_override_current_title');
}

if(!function_exists('yena_dokan_override_breadcrumbs')){

    function yena_dokan_override_breadcrumbs( $items, $args ){

        if (  function_exists('dokan_is_store_page') && dokan_is_store_page() ) {
            $store_user   = dokan()->vendor->get( get_query_var( 'author' ) );

            if ( is_paged() ){
                $tmp = '';
                if( count($items) > 1 ){
                    $tmp = $items[(count($items) - 1)];
                    unset($items[(count($items) - 1)]);
                }
                $items[] = sprintf( '<a href="%s" itemprop="item">%s</a>', esc_url( dokan_get_store_url( $store_user->get_id() ) ), $store_user->get_shop_name() );
                $items[] = $tmp;
            }
            else{
                $items[] = $store_user->get_shop_name();
            }
        }

        return $items;
    }

    add_filter('breadcrumb_trail_items', 'yena_dokan_override_breadcrumbs', 10, 2);
}

if(!function_exists('yena_override_dokan_main_query')){
    function yena_override_dokan_main_query( $query ) {
        if(function_exists('dokan_is_store_page') && dokan_is_store_page() && isset($query->query['term_section'])){
            $query->set('posts_per_page', 0);

            // fixed for WC 3.7
            if( ! empty( $_GET['orderby'] ) ) {
                $query->set('page_id', 0);
                $query->is_page = false;
                $query->is_singular = false;
            }

            WC()->query->product_query( $query );
        }
    }
    add_action('pre_get_posts', 'yena_override_dokan_main_query', 11);
}

if(!function_exists('yena_dokan_render_page_header')){
    function yena_dokan_render_page_header(){
        if(function_exists('dokan_is_store_page') && dokan_is_store_page()){
            if(dokan_get_option('enable_theme_store_header_tpl', 'dokan_general') == 'on'){
                get_template_part('dokan/store-custom-header');
            }
        }
    }
    add_action( 'yena/action/before_content_wrap', 'yena_dokan_render_page_header' );
}

if(!function_exists('yena_dokan_add_field_to_admin_setting_panels')){
    function yena_dokan_add_field_to_admin_setting_panels( $fields ){

        if(isset($fields['dokan_general'])){
            $fields['dokan_general']['store_banner_width'] = array(
                'name'    => 'store_banner_width',
                'label'   => esc_html__( 'Store Banner width', 'yena' ),
                'type'    => 'text',
                'default' => 625
            );
            $fields['dokan_general']['store_banner_height'] = array(
                'name'    => 'store_banner_height',
                'label'   => esc_html__( 'Store Banner height', 'yena' ),
                'type'    => 'text',
                'default' => 300
            );
            $fields['dokan_general']['enable_theme_store_header_tpl'] = array(
                'name'    => 'enable_theme_store_header_tpl',
                'label'   => esc_html__( 'Store Header Template', 'yena' ),
                'desc'    => esc_html__( 'Use Store Header Template from the theme', 'yena' ),
                'type'    => 'checkbox',
                'default' => 'on'
            );
        }
        return $fields;
    }

    add_filter('dokan_settings_fields', 'yena_dokan_add_field_to_admin_setting_panels', 0);
}

if(!function_exists('yena_dokan_add_store_banner_image_size_for_getter')){
    function yena_dokan_add_store_banner_image_size_for_getter( $data ){
        $data['store_banner_width_dokan_appearance']  = array( 'store_banner_width', 'dokan_general' );
        $data['store_banner_height_dokan_appearance']  = array( 'store_banner_height', 'dokan_general' );
        return $data;
    }
    add_filter('dokan_admin_settings_rearrange_map', 'yena_dokan_add_store_banner_image_size_for_getter');
}

if(!function_exists('yena_dokan_add_shop_sidebar')){
    function yena_dokan_add_shop_sidebar( $sidebar ){
        if(function_exists('dokan_is_store_page') && dokan_is_store_page()){
            $enable_theme_store_sidebar = dokan_get_option( 'enable_theme_store_sidebar', 'dokan_general', 'off' );
            if($enable_theme_store_sidebar == 'on'){
                $sidebar = yena_get_option('shop_sidebar', $sidebar);
            }
            else{
                $sidebar = 'sidebar-store';
            }
        }
        return $sidebar;
    }
    add_filter('yena/filter/sidebar_primary_name', 'yena_dokan_add_shop_sidebar', 30 );
}

if(!function_exists('yena_dokan_override_vendor_site_layout')){
    function yena_dokan_override_vendor_site_layout( $layout ){

        if(function_exists('dokan_is_store_page') && dokan_is_store_page()){
            if(is_active_sidebar(apply_filters('yena/filter/sidebar_primary_name', 'sidebar'))){
                $layout = 'col-2cl';
            }
            else{
                $layout = 'col-1c';
            }
        }

        return $layout;
    }
    add_filter('yena/get_site_layout', 'yena_dokan_override_vendor_site_layout', 20 );
}

if(!function_exists('yena_dokan_override_widget_args')){
    function yena_dokan_override_widget_args( $args ) {
        $args['before_widget'] = '<aside id="%1$s" class="sidebar-box widget dokan-store-widget %2$s">';
        return $args;
    }
    add_filter('dokan_store_widget_args', 'yena_dokan_override_widget_args');
}

if(!function_exists('yena_dokan_profile_social_fields')){
    function yena_dokan_profile_social_fields( $fields ){
        if(isset($fields['fb'])){
            $fields['fb']['icon'] = 'facebook';
        }
        if(isset($fields['twitter'])){
            $fields['twitter']['icon'] = 'twitter';
        }
        if(isset($fields['pinterest'])){
            $fields['pinterest']['icon'] = 'pinterest';
        }
        if(isset($fields['linkedin'])){
            $fields['linkedin']['icon'] = 'linkedin';
        }
        if(isset($fields['youtube'])){
            $fields['youtube']['icon'] = 'youtube';
        }
        if(isset($fields['instagram'])){
            $fields['instagram']['icon'] = 'instagram';
        }
        if(isset($fields['flickr'])){
            $fields['flickr']['icon'] = 'flickr';
        }
        return $fields;
    }
    add_filter('dokan_profile_social_fields', 'yena_dokan_profile_social_fields');
}