init
This commit is contained in:
254
wp-content/themes/flatsome/inc/functions/function-upgrade.php
Normal file
254
wp-content/themes/flatsome/inc/functions/function-upgrade.php
Normal file
@@ -0,0 +1,254 @@
|
||||
<?php
|
||||
|
||||
// Fix options for next Flatsome version.
|
||||
|
||||
function flatsome_is_upgrading(){
|
||||
// Check if old depricated (not available in v3) option exist.
|
||||
$is_old = get_theme_mod('nav_position');
|
||||
if(!empty($is_old)) return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix content when upgrading to major version 3.0
|
||||
*/
|
||||
function flatsome_fix_old_content(){
|
||||
|
||||
// Upgrade to flatsome 3.0
|
||||
if(get_theme_mod('flatsome_version') < 3){
|
||||
|
||||
$options = get_theme_mods();
|
||||
|
||||
// Check if old content is installed
|
||||
if(flatsome_is_upgrading()){
|
||||
set_theme_mod('flatsome_fallback', 1);
|
||||
update_option('envato_setup_complete', time());
|
||||
} else {
|
||||
set_theme_mod('flatsome_fallback', 0);
|
||||
}
|
||||
|
||||
if(!isset($options['topbar_elements_left'])) set_theme_mod('topbar_elements_left', flatsome_topbar_elements_left());
|
||||
if(!isset($options['topbar_elements_right'])) set_theme_mod('topbar_elements_right', flatsome_topbar_elements_right());
|
||||
if(!isset($options['header_elements_left'])) set_theme_mod('header_elements_left', flatsome_header_elements_left());
|
||||
if(!isset($options['header_elements_right'])) set_theme_mod('header_elements_right', flatsome_header_elements_right());
|
||||
|
||||
if(!isset($options['header_elements_bottom_left'])) set_theme_mod('header_elements_bottom_left', flatsome_header_elements_bottom_left());
|
||||
if(!isset($options['header_elements_bottom_center'])) set_theme_mod('header_elements_bottom_center', flatsome_header_elements_bottom_center());
|
||||
if(!isset($options['header_elements_bottom_right'])) set_theme_mod('header_elements_bottom_right', flatsome_header_elements_bottom_right());
|
||||
|
||||
if(!isset($options['header_mobile_elements_left'])) set_theme_mod('header_mobile_elements_left', flatsome_header_mobile_elements_left());
|
||||
if(!isset($options['header_mobile_elements_right'])) set_theme_mod('header_mobile_elements_right', flatsome_header_mobile_elements_right());
|
||||
if(!isset($options['header_mobile_elements_top'])) set_theme_mod('header_mobile_elements_top', flatsome_header_mobile_elements_top());
|
||||
|
||||
if(!isset($options['mobile_sidebar'])) set_theme_mod('mobile_sidebar', flatsome_header_mobile_sidebar());
|
||||
if(!isset($options['product_layout'])) set_theme_mod('product_layout', flatsome_product_layout());
|
||||
if(!flatsome_is_upgrading()) set_theme_mod('payment_icons_placement', 'footer');
|
||||
|
||||
// Set follow icons
|
||||
if(!isset($options['follow_twitter'])) set_theme_mod('follow_twitter','http://url');
|
||||
if(!isset($options['follow_facebook'])) set_theme_mod('follow_facebook','http://url');
|
||||
if(!isset($options['follow_instagram'])) set_theme_mod('follow_instagram','http://url');
|
||||
if(!isset($options['follow_email'])) set_theme_mod('follow_email','your@email');
|
||||
|
||||
set_theme_mod('flatsome_version', 3);
|
||||
}
|
||||
}
|
||||
add_action( 'after_setup_theme', 'flatsome_fix_old_content');
|
||||
|
||||
$old_nav = get_theme_mod('nav_position');
|
||||
$old_nav_topbar = get_theme_mod('topbar_show');
|
||||
$old_search = get_theme_mod('search_pos');
|
||||
|
||||
function flatsome_topbar_elements_left(){
|
||||
global $old_nav, $old_nav_topbar;
|
||||
if($old_nav && !$old_nav_topbar) return array();
|
||||
|
||||
$options[] = 'html';
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
function flatsome_topbar_elements_right(){
|
||||
global $old_nav, $old_nav_topbar;
|
||||
if($old_nav && !$old_nav_topbar) return array();
|
||||
|
||||
$options = array('nav-top');
|
||||
|
||||
if(get_theme_mod('myaccount_dropdown') == 'top_bar'){
|
||||
$options[] = 'account';
|
||||
}
|
||||
if(get_theme_mod('show_cart') == 'top_bar'){
|
||||
$options[] = 'cart';
|
||||
}
|
||||
|
||||
if(!$old_nav) $options[] = 'newsletter';
|
||||
|
||||
if(!$old_nav) $options[] = 'social';
|
||||
|
||||
if($old_nav) $options[] = 'html-2';
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Header Main Left
|
||||
function flatsome_header_elements_left(){
|
||||
global $old_nav, $old_search;
|
||||
$options = array();
|
||||
|
||||
if($old_nav){
|
||||
if($old_nav == 'bottom' || $old_nav == 'bottom_center'){
|
||||
if($old_search == 'left') $options[] = 'search-form';
|
||||
}
|
||||
if($old_nav == 'top' && $old_search == 'left') $options[] = 'search';
|
||||
if($old_nav == 'top') $options[] = 'nav';
|
||||
if($old_nav == 'top' && $old_search == 'right') $options[] = 'search';
|
||||
if($old_nav == 'bottom_center' || $old_nav == 'bottom') $options[] = 'html-4';
|
||||
} else {
|
||||
$options[] = 'search';
|
||||
$options[] = 'nav';
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Header Main Right
|
||||
function flatsome_header_elements_right(){
|
||||
global $old_nav, $old_search;
|
||||
$cart = get_theme_mod('show_cart');
|
||||
$account = get_theme_mod('myaccount_dropdown');
|
||||
$options = array();
|
||||
|
||||
if($old_nav){
|
||||
|
||||
if($old_nav == 'top_right' && $old_search == 'left') $options[] = 'search';
|
||||
if($old_nav == 'top_right') $options[] = 'nav';
|
||||
if($old_nav == 'top_right' && $old_search == 'right') $options[] = 'search';
|
||||
|
||||
$options[] = 'html-3';
|
||||
|
||||
if(!empty($account) || $account == 1){
|
||||
$options[] = 'account';
|
||||
}
|
||||
if($cart == 1 && $account == 1){
|
||||
$options[] ='divider';
|
||||
}
|
||||
if(!empty($cart) || $cart == 1){
|
||||
$options[] = 'cart';
|
||||
}
|
||||
|
||||
} else{
|
||||
$options = array('account','divider','cart');
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Header Bottom Left
|
||||
function flatsome_header_elements_bottom_left(){
|
||||
global $old_nav, $old_search;
|
||||
$options = array();
|
||||
if($old_nav && $old_nav == 'bottom') $options[] = 'nav';
|
||||
if($old_nav && ($old_search == 'right' && $old_nav == 'bottom')) $options[] = 'search';
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Header Bottom Center
|
||||
function flatsome_header_elements_bottom_center(){
|
||||
global $old_nav, $old_search;
|
||||
$options = array();
|
||||
if($old_nav) {
|
||||
if($old_nav == 'bottom_center') $options[] = 'search';
|
||||
if($old_nav == 'bottom_center') $options[] = 'nav';
|
||||
if($old_nav == 'bottom_center' && $old_search == 'right') $options[] = 'search';
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Header Bottom Right
|
||||
function flatsome_header_elements_bottom_right(){
|
||||
global $old_nav, $old_search;
|
||||
$options = array();
|
||||
|
||||
if($old_nav == 'bottom') {
|
||||
$options[] = 'html-5';
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
|
||||
// Mobile Left
|
||||
function flatsome_header_mobile_elements_left(){
|
||||
$options = array('menu-icon');
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Mobile Sidebar
|
||||
function flatsome_header_mobile_sidebar(){
|
||||
global $old_nav, $old_nav_topbar;
|
||||
$options = array('search-form','nav',);
|
||||
$account = get_theme_mod('myaccount_dropdown');
|
||||
|
||||
if($old_nav_topbar){
|
||||
$options[]= 'divider';
|
||||
$options[]= 'nav-top';
|
||||
}
|
||||
|
||||
if(!$old_nav || $account == 1){
|
||||
$options[] = 'account';
|
||||
}
|
||||
|
||||
if(!$old_nav) $options[] = 'newsletter';
|
||||
if(!$old_nav) $options[] = 'social';
|
||||
|
||||
$options[] = 'html-2';
|
||||
$options[] = 'html-3';
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Mobile right
|
||||
function flatsome_header_mobile_elements_right(){
|
||||
global $old_nav, $old_search;
|
||||
$options = array();
|
||||
|
||||
if($old_nav){
|
||||
if(get_theme_mod('show_cart') == 1) $options[] = 'cart';
|
||||
} else{
|
||||
$options[] = 'cart';
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Mobile Top
|
||||
function flatsome_header_mobile_elements_top(){
|
||||
global $old_nav, $is_topbar;
|
||||
if($old_nav && !$is_topbar) return array();
|
||||
|
||||
$options = array('html');
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
// Fix old product sidebar layout
|
||||
function flatsome_product_layout() {
|
||||
$old_sidebar = get_theme_mod( 'product_sidebar' );
|
||||
if( isset( $old_sidebar ) ) {
|
||||
if( $old_sidebar === 'no_sidebar' ) {
|
||||
return 'right-sidebar-small';
|
||||
} else if( $old_sidebar === 'full_width' ) {
|
||||
return 'no-sidebar';
|
||||
} else if( $old_sidebar === 'left_sidebar' ) {
|
||||
return 'left-sidebar-full';
|
||||
} else if( $old_sidebar === 'right_sidebar' ) {
|
||||
return 'right-sidebar';
|
||||
} else if( $old_sidebar === 'right_sidebar_fullheight' ) {
|
||||
return 'right-sidebar-full';
|
||||
}
|
||||
return 'right-sidebar-small';
|
||||
} else {
|
||||
return 'right-sidebar-small';
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user