Notice: This thread is over two years old; the information may be outdated. Please consider creating a new thread if you require free support. If you have an active SiteOrigin Premium license, you can email our premium support desk at [email protected].
Fatal error: Cannot redeclare vantage_register_custom_background() (previously declared in /home/jkicards/public_html/jessiekrause.com/wp-content/themes/vantage-child/functions.php:124) in /home/jkicards/public_html/jessiekrause.com/wp-content/themes/vantage/functions.php on line 194
The functions.php in child theme for custom background came from support answers and worked until recent update.
P.S. Renamed child function.php to function_old.php to get site up.
P.S.S. Is the problem with this line in your code for the child theme function.php:
define( ‘SITEORIGIN_THEME_VERSION’ , ‘2.3.3’ );
define(‘SITEORIGIN_THEME_ENDPOINT’, ‘http://updates.siteorigin.com/’);
Does this code need to be updated each time vantage is updated?
Hi Robbarent
Vantage now comes with this function built in. It is available through Appearance->Customize->Theme Design->Page.
You should be able to safely remove that function from your child-theme’s function.php, but just to be certain could you please post that function within code tags in a reply.
Thanks
Magus
<?php /** * vantage functions and definitions * * @package vantage * @since vantage 1.0 * @license GPL 2.0 */ define( 'SITEORIGIN_THEME_VERSION' , '2.3.3' ); define('SITEORIGIN_THEME_ENDPOINT', 'http://updates.siteorigin.com/'); if( file_exists( get_template_directory() . '/premium/functions.php' ) ){ include get_template_directory() . '/premium/functions.php'; } else { include get_template_directory() . '/upgrade/upgrade.php'; } // Include all the SiteOrigin extras include get_template_directory() . '/extras/settings/settings.php'; include get_template_directory() . '/extras/premium/premium.php'; include get_template_directory() . '/extras/update/update.php'; include get_template_directory() . '/extras/adminbar/adminbar.php'; include get_template_directory() . '/extras/plugin-activation/plugin-activation.php'; include get_template_directory() . '/extras/metaslider/metaslider.php'; // Load the theme specific files include get_template_directory() . '/inc/panels.php'; include get_template_directory() . '/inc/settings.php'; include get_template_directory() . '/inc/extras.php'; include get_template_directory() . '/inc/template-tags.php'; include get_template_directory() . '/inc/gallery.php'; include get_template_directory() . '/inc/metaslider.php'; include get_template_directory() . '/inc/widgets.php'; include get_template_directory() . '/inc/menu.php'; include get_template_directory() . '/inc/woocommerce.php'; include get_template_directory() . '/tour/tour.php'; include get_template_directory() . '/fontawesome/icon-migration.php'; if ( ! function_exists( 'vantage_setup' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * * Note that this function is hooked into the after_setup_theme hook, which runs * before the init hook. The init hook is too late for some features, such as indicating * support post thumbnails. * * @since vantage 1.0 */ function vantage_setup() { // Initialize SiteOrigin settings siteorigin_settings_init(); // Make the theme translatable load_theme_textdomain( 'vantage', get_template_directory() . '/languages' ); // Add default posts and comments RSS feed links to head add_theme_support( 'automatic-feed-links' ); // Enable support for Post Thumbnails add_theme_support( 'post-thumbnails' ); add_theme_support( 'siteorigin-panels', array( 'home-page' => true, 'margin-bottom' => 35, 'home-page-default' => 'default-home', 'home-demo-template' => 'home-panels.php', 'responsive' => siteorigin_setting( 'layout_responsive' ), ) ); // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => __( 'Primary Menu', 'vantage' ), ) ); // Enable support for Post Formats add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link' ) ); // We support WooCommerce add_theme_support('woocommerce'); // define('WOOCOMMERCE_USE_CSS', false); set_post_thumbnail_size(720, 380, true); add_image_size('vantage-thumbnail-no-sidebar', 1080, 380, true); add_image_size('vantage-slide', 960, 480, true); add_image_size('vantage-carousel', 272, 182, true); add_image_size('vantage-grid-loop', 436, 272, true); add_theme_support( 'site-logo', array( 'size' => 'full', ) ); if( !defined('SITEORIGIN_PANELS_VERSION') && !siteorigin_plugin_activation_is_activating('siteorigin-panels') ){ // Only include panels lite if the panels plugin doesn't exist include get_template_directory() . '/inc/panels-lite/panels-lite.php'; } add_theme_support('siteorigin-premium-teaser', array( 'customizer' => true, 'settings' => true, )); global $content_width, $vantage_site_width; if ( ! isset( $content_width ) ) $content_width = 720; /* pixels */ if ( ! isset( $vantage_site_width ) ) { $vantage_site_width = siteorigin_setting('layout_bound') == 'full' ? 1080 : 1010; } } endif; // vantage_setup add_action( 'after_setup_theme', 'vantage_setup' ); /** * Setup the WordPress core custom background feature. * * @since vantage 1.0 */ function vantage_register_custom_background() { if(siteorigin_setting('layout_bound') == 'boxed') { $args = array( 'default-color' => 'e8e8e8', 'default-image' => '', ); $args = apply_filters( 'vantage_custom_background_args', $args ); add_theme_support( 'custom-background', $args ); } } add_action( 'after_setup_theme', 'vantage_register_custom_background' ); /** * Register widgetized area and update sidebar with default widgets * * @since vantage 1.0 */ function vantage_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar', 'vantage' ), 'id' => 'sidebar-1', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'Footer', 'vantage' ), 'id' => 'sidebar-footer', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); register_sidebar( array( 'name' => __( 'Header', 'vantage' ), 'id' => 'sidebar-header', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } add_action( 'widgets_init', 'vantage_widgets_init' ); function vantage_print_styles(){ if( !siteorigin_setting('layout_responsive') ) return; // Create the footer widget CSS $sidebars_widgets = wp_get_sidebars_widgets(); $count = isset($sidebars_widgets['sidebar-footer']) ? count($sidebars_widgets['sidebar-footer']) : 1; $count = max($count,1); ?> <style type="text/css" media="screen"> #footer-widgets .widget { width: <?php echo round(100/$count,3) . '%' ?>; } @media screen and (max-width: 640px) { #footer-widgets .widget { width: auto; float: none; } } </style> <?php } add_action('wp_head', 'vantage_print_styles', 11); /** * Register all the bundled scripts */ function vantage_register_scripts(){ wp_register_script( 'flexslider' , get_template_directory_uri() . '/js/jquery.flexslider.js' , array('jquery'), '2.1' ); } add_action( 'wp_enqueue_scripts', 'vantage_register_scripts' , 5); /** * Enqueue scripts and styles */ function vantage_scripts() { wp_enqueue_style( 'vantage-style', get_stylesheet_uri(), array(), SITEORIGIN_THEME_VERSION ); wp_enqueue_style( 'vantage-fontawesome', get_template_directory_uri().'/fontawesome/css/font-awesome.css', array(), '4.2.0' ); $js_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'flexslider' , get_template_directory_uri() . '/js/jquery.flexslider' . $js_suffix . '.js' , array('jquery'), '2.1' ); wp_enqueue_script( 'vantage-main' , get_template_directory_uri() . '/js/jquery.theme-main' . $js_suffix . '.js', array('jquery'), SITEORIGIN_THEME_VERSION ); if( siteorigin_setting( 'layout_fitvids' ) ) { wp_enqueue_script( 'fitvids' , get_template_directory_uri() . '/js/jquery.fitvids' . $js_suffix . '.js' , array('jquery'), '1.0' ); } if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } if ( is_singular() && wp_attachment_is_image() ) { wp_enqueue_script( 'keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation' . $js_suffix . '.js', array( 'jquery' ), '20120202' ); } } add_action( 'wp_enqueue_scripts', 'vantage_scripts' ); /** * Enqueue any webfonts we need */ function vantage_web_fonts(){ if( !siteorigin_setting('logo_image') ) { wp_enqueue_style('vantage-google-webfont-roboto', '//fonts.googleapis.com/css?family=Roboto:300'); } } add_action( 'wp_enqueue_scripts', 'vantage_scripts' ); /** * Add custom body classes. * * @param $classes * * @return array * @package vantage * @since 1.0 */ function vantage_body_class($classes){ if( siteorigin_setting('layout_responsive') ) $classes[] = 'responsive'; $classes[] = 'layout-'.siteorigin_setting('layout_bound'); $classes[] = 'no-js'; if( !is_active_sidebar('sidebar-1') ) { $classes[] = 'no-sidebar'; } if( wp_is_mobile() ) { $classes[] = 'mobile-device'; } if(siteorigin_setting('navigation_menu_search')) { $classes[] = 'has-menu-search'; } return $classes; } add_filter('body_class', 'vantage_body_class'); function vantage_wp_head(){ ?> <!--[if lt IE 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> <!--[if (gte IE 6)&(lte IE 8)]> <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/selectivizr.js"></script> <![endif]--> <?php } add_action('wp_head', 'vantage_wp_head'); /** * Display some text in the text area. */ function vantage_top_text_area(){ echo wp_kses_post( siteorigin_setting('logo_header_text') ); } add_action('vantage_support_text', 'vantage_top_text_area'); /** * Display the scroll to top link. */ function vantage_back_to_top() { if( !siteorigin_setting('navigation_display_scroll_to_top') ) return; ?><a href="#" id="scroll-to-top" title="<?php esc_attr_e('Back To Top', 'vantage') ?>"><span class="vantage-icon-arrow-up"></span></a><?php } add_action('wp_footer', 'vantage_back_to_top'); /** * @return mixed */ function vantage_get_query_variables(){ global $wp_query; $vars = $wp_query->query_vars; foreach($vars as $k => $v) { if(empty($vars[$k])) unset ($vars[$k]); } unset($vars['update_post_term_cache']); unset($vars['update_post_meta_cache']); unset($vars['cache_results']); unset($vars['comments_per_page']); return $vars; } /** * Render the slider. */ function vantage_render_slider(){ if( is_front_page() && siteorigin_setting('home_slider') != 'none' ) { $settings_slider = siteorigin_setting('home_slider'); if(!empty($settings_slider)) { $slider = $settings_slider; } } if( is_page() && get_post_meta(get_the_ID(), 'vantage_metaslider_slider', true) != 'none' ) { $page_slider = get_post_meta(get_the_ID(), 'vantage_metaslider_slider', true); if( !empty($page_slider) ) { $slider = $page_slider; } } if( empty($slider) ) return; global $vantage_is_main_slider; $vantage_is_main_slider = true; ?><div id="main-slider" <?php if( siteorigin_setting('home_slider_stretch') ) echo 'data-stretch="true"' ?>><?php if($slider == 'demo') get_template_part('slider/demo'); elseif( substr($slider, 0, 5) == 'meta:' ) { list($null, $slider_id) = explode(':', $slider); $slider_id = intval($slider_id); echo do_shortcode("[metaslider id=" . $slider_id . "]"); } ?></div><?php $vantage_is_main_slider = false; } function vantage_post_class_filter($classes){ $classes[] = 'post'; if( has_post_thumbnail() && !is_singular() ) { $classes[] = 'post-with-thumbnail'; $classes[] = 'post-with-thumbnail-' . siteorigin_setting('blog_featured_image_type'); } $classes = array_unique($classes); return $classes; } add_filter('post_class', 'vantage_post_class_filter'); /** * Filter the posted on parts to remove the ones disabled in settings. * * @param $parts * @return mixed */ function vantage_filter_vantage_post_on_parts($parts){ if(!siteorigin_setting('blog_post_author')) $parts['by'] = ''; if(!siteorigin_setting('blog_post_date')) $parts['on'] = ''; return $parts; } add_filter('vantage_post_on_parts', 'vantage_filter_vantage_post_on_parts'); /** * Get the site width. * * @return int The side width in pixels. */ function vantage_get_site_width(){ return apply_filters('vantage_site_width', !empty($GLOBALS['vantage_site_width']) ? $GLOBALS['vantage_site_width'] : 1080); } /** * Add the responsive header */ function vantage_responsive_header(){ if( siteorigin_setting('layout_responsive') ) { ?><meta name="viewport" content="width=device-width, initial-scale=1" /><?php } else { ?><meta name="viewport" content="width=1280" /><?php } } add_action('wp_head', 'vantage_responsive_header'); /** * Handles the site title, copyright symbol and year string replace for the Footer Copyright theme option. */ function vantage_footer_site_info_sub($copyright){ return str_replace( array('{site-title}', '{copyright}', '{year}'), array(get_bloginfo('name'), '©', date('Y')), $copyright ); } add_filter( 'vantage_site_info', 'vantage_footer_site_info_sub' ); function dhvc_woo_query_args_custom($query_args){ $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = '_sku'; $query_args['order'] = 'ASC'; return $query_args; } add_filter('dhvc_woo_query_args', 'dhvc_woo_query_args_custom',100,1);Hi Robbarent,
There is your problem. You Child theme’s function.php should not have been made as a copy of the Vantage Premium Function.php.
Please delete [b]everything[/b] from your child-theme’s function.php and replace it with this.
<?php /** * Enqueue the parent theme stylesheet. */ add_action( 'wp_enqueue_scripts', 'vantage_parent_style' ); function vantage_parent_style() { wp_enqueue_style( 'parent-theme', get_template_directory_uri() . '/style.css' ); } /** * Enqueue the child theme stylesheet. */ add_action( 'wp_enqueue_scripts', 'vantage_child_style', 20 ); function vantage_child_style() { wp_enqueue_style( 'child-theme', get_stylesheet_uri() ); } function dhvc_woo_query_args_custom($query_args){ $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = '_sku'; $query_args['order'] = 'ASC'; return $query_args; } add_filter('dhvc_woo_query_args', 'dhvc_woo_query_args_custom',100,1);This is the correct layout for a Child theme function.php, with your added functions at the bottom.
Let us know how you get on
Magus
Seems to work — Thanks.
I don’t know enough than to follow directions — that was what I did with the prior function.php.
Hi Robbarent
Am glad you are making progress in developing your site :)
Always feel free to open a new thread whenever you require support
@Magus thanks for the effort, much appreciated :)
Cheers