on' => 'single_post',
'default' => esc_html__( 'Related Posts', 'martfury' ),
'priority' => 20,
),
'related_posts_number' => array(
'type' => 'number',
'label' => esc_html__( 'Related Posts Number', 'martfury' ),
'section' => 'single_post',
'default' => '3',
'priority' => 20,
),
// Page Header Blog
'page_header_page' => array(
'type' => 'toggle',
'default' => 1,
'label' => esc_html__( 'Enable Page Header', 'martfury' ),
'section' => 'page_header_page',
'description' => esc_html__( 'Enable to show a page header for the page below the site header', 'martfury' ),
'priority' => 20,
),
'page_header_pages_els' => array(
'type' => 'multicheck',
'label' => esc_html__( 'Page Header Elements', 'martfury' ),
'section' => 'page_header_page',
'default' => array( 'breadcrumb', 'title' ),
'priority' => 20,
'choices' => array(
'breadcrumb' => esc_html__( 'BreadCrumb', 'martfury' ),
'title' => esc_html__( 'Title', 'martfury' ),
),
'description' => esc_html__( 'Select which elements you want to show.', 'martfury' ),
'active_callback' => array(
array(
'setting' => 'page_header_page',
'operator' => '==',
'value' => 1,
),
),
),
'custom_page_header_space' => array(
'type' => 'custom',
'section' => 'page_header_page',
'default' => '
',
'priority' => 20,
),
'page_header_pages_top_space' => array(
'type' => 'slider',
'label' => esc_html__( 'Top Space', 'martfury' ),
'section' => 'page_header_page',
'default' => 115,
'priority' => 20,
'choices' => array(
'min' => 0,
'max' => 200,
),
),
'page_header_pages_bottom_space' => array(
'type' => 'slider',
'label' => esc_html__( 'Bottom Space', 'martfury' ),
'section' => 'page_header_page',
'default' => 115,
'priority' => 20,
'choices' => array(
'min' => 0,
'max' => 200,
),
),
'page_layout' => array(
'type' => 'select',
'label' => esc_html__( 'Page Layout', 'martfury' ),
'default' => 'full-content',
'section' => 'single_page',
'priority' => 10,
'description' => esc_html__( 'Select default layout for page.', 'martfury' ),
'choices' => array(
'full-content' => esc_html__( 'Full Content', 'martfury' ),
'sidebar-content' => esc_html__( 'Sidebar Content', 'martfury' ),
'content-sidebar' => esc_html__( 'Content Sidebar', 'martfury' ),
),
),
// Footer
'footer_skin' => array(
'type' => 'select',
'label' => esc_html__( 'Footer Skin', 'martfury' ),
'section' => 'footer',
'default' => 'light',
'priority' => 20,
'choices' => array(
'light' => esc_html__( 'Light', 'martfury' ),
'gray' => esc_html__( 'Gray', 'martfury' ),
'custom' => esc_html__( 'Custom', 'martfury' ),
),
),
'footer_bg_color' => array(
'type' => 'color',
'label' => esc_html__( 'Custom Footer Skin', 'martfury' ),
'default' => '',
'section' => 'footer',
'priority' => 20,
'choices' => array(
'alpha' => true,
),
'active_callback' => array(
array(
'setting' => 'footer_skin',
'operator' => '==',
'value' => 'custom',
),
),
'transport' => 'postMessage',
'js_vars' => array(
array(
'element' => '.site-footer .footer-layout',
'property' => 'background-color',
),
)
),
'footer_heading_color' => array(
'type' => 'color',
'label' => esc_html__( 'Footer Heading Color', 'martfury' ),
'default' => '',
'section' => 'footer',
'priority' => 20,
'choices' => array(
'alpha' => true,
),
'active_callback' => array(
array(
'setting' => 'footer_skin',
'operator' => '==',
'value' => 'custom',
),
),
'transport' => 'postMessage',
'js_vars' => array(
array(
'element' => '.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer .widget .widget-title',
'property' => 'color',
),
)
),
'footer_text_color' => array(
'type' => 'color',
'label' => esc_html__( 'Footer Text Color', 'martfury' ),
'default' => '',
'section' => 'footer',
'priority' => 20,
'choices' => array(
'alpha' => true,
),
'active_callback' => array(
array(
'setting' => 'footer_skin',
'operator' => '==',
'value' => 'custom',
),
),
'transport' => 'postMessage',
'js_vars' => array(
array(
'element' => '.site-footer, .site-footer .footer-widgets .widget ul li a, .site-footer .footer-copyright, .site-footer .footer-links .widget_nav_menu ul li a, .site-footer .footer-payments .text',
'property' => 'color',
),
)
),
'footer_hover_color' => array(
'type' => 'color',
'label' => esc_html__( 'Footer Hover Color', 'martfury' ),
'default' => '',
'section' => 'footer',
'priority' => 20,
'choices' => array(
'alpha' => true,
),
'active_callback' => array(
array(
'setting' => 'footer_skin',
'operator' => '==',
'value' => 'custom',
),
),
'transport' => 'postMessage',
'js_vars' => array(
array(
'element' => '.site-footer .footer-widgets .widget ul li a:hover,.site-footer .footer-links .widget_nav_menu ul li a:hover',
'property' => 'color',
),
array(
'element' => '.site-footer .footer-widgets .widget ul li a:before, .site-footer .footer-links .widget_nav_menu ul li a:before',
'property' => 'background-color',
),
)
),
'footer_border_color' => array(
'type' => 'color',
'label' => esc_html__( 'Footer Border Color', 'martfury' ),
'default' => '',
'section' => 'footer',
'priority' => 20,
'choices' => array(
'alpha' => true,
),
'active_callback' => array(
array(
'setting' => 'footer_skin',
'operator' => '==',
'value' => 'custom',
),
),
'transport' => 'postMessage',
'js_vars' => array(
array(
'element' => '.site-footer .footer-newsletter, .site-footer .footer-info, .site-footer .footer-widgets, .site-footer .footer-links',
'property' => 'border-color',
),
array(
'element' => '.site-footer .footer-info .info-item-sep:after',
'property' => 'background-color',
),
)
),
'footer_full_width' => array(
'type' => 'toggle',
'label' => esc_html__( 'Footer Full Width', 'martfury' ),
'default' => '0',
'section' => 'footer',
'priority' => 20,
),
'footer_newsletter' => array(
'type' => 'toggle',
'label' => esc_html__( 'Show Footer Newsletter', 'martfury' ),
'section' => 'footer_newsletter',
'default' => 0,
'description' => esc_html__( 'Check this option to the newsletter in the footer.', 'martfury' ),
'priority' => 20,
),
'footer_newsletter_text' => array(
'type' => 'textarea',
'label' => esc_html__( 'Newsletter Text', 'martfury' ),
'section' => 'footer_newsletter',
'default' => '',
'priority' => 20,
),
'footer_newsletter_form' => array(
'type' => 'textarea',
'label' => esc_html__( 'Newsletter Form', 'martfury' ),
'description' => esc_html__( 'Enter the shortcode of MailChimp form', 'martfury' ),
'section' => 'footer_newsletter',
'default' => '',
'priority' => 20,
),
'custom_newsletter_form_2' => array(
'type' => 'custom',
'section' => 'footer_newsletter',
'default' => sprintf( '%s', admin_url( 'admin.php?page=mailchimp-for-wp-forms' ), esc_html__( 'Go to MailChimp form', 'martfury' ) ),
'priority' => 20,
),
'footer_info' => array(
'type' => 'toggle',
'label' => esc_html__( 'Show Footer Info', 'martfury' ),
'section' => 'footer_info',
'default' => 0,
'description' => esc_html__( 'Check this option to the info in the footer.', 'martfury' ),
'priority' => 20,
),
'footer_info_list' => array(
'type' => 'repeater',
'label' => esc_html__( 'Footer Info', 'martfury' ),
'section' => 'footer_info',
'priority' => 20,
'row_label' => array(
'type' => 'text',
'value' => esc_html__( 'Icon Box', 'martfury' ),
),
'fields' => array(
'icon' => array(
'type' => 'textarea',
'label' => esc_html__( 'Icon', 'martfury' ),
'default' => '',
),
'title' => array(
'type' => 'text',
'label' => esc_html__( 'Title', 'martfury' ),
'default' => '',
),
'desc' => array(
'type' => 'textarea',
'label' => esc_html__( 'Description', 'martfury' ),
'default' => '',
),
),
),
'footer_widgets' => array(
'type' => 'toggle',
'label' => esc_html__( 'Show Footer Widgets', 'martfury' ),
'section' => 'footer_widgets',
'default' => 1,
'priority' => 20,
),
'footer_widget_columns' => array(
'type' => 'select',
'label' => esc_html__( 'Footer Columns', 'martfury' ),
'section' => 'footer_widgets',
'default' => '4',
'description' => esc_html__( 'Go to Appearance - Widgets - Footer 1, 2, 3, 4, 5, 6 to add widgets content.', 'martfury' ),
'priority' => 20,
'choices' => array(
'4' => esc_html__( '4 Columns', 'martfury' ),
'3' => esc_html__( '3 Columns', 'martfury' ),
'5' => esc_html__( '5 Columns', 'martfury' ),
'6' => esc_html__( '6 Columns', 'martfury' ),
),
),
'footer_links' => array(
'type' => 'toggle',
'label' => esc_html__( 'Show Footer Links', 'martfury' ),
'section' => 'footer_links',
'default' => 1,
'description' => esc_html__( 'Go to Appearance > Widgets > Footer Links to add widgets content.', 'martfury' ),
'priority' => 20,
),
'footer_copyright' => array(
'type' => 'textarea',
'label' => esc_html__( 'Footer Copyright', 'martfury' ),
'description' => esc_html__( 'Shortcodes are allowed', 'martfury' ),
'section' => 'footer_copyright',
'default' => esc_html__( 'Copyright © 2020', 'martfury' ),
'priority' => 20,
),
'footer_payment_text' => array(
'type' => 'text',
'label' => esc_html__( 'Footer Payment Text', 'martfury' ),
'section' => 'footer_payment',
'priority' => 20,
),
'footer_payment_images' => array(
'type' => 'repeater',
'label' => esc_html__( 'Footer Images', 'martfury' ),
'section' => 'footer_payment',
'priority' => 40,
'row_label' => array(
'type' => 'text',
'value' => esc_html__( 'Image', 'martfury' ),
),
'fields' => array(
'image' => array(
'type' => 'image',
'label' => esc_html__( 'Image', 'martfury' ),
'default' => '',
),
'alt' => array(
'type' => 'text',
'label' => esc_html__( 'Alt Text', 'martfury' ),
'default' => '',
),
'link' => array(
'type' => 'text',
'label' => esc_html__( 'Link', 'martfury' ),
'default' => '',
),
),
),
// Recent viewed
'footer_recently_viewed' => array(
'type' => 'toggle',
'label' => esc_html__( 'Show Recently Viewed', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => 1,
'priority' => 90,
'description' => esc_html__( 'Check this option to show the recently viewed products above the footer.', 'martfury' ),
),
'footer_recently_viewed_layout' => array(
'type' => 'select',
'label' => esc_html__( 'Recently Viewed Layout', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => '1',
'priority' => 90,
'choices' => array(
'1' => esc_html__( 'Layout 1', 'martfury' ),
'2' => esc_html__( 'Layout 2', 'martfury' ),
),
),
'footer_recently_viewed_ajax' => array(
'type' => 'toggle',
'label' => esc_html__( 'Loading with AJAX', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => 1,
'priority' => 90,
'description' => esc_html__( 'Check this option to load the recently viewed products with AJAX.', 'martfury' ),
'active_callback' => array(
array(
'setting' => 'footer_recently_viewed_layout',
'operator' => '==',
'value' => '1',
),
),
),
'footer_recently_viewed_empty' => array(
'type' => 'toggle',
'label' => esc_html__( 'Hide Recently Viewed Empty', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => 1,
'priority' => 90,
'description' => esc_html__( 'Check this option to hide the recently viewed products when empty.', 'martfury' ),
'active_callback' => array(
array(
'setting' => 'footer_recently_viewed_layout',
'operator' => '==',
'value' => '1',
),
),
),
'footer_recently_viewed_pt' => array(
'type' => 'toggle',
'label' => esc_html__( 'No Padding Top', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => 0,
'priority' => 90,
'description' => esc_html__( 'Check this option to remove padding top of the recently viewed products. This option is used for the homepage only.', 'martfury' ),
'active_callback' => array(
array(
'setting' => 'footer_recently_viewed_layout',
'operator' => '==',
'value' => '1',
),
),
),
'footer_recently_viewed_no_bg' => array(
'type' => 'toggle',
'label' => esc_html__( 'No Background', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => 0,
'priority' => 90,
'description' => esc_html__( 'Check this option to disable background of the recently viewed products. This option is used for the homepage only.', 'martfury' ),
'active_callback' => array(
array(
'setting' => 'footer_recently_viewed_layout',
'operator' => '==',
'value' => '1',
),
),
),
'footer_recently_viewed_els' => array(
'type' => 'multicheck',
'label' => esc_html__( 'Show Recently Viewed in', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => array( 'homepage', 'catalog', 'single_product' ),
'priority' => 90,
'choices' => array(
'homepage' => esc_html__( 'HomePage', 'martfury' ),
'catalog' => esc_html__( 'Catalog', 'martfury' ),
'single_product' => esc_html__( 'Single Product', 'martfury' ),
'page' => esc_html__( 'Page', 'martfury' ),
'post' => esc_html__( 'Post', 'martfury' ),
'other' => esc_html__( 'Other Pages', 'martfury' ),
),
'description' => esc_html__( 'Check pages to show the recently viewed products above the footer.', 'martfury' ),
),
'footer_recently_viewed_title' => array(
'type' => 'text',
'label' => esc_html__( 'Recently Viewed Title', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => esc_html__( 'Your Recently Viewed Products', 'martfury' ),
'priority' => 90,
),
'footer_recently_viewed_number' => array(
'type' => 'number',
'label' => esc_html__( 'Products Per Page', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => 12,
'priority' => 90,
),
'footer_recently_viewed_link_text' => array(
'type' => 'text',
'label' => esc_html__( 'View All Text', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => '',
'priority' => 90,
),
'footer_recently_viewed_link_url' => array(
'type' => 'text',
'label' => esc_html__( 'View All URL', 'martfury' ),
'section' => 'footer_recently_viewed',
'default' => '',
'priority' => 90,
),
);
$catalog_layouts = array(
'shop_layout' => array(
'section' => 'shop_page',
'field' => 'shop',
'label' => esc_html__( 'Shop Layout', 'martfury' ),
'description' => esc_html__( 'Select default layout for shop.', 'martfury' ),
),
'products_cat_level_1_layout' => array(
'section' => 'product_cat_level_1_page',
'field' => 'products_cat_level_1',
'label' => esc_html__( 'Category Layout', 'martfury' ),
'description' => esc_html__( 'Select default layout for category level 1.', 'martfury' ),
),
);
$catalog_fields = array();
foreach ( $catalog_layouts as $layout ) {
$catalog_fields[ $layout['field'] . '_layout' ] = array(
'type' => 'select',
'label' => $layout['label'],
'default' => '10',
'section' => $layout['section'],
'description' => $layout['description'],
'priority' => 70,
'choices' => array(
'10' => esc_html__( 'Default', 'martfury' ),
'1' => esc_html__( 'Catalog Layout 1', 'martfury' ),
'2' => esc_html__( 'Catalog Layout 2', 'martfury' ),
'3' => esc_html__( 'Catalog Layout 3', 'martfury' ),
),
);
$catalog_fields[ $layout['field'] . '_els_1' ] = array(
'type' => 'multicheck',
'label' => $layout['label'] . ' ' . esc_html__( 'Elements', 'martfury' ),
'default' => array( 'banners', 'brands', 'categories', 'products_carousel', 'breadcrumb' ),
'section' => $layout['section'],
'priority' => 70,
'description' => esc_html__( 'Select which elements you want to show.', 'martfury' ),
'choices' => array(
'title' => esc_html__( 'Page Title', 'martfury' ),
'breadcrumb' => esc_html__( 'Breadcrumb', 'martfury' ),
'banners' => esc_html__( 'Banners', 'martfury' ),
'brands' => esc_html__( 'Brands', 'martfury' ),
'categories' => esc_html__( 'Categories Box', 'martfury' ),
'products_carousel' => esc_html__( 'Products Carousel', 'martfury' ),
),
'active_callback' => array(
array(
'setting' => $layout['field'] . '_layout',
'operator' => '==',
'value' => '1',
),
),
);
$catalog_fields[ $layout['field'] . '_els_2' ] = array(
'type' => 'multicheck',
'label' => $layout['label'] . ' ' . esc_html__( 'Elements', 'martfury' ),
'default' => array(
'title',
'top_categories',
'products_carousel',
'featured_categories',
'other_categories',
'breadcrumb'
),
'section' => $layout['section'],
'priority' => 70,
'description' => esc_html__( 'Select which elements you want to show.', 'martfury' ),
'choices' => array(
'title' => esc_html__( 'Page Title', 'martfury' ),
'breadcrumb' => esc_html__( 'Breadcrumb', 'martfury' ),
'top_categories' => esc_html__( 'Top Categories', 'martfury' ),
'products_carousel' => esc_html__( 'Products Carousel', 'martfury' ),
'featured_categories' => esc_html__( 'Featured Categories', 'martfury' ),
'other_categories' => esc_html__( 'Other Categories', 'martfury' ),
),
'active_callback' => array(
array(
'setting' => $layout['field'] . '_layout',
'operator' => '==',
'value' => '2',
),
),
);
$catalog_fields[ $layout['field'] . '_els_3' ] = array(
'type' => 'multicheck',
'label' => $layout['label'] . ' ' . esc_html__( 'Elements', 'martfury' ),
'default' => array( 'title', 'banners', 'products_carousel', 'breadcrumb' ),
'section' => $layout['section'],
'priority' => 70,
'description' => esc_html__( 'Select which elements you want to show.', 'martfury' ),
'choices' => array(
'title' => esc_html__( 'Page Title', 'martfury' ),
'breadcrumb' => esc_html__( 'Breadcrumb', 'martfury' ),
'banners' => esc_html__( 'Banners', 'martfury' ),
'products_carousel' => esc_html__( 'Products Carousel', 'martfury' ),
),
'active_callback' => array(
array(
'setting' => $layout['field'] . '_layout',
'operator' => '==',
'value' => '3',
),
),
);
$catalog_fields[ $layout['field'] . 'custom' ] = array(
'type' => 'custom',
'default' => '
',
'section' => $layout['section'],
'priority' => 70,
);
}
$catalog_fields['products_cat_level_1_els_10'] = array(
'type' => 'multicheck',
'label' => esc_html__( 'Category Layout Elements', 'martfury' ),
'default' => array( 'breadcrumb' ),
'section' => 'product_cat_level_1_page',
'priority' => 70,
'description' => esc_html__( 'Select which elements you want to show.', 'martfury' ),
'choices' => array(
'title' => esc_html__( 'Page Title', 'martfury' ),
'breadcrumb' => esc_html__( 'Breadcrumb', 'martfury' ),
'banners' => esc_html__( 'Banners', 'martfury' ),
),
'active_callback' => array(
array(
'setting' => 'products_cat_level_1_layout',
'operator' => '==',
'value' => '10',
),
),
);
$fields = array_merge( $fields, $catalog_fields );
if ( did_action( 'elementor/loaded' ) ) {
$fields = array_merge(
$fields, array(
// Other Catlog
'elementor_columns_space' => array(
'type' => 'toggle',
'label' => esc_html__( 'Remove Default Columns Space', 'martfury' ),
'section' => 'elementor',
'default' => 1,
'priority' => 90,
'description' => esc_html__( 'Check this option to remove the default padding top, padding bottom of columns', 'martfury' ),
),
)
);
}
$settings['panels'] = apply_filters( 'martfury_customize_panels', $panels );
$settings['sections'] = apply_filters( 'martfury_customize_sections', $sections );
$settings['fields'] = apply_filters( 'martfury_customize_fields', $fields );
return $settings;
}
$martfury_customize = new Martfury_Customize( martfury_customize_settings() );
// Fix downloaded fonts from Google.
if ( defined( 'KIRKI_VERSION' ) && version_compare( KIRKI_VERSION, '5.0.0', '<=' ) ) {
/**
* Change the http request headers of 'user-agent' to download .woff2 fonts frm Google.
*
* @param array $args
* @param string $url
*
* @return array
*/
function martfury_fix_kirki_fonts_request_headers( $args, $url ) {
if ( false === strpos( $url, 'https://fonts.googleapis.com/css' ) ) {
return $args;
}
if ( isset( $args['user-agent'] ) && $args['user-agent'] == 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8' ) {
$args['user-agent'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:73.0) Gecko/20100101 Firefox/73.0';
}
return $args;
}
add_filter( 'http_request_args', 'martfury_fix_kirki_fonts_request_headers', 10, 2 );
/**
* Fix incorrect fonts files downloaded from Google.
* Delete the Kirki's transients to force downloading font files again.
*
* @return void
*/
function martfury_fix_kirki_fonts() {
delete_transient( 'kirki_remote_url_contents' );
}
add_action( 'after_switch_theme', 'martfury_fix_kirki_fonts' );
add_action( 'wp_ajax_kirki_clear_font_cache', 'martfury_fix_kirki_fonts' );
}